public DarkWillow(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.dark_willow_bramble_maze, x => this.maze = new BrambleMaze(x) }, { AbilityId.dark_willow_shadow_realm, x => this.realm = new ShadowRealm(x) }, { AbilityId.dark_willow_cursed_crown, x => this.crown = new DebuffAbility(x) }, { AbilityId.dark_willow_bedlam, x => this.bedlam = new NukeAbility(x) }, { AbilityId.dark_willow_terrorize, x => this.terror = new DisableAbility(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_cyclone, x => this.eul = new EulsScepterOfDivinityDarkWillow(x) }, { AbilityId.item_veil_of_discord, x => this.veil = new DebuffAbility(x) }, { AbilityId.item_force_staff, x => this.force = new ForceStaff(x) }, { AbilityId.item_spirit_vessel, x => this.vessel = new DebuffAbility(x) }, { AbilityId.item_urn_of_shadows, x => this.urn = new DebuffAbility(x) }, { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_rod_of_atos, x => this.atos = new DisableAbility(x) }, }; this.MoveComboAbilities.Add(AbilityId.dark_willow_shadow_realm, x => this.moveRealm = new ShieldAbility(x)); this.MoveComboAbilities.Add(AbilityId.dark_willow_cursed_crown, x => this.moveCrown = new DisableAbility(x)); }
public Slark(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.slark_dark_pact, x => this.pact = new NukeAbility(x) }, { AbilityId.slark_pounce, x => this.pounce = new Pounce(x) }, { AbilityId.slark_shadow_dance, x => this.dance = new ShadowDance(x) }, { AbilityId.item_phase_boots, x => this.phase = new SpeedBuffAbility(x) }, { AbilityId.item_abyssal_blade, x => this.abyssal = new DisableAbility(x) }, { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_swift_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_arcane_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_overwhelming_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_solar_crest, x => this.solar = new DebuffAbility(x) }, { AbilityId.item_medallion_of_courage, x => this.medallion = new DebuffAbility(x) }, { AbilityId.item_diffusal_blade, x => this.diffusal = new DebuffAbility(x) }, { AbilityId.item_silver_edge, x => this.silver = new BuffAbility(x) }, { AbilityId.item_invis_sword, x => this.shadow = new BuffAbility(x) }, }; this.MoveComboAbilities.Add(AbilityId.slark_pounce, x => this.pounceBlink = new ForceStaff(x)); }
public Slardar(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.slardar_sprint, x => this.sprint = new BuffAbility(x) }, { AbilityId.slardar_slithereen_crush, x => this.crush = new DisableAbility(x) }, { AbilityId.slardar_amplify_damage, x => this.amplify = new DebuffAbility(x) }, { AbilityId.item_phase_boots, x => this.phase = new SpeedBuffAbility(x) }, { AbilityId.item_blink, x => this.blink = new BlinkDaggerAOE(x) }, { AbilityId.item_force_staff, x => this.force = new ForceStaff(x) }, { AbilityId.item_blade_mail, x => this.bladeMail = new ShieldAbility(x) }, { AbilityId.item_black_king_bar, x => this.bkb = new ShieldAbility(x) }, { AbilityId.item_armlet, x => this.armlet = new BuffAbility(x) }, { AbilityId.item_solar_crest, x => this.solar = new DebuffAbility(x) }, { AbilityId.item_medallion_of_courage, x => this.medallion = new DebuffAbility(x) }, { AbilityId.item_heavens_halberd, x => this.halberd = new DisableAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, }; this.MoveComboAbilities.Add(AbilityId.slardar_slithereen_crush, _ => this.crush); this.MoveComboAbilities.Add(AbilityId.slardar_sprint, _ => this.sprint); }
public Mars(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.mars_spear, x => this.spear = new SpearOfMars(x) }, { AbilityId.mars_gods_rebuke, x => this.rebuke = new GodsRebuke(x) }, { AbilityId.mars_arena_of_blood, x => this.arena = new ArenaOfBlood(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_swift_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_arcane_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_overwhelming_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_blade_mail, x => this.bladeMail = new ShieldAbility(x) }, { AbilityId.item_black_king_bar, x => this.bkb = new ShieldAbility(x) }, { AbilityId.item_heavens_halberd, x => this.halberd = new DisableAbility(x) }, { AbilityId.item_armlet, x => this.armlet = new BuffAbility(x) }, { AbilityId.item_abyssal_blade, x => this.abyssal = new DisableAbility(x) }, { AbilityId.item_solar_crest, x => this.solar = new DebuffAbility(x) }, { AbilityId.item_medallion_of_courage, x => this.medallion = new DebuffAbility(x) }, { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) }, }; }
public TrollWarlord(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.troll_warlord_berserkers_rage, x => this.rage = new UntargetableAbility(x) }, { AbilityId.troll_warlord_whirling_axes_melee, x => this.axeMelee = new NukeAbility(x) }, { AbilityId.troll_warlord_whirling_axes_ranged, x => this.axeRanged = new NukeAbility(x) }, { AbilityId.troll_warlord_battle_trance, x => this.trance = new ShieldAbility(x) }, { AbilityId.item_phase_boots, x => this.phase = new SpeedBuffAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_diffusal_blade, x => this.diffusal = new DebuffAbility(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_swift_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_arcane_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_overwhelming_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_mask_of_madness, x => this.mom = new BuffAbility(x) }, { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) }, { AbilityId.item_black_king_bar, x => this.bkb = new ShieldAbility(x) }, { AbilityId.item_abyssal_blade, x => this.abyssal = new DisableAbility(x) }, }; }
public Riki(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.riki_smoke_screen, x => this.smoke = new SmokeScreen(x) }, { AbilityId.riki_blink_strike, x => this.blinkStrike = new NukeAbility(x) }, { AbilityId.riki_tricks_of_the_trade, x => this.tricks = new TricksOfTheTrade(x) }, { AbilityId.item_phase_boots, x => this.phase = new SpeedBuffAbility(x) }, { AbilityId.item_abyssal_blade, x => this.abyssal = new DisableAbility(x) }, { AbilityId.item_diffusal_blade, x => this.diffusal = new DebuffAbility(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_swift_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_arcane_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_overwhelming_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_solar_crest, x => this.solar = new DebuffAbility(x) }, { AbilityId.item_medallion_of_courage, x => this.medallion = new DebuffAbility(x) }, { AbilityId.item_rod_of_atos, x => this.atos = new DisableAbility(x) }, { AbilityId.item_gungir, x => this.gungir = new DisableAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, }; }
public Spectre(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.spectre_spectral_dagger, x => this.dagger = new NukeAbility(x) }, { AbilityId.spectre_reality, x => this.reality = new Reality(x) }, { AbilityId.spectre_haunt, x => this.haunt = new Haunt(x) }, { (AbilityId)7851, x => this.shadowStep = new TargetableAbility(x) }, { AbilityId.item_phase_boots, x => this.phase = new SpeedBuffAbility(x) }, { AbilityId.item_diffusal_blade, x => this.diffusal = new DebuffAbility(x) }, { AbilityId.item_abyssal_blade, x => this.abyssal = new DisableAbility(x) }, { AbilityId.item_manta, x => this.manta = new BuffAbility(x) }, { AbilityId.item_spirit_vessel, x => this.vessel = new DebuffAbility(x) }, { AbilityId.item_urn_of_shadows, x => this.urn = new DebuffAbility(x) }, { AbilityId.item_black_king_bar, x => this.bkb = new ShieldAbility(x) }, { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, }; this.MoveComboAbilities.Add(AbilityId.spectre_spectral_dagger, x => this.daggerMove = new DaggerMove(x)); }
public VoidSpirit(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.void_spirit_aether_remnant, x => this.remnant = new AetherRemnant(x) }, { AbilityId.void_spirit_dissimilate, x => this.dissimilate = new Dissimilate(x) }, { AbilityId.void_spirit_resonant_pulse, x => this.pulse = new NukeAbility(x) }, { AbilityId.void_spirit_astral_step, x => this.step = new NukeAbility(x) }, { AbilityId.item_phase_boots, x => this.phase = new SpeedBuffAbility(x) }, { AbilityId.item_black_king_bar, x => this.bkb = new ShieldAbility(x) }, { AbilityId.item_mjollnir, x => this.mjollnir = new ShieldAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_shivas_guard, x => this.shiva = new DebuffAbility(x) }, { AbilityId.item_veil_of_discord, x => this.veil = new DebuffAbility(x) }, { AbilityId.item_cyclone, x => this.eul = new DisableAbility(x) }, { AbilityId.item_dagon_5, x => this.dagon = new NukeAbility(x) }, { AbilityId.item_spirit_vessel, x => this.vessel = new DebuffAbility(x) }, { AbilityId.item_urn_of_shadows, x => this.urn = new DebuffAbility(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) }, }; }
public EmberSpirit(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.ember_spirit_searing_chains, x => this.chains = new SearingChains(x) }, { AbilityId.ember_spirit_sleight_of_fist, x => this.fist = new SleightOfFist(x) }, { AbilityId.ember_spirit_flame_guard, x => this.shield = new ShieldAbility(x) }, { AbilityId.ember_spirit_fire_remnant, x => this.remnant = new FireRemnant(x) }, { AbilityId.ember_spirit_activate_fire_remnant, x => this.remnantActivate = new ActivateFireRemnant(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_swift_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_arcane_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_overwhelming_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_veil_of_discord, x => this.veil = new DebuffAbility(x) }, { AbilityId.item_shivas_guard, x => this.shiva = new DebuffAbility(x) }, { AbilityId.item_blade_mail, x => this.bladeMail = new ShieldAbility(x) }, { AbilityId.item_mjollnir, x => this.mjollnir = new ShieldAbility(x) }, { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, }; this.MoveComboAbilities.Add(AbilityId.ember_spirit_fire_remnant, x => this.remnantBlink = new FireRemnantBlink(x)); this.MoveComboAbilities.Add( AbilityId.ember_spirit_activate_fire_remnant, x => this.remnantActivateBlink = new ActivateFireRemnantBlink(x)); }
public LegionCommander(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.legion_commander_overwhelming_odds, x => this.odds = new OverwhelmingOdds(x) }, { AbilityId.legion_commander_press_the_attack, x => this.attack = new BuffAbility(x) }, { AbilityId.legion_commander_duel, x => this.duel = new Duel(x) }, { AbilityId.item_blink, x => this.blink = new LegionBlink(x) }, { AbilityId.item_swift_blink, x => this.blink = new LegionBlink(x) }, { AbilityId.item_arcane_blink, x => this.blink = new LegionBlink(x) }, { AbilityId.item_overwhelming_blink, x => this.blink = new LegionBlink(x) }, { AbilityId.item_phase_boots, x => this.phase = new SpeedBuffAbility(x) }, { AbilityId.item_blade_mail, x => this.bladeMail = new ShieldAbility(x) }, { AbilityId.item_black_king_bar, x => this.bkb = new ShieldAbility(x) }, { AbilityId.item_solar_crest, x => this.solar = new DebuffAbility(x) }, { AbilityId.item_medallion_of_courage, x => this.medallion = new DebuffAbility(x) }, { AbilityId.item_heavens_halberd, x => this.halberd = new DisableAbility(x) }, { AbilityId.item_mjollnir, x => this.mjollnir = new ShieldAbility(x) }, { AbilityId.item_armlet, x => this.armlet = new BuffAbility(x) }, { AbilityId.item_abyssal_blade, x => this.abyssal = new DisableAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, }; }
public SkywrathMage(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.skywrath_mage_arcane_bolt, x => this.bolt = new NukeAbility(x) }, { AbilityId.skywrath_mage_ancient_seal, x => this.seal = new DebuffAbility(x) }, { AbilityId.skywrath_mage_concussive_shot, x => this.concussive = new DebuffAbility(x) }, { AbilityId.skywrath_mage_mystic_flare, x => this.flare = new MysticFlare(x) }, { AbilityId.item_rod_of_atos, x => this.atos = new DisableAbility(x) }, { AbilityId.item_gungir, x => this.gungir = new DisableAbility(x) }, { AbilityId.item_veil_of_discord, x => this.veil = new DebuffAbility(x) }, { AbilityId.item_force_staff, x => this.force = new ForceStaff(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_swift_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_arcane_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_overwhelming_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_sheepstick, x => this.hex = new HexSkywrath(x) }, { AbilityId.item_ethereal_blade, x => this.ethereal = new EtherealBlade(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_dagon_5, x => this.dagon = new NukeAbility(x) }, }; this.MoveComboAbilities.Add(AbilityId.skywrath_mage_ancient_seal, _ => this.seal); this.MoveComboAbilities.Add(AbilityId.skywrath_mage_concussive_shot, _ => this.concussive); }
private void ItemChecker() { foreach (var item in LocalHero.Inventory.MainItems) { if (IsBlink(item)) { Blink = new Blink(item, Context); } if (IsOrchid(item)) { Orchid = new Orchid(item, Context); } if (item.Id == AbilityId.item_black_king_bar && BlackKingBar == null) { BlackKingBar = new BlackKingBar(item, Context); } if (item.Id == AbilityId.item_manta && Manta == null) { Manta = new Manta(item, Context); } if (item.Id == AbilityId.item_sheepstick && Hex == null) { Hex = new Hex(item, Context); } if (item.Id == AbilityId.item_nullifier && Nullifier == null) { Nullifier = new Nullifier(item, Context); } } }
public TemplarAssassin(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.templar_assassin_refraction, x => this.refraction = new BuffAbility(x) }, { AbilityId.templar_assassin_meld, x => this.meld = new NukeAbility(x) }, { AbilityId.templar_assassin_psionic_trap, x => this.trap = new Abilities.PsionicTrap(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_swift_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_arcane_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_overwhelming_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_force_staff, x => this.force = new ForceStaff(x) }, { AbilityId.item_hurricane_pike, x => this.pike = new HurricanePike(x) }, { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) }, { AbilityId.item_solar_crest, x => this.solar = new DebuffAbility(x) }, { AbilityId.item_medallion_of_courage, x => this.medallion = new DebuffAbility(x) }, }; this.MoveComboAbilities.Add(AbilityId.templar_assassin_refraction, _ => this.refraction); }
public Grimstroke(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.grimstroke_dark_artistry, x => this.stroke = new DebuffAbility(x) }, { AbilityId.grimstroke_ink_creature, x => this.embrace = new DisableAbility(x) }, { AbilityId.grimstroke_spirit_walk, x => this.ink = new InkSwell(x) }, { AbilityId.grimstroke_soul_chain, x => this.bind = new Soulbind(x) }, { (AbilityId)7852, x => this.portrait = new TargetableAbility(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_swift_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_arcane_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_overwhelming_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_ethereal_blade, x => this.ethereal = new EtherealBlade(x) }, { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) }, { AbilityId.item_shivas_guard, x => this.shiva = new DebuffAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_rod_of_atos, x => this.atos = new DisableAbility(x) }, { AbilityId.item_gungir, x => this.gungir = new DisableAbility(x) }, { AbilityId.item_veil_of_discord, x => this.veil = new DebuffAbility(x) }, { AbilityId.item_heavens_halberd, x => this.halberd = new DisableAbility(x) }, { AbilityId.item_dagon_5, x => this.dagon = new GrimstrokeDagon(x) }, }; }
public Juggernaut(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.juggernaut_blade_fury, x => this.bladeFury = new NukeAbility(x) }, { AbilityId.juggernaut_healing_ward, x => this.ward = new HealingWard(x) }, { (AbilityId)419, x => this.slash = new Omnislash(x) }, { AbilityId.juggernaut_omni_slash, x => this.omni = new Omnislash(x) }, { AbilityId.item_phase_boots, x => this.phase = new SpeedBuffAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_diffusal_blade, x => this.diffusal = new DebuffAbility(x) }, { AbilityId.item_abyssal_blade, x => this.abyssal = new DisableAbility(x) }, { AbilityId.item_manta, x => this.manta = new BuffAbility(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_swift_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_arcane_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_overwhelming_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_mjollnir, x => this.mjollnir = new ShieldAbility(x) }, }; this.MoveComboAbilities.Add(AbilityId.juggernaut_blade_fury, x => this.bladeFuryShield = new ShieldAbility(x)); }
public Necrophos(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.necrolyte_death_pulse, x => this.pulse = new NukeAbility(x) }, { AbilityId.necrolyte_sadist, x => this.shroud = new ShieldAbility(x) }, { AbilityId.necrolyte_reapers_scythe, x => this.scythe = new NukeAbility(x) }, { AbilityId.item_phase_boots, x => this.phase = new SpeedBuffAbility(x) }, { AbilityId.item_blade_mail, x => this.bladeMail = new ShieldAbility(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_swift_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_arcane_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_overwhelming_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_veil_of_discord, x => this.veil = new DebuffAbility(x) }, { AbilityId.item_ethereal_blade, x => this.ethereal = new EtherealBlade(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_rod_of_atos, x => this.atos = new DisableAbility(x) }, { AbilityId.item_gungir, x => this.gungir = new DisableAbility(x) }, { AbilityId.item_shivas_guard, x => this.shiva = new DebuffAbility(x) }, { AbilityId.item_dagon_5, x => this.dagon = new NukeAbility(x) }, }; }
public Windranger(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.windranger = owner as BaseWindranger; this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.windrunner_shackleshot, x => { this.shackleshot = new Shackleshot(x); if (this.powershot != null) { this.powershot.Shackleshot = this.shackleshot; } return(this.shackleshot); } }, { AbilityId.windrunner_powershot, x => { this.powershot = new Powershot(x); if (this.shackleshot != null) { this.powershot.Shackleshot = this.shackleshot; } return(this.powershot); } }, { AbilityId.windrunner_windrun, x => this.windrun = new Windrun(x) }, { AbilityId.windrunner_focusfire, x => this.focusFire = new FocusFire(x) }, { AbilityId.item_phase_boots, x => this.phase = new SpeedBuffAbility(x) }, { AbilityId.item_blink, x => this.blink = new BlinkDaggerWindranger(x) }, { AbilityId.item_swift_blink, x => this.blink = new BlinkDaggerWindranger(x) }, { AbilityId.item_arcane_blink, x => this.blink = new BlinkDaggerWindranger(x) }, { AbilityId.item_overwhelming_blink, x => this.blink = new BlinkDaggerWindranger(x) }, //{ AbilityId.item_force_staff, x => this.force = new ForceStaff(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) }, }; this.MoveComboAbilities.Add(AbilityId.windrunner_shackleshot, _ => this.shackleshot); this.MoveComboAbilities.Add(AbilityId.windrunner_windrun, x => this.windrunMove = new MoveBuffAbility(x)); }
public ShadowFiend(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.nevermore_shadowraze1, x => { var raze = new NukeAbility(x); this.razes.Add(raze); return(raze); } }, { AbilityId.nevermore_shadowraze2, x => { var raze = new NukeAbility(x); this.razes.Add(raze); return(raze); } }, { AbilityId.nevermore_shadowraze3, x => { var raze = new NukeAbility(x); this.razes.Add(raze); return(raze); } }, { AbilityId.nevermore_requiem, x => this.requiem = new NukeAbility(x) }, { AbilityId.item_veil_of_discord, x => this.veil = new DebuffAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_ethereal_blade, x => this.ethereal = new EtherealBlade(x) }, { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) }, { AbilityId.item_manta, x => this.manta = new BuffAbility(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_swift_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_arcane_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_overwhelming_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_cyclone, x => this.euls = new EulsScepterOfDivinity(x) }, { AbilityId.item_wind_waker, x => this.euls = new EulsScepterOfDivinity(x) }, { AbilityId.item_hurricane_pike, x => this.pike = new HurricanePike(x) }, { AbilityId.item_black_king_bar, x => this.bkb = new ShieldAbility(x) }, }; }
public AntiMage(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.antimage_blink, x => this.blink = new AntiMageBlink(x) }, { AbilityId.antimage_counterspell, x => this.counterspell = new Counterspell(x) }, { AbilityId.item_phase_boots, x => this.phase = new SpeedBuffAbility(x) }, { AbilityId.item_abyssal_blade, x => this.abyssal = new DisableAbility(x) }, { AbilityId.item_manta, x => this.manta = new BuffAbility(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_black_king_bar, x => this.bkb = new ShieldAbility(x) }, }; this.MoveComboAbilities.Add(AbilityId.antimage_blink, _ => this.blink); }
public PhantomLancer(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.phantom_lancer_spirit_lance, x => this.lance = new NukeAbility(x) }, { AbilityId.phantom_lancer_doppelwalk, x => this.doppel = new Doppelganger(x) }, { AbilityId.item_diffusal_blade, x => this.diffusal = new DebuffAbility(x) }, { AbilityId.item_abyssal_blade, x => this.abyssal = new DisableAbility(x) }, { AbilityId.item_manta, x => this.manta = new BuffAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, }; this.MoveComboAbilities.Add(AbilityId.phantom_lancer_doppelwalk, x => this.doppelBlink = new BlinkAbility(x)); }
public StormSpirit(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.storm_spirit_static_remnant, x => this.remnant = new NukeAbility(x) }, { AbilityId.storm_spirit_electric_vortex, x => this.vortex = new DisableAbility(x) }, { AbilityId.storm_spirit_ball_lightning, x => this.ball = new BallLightning(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_shivas_guard, x => this.shiva = new DebuffAbility(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_dagon_5, x => this.dagon = new NukeAbility(x) }, }; this.MoveComboAbilities.Add(AbilityId.storm_spirit_ball_lightning, _ => this.ball); }
public Ursa(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.ursa_earthshock, x => this.shock = new NukeAbility(x) }, { AbilityId.ursa_overpower, x => this.overpower = new BuffAbility(x) }, { AbilityId.ursa_enrage, x => this.enrage = new Enrage(x) }, { AbilityId.item_phase_boots, x => this.phase = new SpeedBuffAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_diffusal_blade, x => this.diffusal = new DebuffAbility(x) }, { AbilityId.item_abyssal_blade, x => this.abyssal = new DisableAbility(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_black_king_bar, x => this.bkb = new ShieldAbility(x) }, }; }
public Pugna(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.pugna_nether_blast, x => this.blast = new NukeAbility(x) }, { AbilityId.pugna_decrepify, x => this.decrepify = new DebuffAbility(x) }, { AbilityId.pugna_nether_ward, x => this.ward = new AoeAbility(x) }, { AbilityId.pugna_life_drain, x => this.drain = new TargetableAbility(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_dagon_5, x => this.dagon = new NukeAbility(x) }, { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_veil_of_discord, x => this.veil = new DebuffAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_rod_of_atos, x => this.atos = new DisableAbility(x) }, }; }
public SpiritBreaker(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.spirit_breaker_charge_of_darkness, x => this.charge = new ChargeOfDarkness(x) }, { AbilityId.spirit_breaker_bulldoze, x => this.bulldoze = new SpeedBuffAbility(x) }, { AbilityId.spirit_breaker_nether_strike, x => this.strike = new NukeAbility(x) }, { AbilityId.item_phase_boots, x => this.phase = new SpeedBuffAbility(x) }, { AbilityId.item_blade_mail, x => this.bladeMail = new ShieldAbility(x) }, { AbilityId.item_spirit_vessel, x => this.vessel = new DebuffAbility(x) }, { AbilityId.item_urn_of_shadows, x => this.urn = new DebuffAbility(x) }, { AbilityId.item_mask_of_madness, x => this.mom = new BuffAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, { AbilityId.item_heavens_halberd, x => this.halberd = new DisableAbility(x) }, }; }
public Oracle(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.oracle_fortunes_end, x => this.end = new FortunesEnd(x) }, { AbilityId.oracle_fates_edict, x => this.edict = new ShieldAbility(x) }, { AbilityId.oracle_purifying_flames, x => this.flames = new PurifyingFlames(x) }, { AbilityId.oracle_false_promise, x => this.promise = new ShieldAbility(x) }, { AbilityId.item_spirit_vessel, x => this.vessel = new DebuffAbility(x) }, { AbilityId.item_urn_of_shadows, x => this.urn = new DebuffAbility(x) }, { AbilityId.item_dagon_5, x => this.dagon = new NukeAbility(x) }, { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) }, { AbilityId.item_veil_of_discord, x => this.veil = new DebuffAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_ethereal_blade, x => this.ethereal = new EtherealBlade(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, }; }
public QueenOfPain(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.queenofpain_shadow_strike, x => this.shadowStrike = new DebuffAbility(x) }, { AbilityId.queenofpain_blink, x => this.blink = new BlinkQueen(x) }, { AbilityId.queenofpain_scream_of_pain, x => this.scream = new NukeAbility(x) }, { AbilityId.queenofpain_sonic_wave, x => this.sonic = new SonicWave(x) }, { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_veil_of_discord, x => this.veil = new DebuffAbility(x) }, { AbilityId.item_black_king_bar, x => this.bkb = new ShieldAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, { AbilityId.item_shivas_guard, x => this.shiva = new DebuffAbility(x) }, { AbilityId.item_mjollnir, x => this.mjollnir = new ShieldAbility(x) }, { AbilityId.item_nullifier, x => this.nullifier = new Nullifier(x) }, }; this.MoveComboAbilities.Add(AbilityId.queenofpain_blink, _ => this.blink); }
public override async Task ExecuteAsync(CancellationToken token) { try { _target = _targetSelector.Active.GetTargets().FirstOrDefault(); var unitMaxHp = EntityManager <Unit> .Entities.Where(x => x.IsValid && x.IsVisible && x.IsAlive && x.IsSpawned && x.Distance2D(Owner) < 400 && (x.NetworkName == "CDOTA_BaseNPC_Creep_Neutral" || x.NetworkName == "CDOTA_BaseNPC_Creep" || x.NetworkName == "CDOTA_BaseNPC_Creep_Lane" || x.NetworkName == "CDOTA_BaseNPC_Creep_Siege")).OrderBy(x => x.MaximumHealth).LastOrDefault(); if (_target == null || _target.IsAttackImmune() || _target.IsInvulnerable()) { Orbwalker.OrbwalkTo(null); return; } if (_configuration.AbilityManager.Value.IsEnabled(DeathPact.Ability.Name) && DeathPact.CanBeCasted && !_target.IsEthereal() && unitMaxHp != null) { DeathPact.UseAbility(unitMaxHp); await Await.Delay(DeathPact.GetCastDelay(unitMaxHp), token); } if (_configuration.AbilityManager.Value.IsEnabled(Strafe.Ability.Name) && Strafe.CanBeCasted && !_target.IsEthereal() && Owner.IsInAttackRange(_target)) { Strafe.UseAbility(); await Await.Delay(Strafe.GetCastDelay(), token); } if (_configuration.AbilityManager.Value.IsEnabled(Arrows.Ability.Name) && Arrows.CanBeCasted && !_target.IsEthereal() && !Arrows.Ability.IsAutoCastEnabled && Owner.IsInAttackRange(_target)) { Arrows.Ability.ToggleAutocastAbility(); } if (SolarCrest != null && SolarCrest.CanBeCasted && !Owner.IsAttacking() && !_target.IsEthereal() && _configuration.ItemManager.Value.IsEnabled(SolarCrest.Ability.Name) && !_target.IsMagicImmune() && Owner.IsInAttackRange(_target)) { SolarCrest.UseAbility(_target); await Await.Delay(SolarCrest.GetCastDelay(_target), token); } if (Meddallion != null && Meddallion.CanBeCasted && !Owner.IsAttacking() && !_target.IsEthereal() && _configuration.ItemManager.Value.IsEnabled(Meddallion.Ability.Name) && !_target.IsMagicImmune() && Owner.IsInAttackRange(_target)) { Meddallion.UseAbility(_target); await Await.Delay(Meddallion.GetCastDelay(_target), token); } if (DiffusalBlade != null && DiffusalBlade.CanBeCasted && !Owner.IsAttacking() && !_target.IsEthereal() && _configuration.ItemManager.Value.IsEnabled(DiffusalBlade.Ability.Name) && !_target.IsMagicImmune() && Owner.IsInAttackRange(_target)) { DiffusalBlade.Ability.UseAbility(_target); await Await.Delay(DiffusalBlade.GetCastDelay(_target), token); } if (Mjollnir != null && Mjollnir.CanBeCasted && !Owner.IsAttacking() && Owner.IsInAttackRange(_target) && _configuration.ItemManager.Value.IsEnabled(Mjollnir.Ability.Name)) { Mjollnir.UseAbility(Owner); await Await.Delay(Mjollnir.GetCastDelay(Owner), token); } if (Nullifier != null && Nullifier.CanBeCasted && !Owner.IsAttacking() && !_target.IsMagicImmune() && _configuration.ItemManager.Value.IsEnabled(Nullifier.ToString()) && Owner.IsInAttackRange(_target)) { Nullifier.UseAbility(_target); await Await.Delay(Nullifier.GetCastDelay(_target), token); } if (Bloodthorn != null && Bloodthorn.CanBeCasted && !Owner.IsAttacking() && !_target.IsMagicImmune() && _configuration.ItemManager.Value.IsEnabled(Bloodthorn.ToString()) && Owner.IsInAttackRange(_target)) { Bloodthorn.UseAbility(_target); await Await.Delay(Bloodthorn.GetCastDelay(_target), token); } if (SheepStick != null && SheepStick.CanBeCasted && !Owner.IsAttacking() && !_target.IsMagicImmune() && _configuration.ItemManager.Value.IsEnabled(SheepStick.Ability.Name) && Owner.IsInAttackRange(_target)) { SheepStick.UseAbility(_target); await Await.Delay(SheepStick.GetCastDelay(_target), token); } if (Orchid != null && Orchid.CanBeCasted && !Owner.IsAttacking() && !_target.IsMagicImmune() && _configuration.ItemManager.Value.IsEnabled(Orchid.Ability.Name) && Owner.IsInAttackRange(_target)) { Orchid.UseAbility(_target); await Await.Delay(Orchid.GetCastDelay(_target), token); } if (_target != null && (_target.IsInvulnerable() || _target.IsAttackImmune())) { Orbwalker.Move(Game.MousePosition); } else if (_target != null) { Orbwalker.OrbwalkTo(_target); } else { Orbwalker.Move(Game.MousePosition); } } catch (Exception e) { Log.Error(e); } }