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

            if (abilityHelper.CanBeCastedIfCondition(this.epicenter, new UsableAbility[]
            {
                this.blink,
                this.burrow
            }))
            {
                if (abilityHelper.UseAbility(this.sandstorm, true))
                {
                    return(true);
                }
                if (abilityHelper.UseAbility(this.epicenter, true))
                {
                    return(true);
                }
            }
            if (abilityHelper.UseDoubleBlinkCombo(this.force, this.blink, 300f))
            {
                return(true);
            }
            if (abilityHelper.UseBlinkLineCombo(this.blink, this.burrow))
            {
                return(true);
            }
            if (abilityHelper.UseAbility(this.burrow, true))
            {
                return(true);
            }
            if (abilityHelper.UseAbility(this.force, 800f, this.burrow.Ability.CastRange))
            {
                return(true);
            }
            float num = base.Owner.Distance(targetManager.Target);

            if (num < 450f && abilityHelper.UseAbility(this.veil, true))
            {
                return(true);
            }
            if (num < 450f && abilityHelper.UseAbility(this.shiva, true))
            {
                return(true);
            }
            if (base.Owner.HasModifier("modifier_sand_king_epicenter") && num < 450f && abilityHelper.UseAbilityIfNone(this.sandstorm, new UsableAbility[]
            {
                this.epicenter,
                this.burrow
            }))
            {
                base.ComboSleeper.Sleep(0.2f);
                return(true);
            }
            return(false);
        }
コード例 #2
0
        public override bool Combo(TargetManager targetManager, ComboModeMenu comboModeMenu)
        {
            var abilityHelper = new AbilityHelper(targetManager, comboModeMenu, this);

            if (abilityHelper.UseDoubleBlinkCombo(this.force, this.blink))
            {
                return(true);
            }

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

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

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

            if (abilityHelper.CanBeCastedIfCondition(this.blink, this.crush))
            {
                if (abilityHelper.UseAbility(this.bkb))
                {
                    return(true);
                }
            }

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

            if (abilityHelper.UseAbilityIfCondition(this.blink, this.crush))
            {
                return(true);
            }

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

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

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

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

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

            if (abilityHelper.UseAbility(this.bladeMail, 400))
            {
                return(true);
            }

            if (abilityHelper.UseAbility(this.armlet, 400))
            {
                return(true);
            }

            if (!abilityHelper.CanBeCasted(this.crush) && abilityHelper.UseAbility(this.amplify))
            {
                return(true);
            }

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

            return(false);
        }
コード例 #3
0
        // Token: 0x06000634 RID: 1588 RVA: 0x0001E5C4 File Offset: 0x0001C7C4
        public override bool Combo(TargetManager targetManager, ComboModeMenu comboModeMenu)
        {
            AbilityHelper abilityHelper = new AbilityHelper(targetManager, comboModeMenu, this);

            if (abilityHelper.CanBeCasted(this.blackHole, true, true, true, true))
            {
                if (abilityHelper.CanBeCasted(this.bkb, false, false, true, true) && abilityHelper.ForceUseAbility(this.bkb, false, true))
                {
                    return(true);
                }
                if (abilityHelper.HasMana(new UsableAbility[]
                {
                    this.pulse,
                    this.blackHole
                }) && abilityHelper.UseAbility(this.pulse, true))
                {
                    return(true);
                }
                if (abilityHelper.HasMana(new UsableAbility[]
                {
                    this.shiva,
                    this.blackHole
                }) && abilityHelper.UseAbility(this.shiva, true))
                {
                    return(true);
                }
                if (abilityHelper.UseAbility(this.blackHole, true))
                {
                    return(true);
                }
            }
            if (abilityHelper.CanBeCastedIfCondition(this.blink, new UsableAbility[]
            {
                this.blackHole
            }))
            {
                if (abilityHelper.CanBeCasted(this.bkb, false, false, true, true) && abilityHelper.ForceUseAbility(this.bkb, false, true))
                {
                    return(true);
                }
                if (abilityHelper.CanBeCasted(this.ghost, false, false, true, true) && abilityHelper.ForceUseAbility(this.ghost, false, true))
                {
                    return(true);
                }
            }
            if (abilityHelper.UseAbilityIfCondition(this.blink, new UsableAbility[]
            {
                this.blackHole
            }))
            {
                return(true);
            }
            if ((abilityHelper.CanBeCasted(this.refresher, true, true, true, true) || abilityHelper.CanBeCasted(this.refresherShard, true, true, true, true)) && abilityHelper.CanBeCasted(this.blackHole, true, true, true, false) && !this.blackHole.Ability.IsReady)
            {
                UntargetableAbility untargetableAbility = abilityHelper.CanBeCasted(this.refresherShard, true, true, true, true) ? this.refresherShard : this.refresher;
                if (abilityHelper.HasMana(new UsableAbility[]
                {
                    this.blackHole,
                    untargetableAbility
                }) && abilityHelper.UseAbility(untargetableAbility, true))
                {
                    return(true);
                }
            }
            return(abilityHelper.UseAbility(this.malefice, true));
        }
コード例 #4
0
ファイル: Axe.cs プロジェクト: vana41203/O9K
        public override bool Combo(TargetManager targetManager, ComboModeMenu comboModeMenu)
        {
            var abilityHelper = new AbilityHelper(targetManager, comboModeMenu, this);

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

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

            if (abilityHelper.CanBeCasted(this.blade, false) && !abilityHelper.CanBeCasted(this.blade))
            {
                if (abilityHelper.UseAbility(this.blink, 200, 0))
                {
                    return(true);
                }
            }

            if (abilityHelper.UseDoubleBlinkCombo(this.force, this.blink))
            {
                return(true);
            }

            if (abilityHelper.CanBeCastedIfCondition(this.blink, this.call))
            {
                if (abilityHelper.UseAbility(this.bkb))
                {
                    return(true);
                }
            }

            if (abilityHelper.UseAbility(this.call))
            {
                this.call.Sleeper.ExtendSleep(1);
                return(true);
            }

            if (abilityHelper.CanBeCasted(this.meteor))
            {
                if (targetManager.Target.HasModifier("modifier_axe_berserkers_call") && abilityHelper.UseAbility(this.meteor))
                {
                    return(true);
                }
            }

            if (abilityHelper.UseAbilityIfCondition(this.blink, this.call))
            {
                return(true);
            }

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

            if (!abilityHelper.CanBeCasted(this.call, false))
            {
                if (abilityHelper.UseAbility(this.bladeMail, 400))
                {
                    return(true);
                }
            }

            if (abilityHelper.UseAbility(this.mjollnir, 400))
            {
                return(true);
            }

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

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

            if (abilityHelper.CanBeCasted(this.hunger))
            {
                if (abilityHelper.CanBeCasted(this.call))
                {
                    return(false);
                }

                if (abilityHelper.CanBeCasted(this.meteor) && this.call?.Sleeper.IsSleeping == true)
                {
                    return(false);
                }

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

            return(false);
        }
コード例 #5
0
        // Token: 0x060009A3 RID: 2467 RVA: 0x0002A098 File Offset: 0x00028298
        public override bool Combo(TargetManager targetManager, ComboModeMenu comboModeMenu)
        {
            AbilityHelper abilityHelper = new AbilityHelper(targetManager, comboModeMenu, this);

            if (abilityHelper.UseAbility(this.bkb, 400f))
            {
                return(true);
            }
            if (abilityHelper.UseAbility(this.blade, true))
            {
                return(true);
            }
            if (abilityHelper.CanBeCasted(this.blade, false, true, true, true) && !abilityHelper.CanBeCasted(this.blade, true, true, true, true) && abilityHelper.UseAbility(this.blink, 200f, 0f))
            {
                return(true);
            }
            if (abilityHelper.UseDoubleBlinkCombo(this.force, this.blink, 0f))
            {
                return(true);
            }
            if (abilityHelper.CanBeCastedIfCondition(this.blink, new UsableAbility[]
            {
                this.call
            }) && abilityHelper.UseAbility(this.bkb, true))
            {
                return(true);
            }
            if (abilityHelper.UseAbility(this.call, true))
            {
                this.call.Sleeper.ExtendSleep(1f);
                return(true);
            }
            if (abilityHelper.CanBeCasted(this.meteor, true, true, true, true) && targetManager.Target.HasModifier("modifier_axe_berserkers_call") && abilityHelper.UseAbility(this.meteor, true))
            {
                return(true);
            }
            if (abilityHelper.UseAbilityIfCondition(this.blink, new UsableAbility[]
            {
                this.call
            }))
            {
                return(true);
            }
            if (abilityHelper.UseAbility(this.force, 500f, 0f))
            {
                return(true);
            }
            if (!abilityHelper.CanBeCasted(this.call, false, true, true, true) && abilityHelper.UseAbility(this.bladeMail, 400f))
            {
                return(true);
            }
            if (abilityHelper.UseAbility(this.mjollnir, 400f))
            {
                return(true);
            }
            if (abilityHelper.UseAbility(this.shiva, true))
            {
                return(true);
            }
            if (abilityHelper.UseAbility(this.dagon, true))
            {
                return(true);
            }
            if (abilityHelper.CanBeCasted(this.hunger, true, true, true, true))
            {
                if (abilityHelper.CanBeCasted(this.call, true, true, true, true))
                {
                    return(false);
                }
                if (abilityHelper.CanBeCasted(this.meteor, true, true, true, true))
                {
                    DisableAbility disableAbility = this.call;
                    if (disableAbility != null && disableAbility.Sleeper.IsSleeping)
                    {
                        return(false);
                    }
                }
                if (abilityHelper.UseAbility(this.hunger, true))
                {
                    return(true);
                }
            }
            return(false);
        }
コード例 #6
0
ファイル: Enigma.cs プロジェクト: ihatevim/Divine.Plugins
        public override bool Combo(TargetManager targetManager, ComboModeMenu comboModeMenu)
        {
            var abilityHelper = new AbilityHelper(targetManager, comboModeMenu, this);

            if (abilityHelper.CanBeCasted(this.blackHole))
            {
                if (abilityHelper.CanBeCasted(this.bkb, false, false))
                {
                    if (abilityHelper.ForceUseAbility(this.bkb))
                    {
                        return(true);
                    }
                }

                if (abilityHelper.HasMana(this.pulse, this.blackHole) && abilityHelper.UseAbility(this.pulse))
                {
                    return(true);
                }

                if (abilityHelper.HasMana(this.shiva, this.blackHole) && abilityHelper.UseAbility(this.shiva))
                {
                    return(true);
                }

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

            if (abilityHelper.CanBeCastedIfCondition(this.blink, this.blackHole))
            {
                if (abilityHelper.CanBeCasted(this.bkb, false, false))
                {
                    if (abilityHelper.ForceUseAbility(this.bkb))
                    {
                        return(true);
                    }
                }

                if (abilityHelper.CanBeCasted(this.ghost, false, false))
                {
                    if (abilityHelper.ForceUseAbility(this.ghost))
                    {
                        return(true);
                    }
                }
            }

            if (abilityHelper.UseAbilityIfCondition(this.blink, this.blackHole))
            {
                return(true);
            }

            if (abilityHelper.CanBeCasted(this.refresher) || abilityHelper.CanBeCasted(this.refresherShard))
            {
                if (abilityHelper.CanBeCasted(this.blackHole, true, true, true, false) && !this.blackHole.Ability.IsReady)
                {
                    var useRefresher = abilityHelper.CanBeCasted(this.refresherShard) ? this.refresherShard : this.refresher;

                    if (abilityHelper.HasMana(this.blackHole, useRefresher))
                    {
                        if (abilityHelper.UseAbility(useRefresher))
                        {
                            return(true);
                        }
                    }
                }
            }

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

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

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

            if (abilityHelper.CanBeCastedIfCondition(this.epicenter, this.blink, this.burrow))
            {
                if (abilityHelper.UseAbility(this.sandstorm))
                {
                    return(true);
                }

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

            if (abilityHelper.UseDoubleBlinkCombo(this.force, this.blink, 300))
            {
                return(true);
            }

            if (abilityHelper.UseBlinkLineCombo(this.blink, this.burrow))
            {
                return(true);
            }

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

            if (abilityHelper.UseAbility(this.force, 800, this.burrow.Ability.CastRange))
            {
                return(true);
            }

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

            if (distance < 450 && abilityHelper.UseAbility(this.veil))
            {
                return(true);
            }

            if (distance < 450 && abilityHelper.UseAbility(this.shiva))
            {
                return(true);
            }

            if (this.Owner.HasModifier("modifier_sand_king_epicenter") && distance < 450)
            {
                if (abilityHelper.UseAbilityIfNone(this.sandstorm, this.epicenter, this.burrow))
                {
                    this.ComboSleeper.Sleep(0.2f);
                    return(true);
                }
            }

            return(false);
        }
コード例 #8
0
        // Token: 0x06000349 RID: 841 RVA: 0x00013428 File Offset: 0x00011628
        public override bool Combo(TargetManager targetManager, ComboModeMenu comboModeMenu)
        {
            AbilityHelper abilityHelper = new AbilityHelper(targetManager, comboModeMenu, this);

            return(abilityHelper.UseDoubleBlinkCombo(this.force, this.blink, 0f) || abilityHelper.UseAbility(this.bloodthorn, true) || abilityHelper.UseAbility(this.orchid, true) || abilityHelper.UseAbility(this.nullifier, true) || (abilityHelper.CanBeCastedIfCondition(this.blink, new UsableAbility[]
            {
                this.crush
            }) && abilityHelper.UseAbility(this.bkb, true)) || abilityHelper.UseAbility(this.crush, true) || abilityHelper.UseAbilityIfCondition(this.blink, new UsableAbility[]
            {
                this.crush
            }) || abilityHelper.UseAbility(this.force, 500f, 0f) || abilityHelper.UseAbility(this.sprint, true) || abilityHelper.UseAbility(this.solar, true) || abilityHelper.UseAbility(this.halberd, true) || abilityHelper.UseAbility(this.medallion, true) || abilityHelper.UseAbility(this.bladeMail, 400f) || abilityHelper.UseAbility(this.armlet, 400f) || (!abilityHelper.CanBeCasted(this.crush, true, true, true, true) && abilityHelper.UseAbility(this.amplify, true)) || abilityHelper.UseAbility(this.phase, true));
        }