Ejemplo n.º 1
0
        // Token: 0x0600099C RID: 2460 RVA: 0x00029EC4 File Offset: 0x000280C4
        public override bool UseAbility(TargetManager targetManager, Sleeper comboSleeper, bool aoe)
        {
            Unit9 target = targetManager.Target;

            if (target.IsRuptured)
            {
                if (target.IsMoving)
                {
                    return(false);
                }
                if (!base.Ability.UseAbility(target, 1, false, false))
                {
                    return(false);
                }
            }
            if (!base.Ability.UseAbility(target, targetManager.EnemyHeroes, 1, 0, false, false))
            {
                return(false);
            }
            float num       = base.Ability.GetHitTime(target) + 0.5f;
            float castDelay = base.Ability.GetCastDelay(target);

            target.SetExpectedUnitState(base.Disable.AppliesUnitState, num);
            comboSleeper.Sleep(castDelay);
            base.OrbwalkSleeper.Sleep(castDelay);
            base.Sleeper.Sleep(num);
            return(true);
        }
Ejemplo n.º 2
0
        private bool Check(Unit9 ally, Unit9 enemy, List <Unit9> enemies, bool ignoreStatusCheck)
        {
            if (this.settings.MaxCastRange > 0 && enemy.Distance(ally) > this.settings.MaxCastRange)
            {
                return(false);
            }

            if (!ignoreStatusCheck)
            {
                if (!this.settings.HexStack && enemy.IsHexed)
                {
                    return(false);
                }

                if (!this.settings.SilenceStack && enemy.IsSilenced)
                {
                    return(false);
                }

                if (!this.settings.DisarmStack && enemy.IsDisarmed)
                {
                    return(false);
                }

                if (!this.settings.RootStack && enemy.IsRooted)
                {
                    return(false);
                }

                if (!this.settings.StunStack && enemy.IsStunned)
                {
                    return(false);
                }
            }

            if (enemy.IsDarkPactProtected)
            {
                return(false);
            }

            if (this.Ability.UnitTargetCast && enemy.IsBlockingAbilities)
            {
                return(false);
            }

            if (this.settings.Delay > 0)
            {
                UpdateManager.BeginInvoke(this.settings.Delay, () => this.Ability.UseAbility(enemy, enemies, HitChance.Medium, this.settings.EnemiesCount));
            }
            else
            {
                this.Ability.UseAbility(enemy, enemies, HitChance.Medium, this.settings.EnemiesCount);
            }

            enemy.SetExpectedUnitState(
                this.Disable.AppliesUnitState,
                this.Ability.GetHitTime(enemy.Position) + (this.settings.Delay / 1000f) + 0.3f);
            return(true);
        }
Ejemplo n.º 3
0
        public void SetTimings(Unit9 target)
        {
            var hitTime = this.Ability.GetHitTime(target) + 0.5f;

            this.OrbwalkSleeper.Sleep(this.Ability.Owner.Handle, this.Ability.GetCastDelay(target) + 0.1f);
            this.AbilitySleeper.Sleep(this.Ability.Handle, hitTime + 0.1f);
            this.TargetSleeper.Sleep(target.Handle, 0.05f);
            target.SetExpectedUnitState(this.Disable.AppliesUnitState, hitTime);
        }
        // Token: 0x060008E8 RID: 2280 RVA: 0x00027F74 File Offset: 0x00026174
        public void SetTimings(Unit9 target)
        {
            float num = base.Ability.GetHitTime(target) + 0.5f;

            base.OrbwalkSleeper.Sleep(base.Ability.Owner.Handle, base.Ability.GetCastDelay(target) + 0.1f);
            base.AbilitySleeper.Sleep(base.Ability.Handle, num + 0.1f);
            base.TargetSleeper.Sleep(target.Handle, 0.05f);
            target.SetExpectedUnitState(this.Disable.AppliesUnitState, num);
        }
Ejemplo n.º 5
0
        public override bool Use(Unit9 ally, Unit9 enemy, IObstacle obstacle)
        {
            this.MoveCamera(enemy.Position);
            var use = this.ActiveAbility.UseAbility(enemy, HitChance.Medium, false, true);

            if (use)
            {
                enemy.SetExpectedUnitState(this.AppliesUnitState, this.ActiveAbility.GetHitTime(enemy) + 0.3f);
            }

            return(use);
        }
Ejemplo n.º 6
0
        // Token: 0x06000174 RID: 372 RVA: 0x0000D470 File Offset: 0x0000B670
        public override bool UseAbility(TargetManager targetManager, Sleeper comboSleeper, bool aoe)
        {
            Unit9 unit = this.shackleTarget ?? targetManager.Target;

            if (!base.Ability.UseAbility(unit, false, false))
            {
                return(false);
            }
            float num       = base.Ability.GetHitTime(unit) + 0.5f;
            float castDelay = base.Ability.GetCastDelay(unit);

            unit.SetExpectedUnitState(base.Disable.AppliesUnitState, num);
            Unit9 unit2 = this.shackleTarget;

            if (unit2 != null && !unit2.Equals(targetManager.Target))
            {
                targetManager.Target.SetExpectedUnitState(base.Disable.AppliesUnitState, num);
            }
            comboSleeper.Sleep(castDelay);
            base.OrbwalkSleeper.Sleep(castDelay);
            base.Sleeper.Sleep(num);
            this.shackleTarget = null;
            return(true);
        }