コード例 #1
0
        // Token: 0x060004F7 RID: 1271 RVA: 0x00019ED4 File Offset: 0x000180D4
        public override bool Combo(TargetManager targetManager, ComboModeMenu comboModeMenu)
        {
            AbilityHelper abilityHelper = new AbilityHelper(targetManager, comboModeMenu, this);

            if (this.spring.CancelChanneling(targetManager))
            {
                base.ComboSleeper.Sleep(0.1f);
                return(true);
            }
            if (abilityHelper.UseAbility(this.abyssal, true))
            {
                return(true);
            }
            if (abilityHelper.UseAbility(this.diffusal, true))
            {
                return(true);
            }
            if (abilityHelper.UseAbility(this.spring, true))
            {
                return(true);
            }
            if (abilityHelper.CanBeCastedHidden(this.spring) && abilityHelper.UseAbility(this.treeDance, true))
            {
                return(true);
            }
            Unit9 target = targetManager.Target;

            return((!target.IsRooted && !target.IsStunned && !target.IsHexed && abilityHelper.UseAbility(this.treeDance, 500f, 0f)) || ((base.Owner.HasModifier("modifier_monkey_king_quadruple_tap_bonuses") || (target.Distance(base.Owner) > 600f && target.HealthPercentage < 30f)) && abilityHelper.UseAbility(this.strike, true)) || abilityHelper.UseAbility(this.command, true) || abilityHelper.UseAbility(this.phase, true));
        }
コード例 #2
0
        public override bool Combo(TargetManager targetManager, ComboModeMenu comboModeMenu)
        {
            var abilityHelper = new AbilityHelper(targetManager, comboModeMenu, this);

            if (this.spring.CancelChanneling(targetManager))
            {
                this.ComboSleeper.Sleep(0.1f);
                return(true);
            }

            if (abilityHelper.UseAbility(this.abyssal))
            {
                return(true);
            }

            if (abilityHelper.UseAbility(this.diffusal))
            {
                return(true);
            }

            if (abilityHelper.UseAbility(this.spring))
            {
                return(true);
            }

            if (abilityHelper.CanBeCastedHidden(this.spring))
            {
                if (abilityHelper.UseAbility(this.treeDance))
                {
                    return(true);
                }
            }

            var target = targetManager.Target;

            if (!target.IsRooted && !target.IsStunned && !target.IsHexed)
            {
                if (abilityHelper.UseAbility(this.treeDance, 500, 0))
                {
                    return(true);
                }
            }

            var distance = this.Owner.Distance(target);

            if (this.Owner.HasModifier("modifier_monkey_king_quadruple_tap_bonuses") ||
                (distance > 600 || (distance > this.Owner.GetAttackRange(target) && target.Speed > this.Owner.Speed &&
                                    target.GetImmobilityDuration() <= 0)))
            {
                if (abilityHelper.UseAbility(this.strike))
                {
                    return(true);
                }
            }

            if (abilityHelper.UseAbility(this.command))
            {
                return(true);
            }

            if (abilityHelper.UseAbility(this.phase))
            {
                return(true);
            }

            return(false);
        }
コード例 #3
0
ファイル: TrollWarlord.cs プロジェクト: vana41203/O9K
        public override bool Combo(TargetManager targetManager, ComboModeMenu comboModeMenu)
        {
            var abilityHelper = new AbilityHelper(targetManager, comboModeMenu, this);

            if (abilityHelper.UseAbility(this.bkb, 500))
            {
                return(true);
            }

            var target      = targetManager.Target;
            var distance    = this.Owner.Distance(target);
            var attackRange = this.Owner.GetAttackRange(target);

            if (distance < 225 || distance > 575)
            {
                if (this.Owner.IsRanged && abilityHelper.UseAbility(this.rage))
                {
                    return(true);
                }
            }
            else
            {
                if (!this.Owner.IsRanged && abilityHelper.UseAbility(this.rage))
                {
                    return(true);
                }
            }

            if (abilityHelper.UseAbility(this.blink, 550, 0))
            {
                return(true);
            }

            if (abilityHelper.UseAbility(this.abyssal))
            {
                return(true);
            }

            if (abilityHelper.UseAbility(this.hex))
            {
                return(true);
            }

            if (abilityHelper.UseAbility(this.diffusal))
            {
                return(true);
            }

            if (abilityHelper.UseAbility(this.orchid))
            {
                return(true);
            }

            if (abilityHelper.UseAbility(this.bloodthorn))
            {
                return(true);
            }

            if (abilityHelper.UseAbility(this.nullifier))
            {
                return(true);
            }

            if (abilityHelper.UseAbility(this.axeMelee))
            {
                return(true);
            }

            if (!this.Owner.IsRanged && distance > 200 && abilityHelper.CanBeCastedHidden(this.axeRanged))
            {
                if (this.axeRanged.CanHit(targetManager, comboModeMenu) && abilityHelper.UseAbility(this.rage))
                {
                    return(true);
                }
            }

            if (abilityHelper.UseAbility(this.axeRanged))
            {
                return(true);
            }

            if (this.Owner.HealthPercentage < 20 && abilityHelper.UseAbility(this.trance, attackRange))
            {
                return(true);
            }

            if (abilityHelper.UseAbility(this.phase))
            {
                return(true);
            }

            if (!this.Owner.IsRanged)
            {
                if (abilityHelper.UseAbilityIfNone(this.mom, this.axeMelee, this.trance))
                {
                    return(true);
                }
            }

            return(false);
        }
コード例 #4
0
        // Token: 0x06000231 RID: 561 RVA: 0x0000F86C File Offset: 0x0000DA6C
        public override bool Combo(TargetManager targetManager, ComboModeMenu comboModeMenu)
        {
            AbilityHelper abilityHelper = new AbilityHelper(targetManager, comboModeMenu, this);
            Unit9         target        = targetManager.Target;
            float         num           = base.Owner.Distance(target);
            float         attackRange   = base.Owner.GetAttackRange(target, 0f);

            if (num < 225f || num > 575f)
            {
                if (base.Owner.IsRanged && abilityHelper.UseAbility(this.rage, true))
                {
                    return(true);
                }
            }
            else if (!base.Owner.IsRanged && abilityHelper.UseAbility(this.rage, true))
            {
                return(true);
            }
            return(abilityHelper.UseAbility(this.blink, 550f, 0f) || abilityHelper.UseAbility(this.abyssal, true) || abilityHelper.UseAbility(this.hex, true) || abilityHelper.UseAbility(this.diffusal, true) || abilityHelper.UseAbility(this.orchid, true) || abilityHelper.UseAbility(this.bloodthorn, true) || abilityHelper.UseAbility(this.nullifier, true) || abilityHelper.UseAbility(this.axeMelee, true) || (!base.Owner.IsRanged && num > 200f && abilityHelper.CanBeCastedHidden(this.axeRanged) && this.axeRanged.CanHit(targetManager, comboModeMenu) && abilityHelper.UseAbility(this.rage, true)) || abilityHelper.UseAbility(this.axeRanged, true) || abilityHelper.UseAbility(this.trance, attackRange) || abilityHelper.UseAbility(this.phase, true) || (!base.Owner.IsRanged && abilityHelper.UseAbilityIfNone(this.mom, new UsableAbility[]
            {
                this.axeMelee,
                this.trance
            })));
        }