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 Kunkka(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.playerHandle = owner.BaseOwner.Handle; this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.kunkka_torrent, x => this.torrent = new Torrent(x) }, { AbilityId.kunkka_tidebringer, x => this.tidebringer = new TargetableAbility(x) }, { AbilityId.kunkka_x_marks_the_spot, x => this.xMark = new XMark(x) }, { AbilityId.kunkka_return, x => this.xReturn = new UntargetableAbility(x) }, { AbilityId.kunkka_ghostship, x => this.ship = new Ghostship(x) }, { AbilityId.item_phase_boots, x => this.phase = new SpeedBuffAbility(x) }, { AbilityId.item_armlet, x => this.armlet = 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) }, }; this.ancientCamps = Context9.JungleManager.JungleCamps.Where(x => x.IsAncient).Select(x => x.CreepsPosition).ToArray(); ParticleManager.ParticleAdded += OnParticleAdded; ModifierManager.ModifierAdded += OnModifierAdded; OrderManager.OrderAdding += OnOrderAdding; }
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)); }
private void UpdateEnemyHealthData(TargetableAbility obj) { var healthData = obj.GetComponent <HealthData>(); if (healthData != null) { EnemyHealthRenderer.Data = healthData; EnemyArmorRenderer.Data = healthData; } }
public void Attack(TargetableAbility target) { _taskSystem.StopAll(this); var walkTask = new WalkToTargetTask(WalkAbility, target, this.gameObject); var attackTask = new ActivateAbilityTask(ActiveAttack.Attack, this.gameObject); _taskSystem.EnqueueTask(walkTask); _taskSystem.EnqueueTask(attackTask); attackTask.Finished += Disable; }
public TargetableAbility CheckForTarget(Vector2 mousePosition) { TargetableAbility target = null; RaycastHit hit; var ray = MainCamera.ScreenPointToRay(mousePosition); if (Physics.Raycast(ray, out hit, float.PositiveInfinity, TargetLayer)) { target = hit.collider.GetComponent <TargetableAbility>(); } return(target); }
// Token: 0x06000400 RID: 1024 RVA: 0x00016190 File Offset: 0x00014390 public override bool Combo(TargetManager targetManager, ComboModeMenu comboModeMenu) { AbilityHelper abilityHelper = new AbilityHelper(targetManager, comboModeMenu, this); TargetableAbility targetableAbility = this.drain; if (targetableAbility != null && targetableAbility.Ability.IsChanneling) { NukeAbility nukeAbility = this.dagon; if (nukeAbility != null && nukeAbility.Ability.CanBeCasted(false) && this.dagon.Ability.CanHit(targetManager.Target) && (float)this.dagon.Ability.GetDamage(targetManager.Target) > targetManager.Target.Health) { base.Owner.Stop(); base.ComboSleeper.Sleep(0.1f); return(true); } } if (abilityHelper.UseAbility(this.blink, 700f, 350f)) { return(true); } if (abilityHelper.UseAbility(this.veil, true)) { return(true); } if (abilityHelper.UseAbility(this.hex, true)) { return(true); } if (abilityHelper.UseAbility(this.bloodthorn, true)) { return(true); } if (abilityHelper.UseAbility(this.orchid, true)) { return(true); } if (abilityHelper.UseAbility(this.nullifier, true)) { return(true); } if (abilityHelper.UseAbility(this.atos, true)) { return(true); } if (abilityHelper.UseAbility(this.decrepify, true)) { base.ComboSleeper.ExtendSleep(0.1f); return(true); } return(abilityHelper.UseAbility(this.dagon, true) || abilityHelper.UseAbility(this.blast, true) || abilityHelper.UseAbility(this.dagon, true) || abilityHelper.UseAbility(this.ward, true) || abilityHelper.UseAbility(this.drain, true)); }
// Token: 0x0600058C RID: 1420 RVA: 0x0001C16C File Offset: 0x0001A36C public override bool Combo(TargetManager targetManager, ComboModeMenu comboModeMenu) { AbilityHelper abilityHelper = new AbilityHelper(targetManager, comboModeMenu, this); if (!comboModeMenu.IsHarassCombo) { TargetableAbility targetableAbility = this.drain; if (targetableAbility != null && targetableAbility.Ability.IsChanneling && (abilityHelper.CanBeCasted(this.hex, true, true, false, true) || abilityHelper.CanBeCasted(this.impale, true, true, false, true))) { base.Owner.BaseUnit.Stop(); base.ComboSleeper.Sleep(0.05f); return(true); } } return(abilityHelper.UseKillStealAbility(this.finger, true) || abilityHelper.UseAbility(this.hex, true) || abilityHelper.UseAbility(this.ethereal, true) || abilityHelper.UseAbility(this.impale, true) || abilityHelper.UseDoubleBlinkCombo(this.force, this.blink, 0f) || abilityHelper.UseAbility(this.blink, 550f, 350f) || abilityHelper.UseAbility(this.force, 550f, 350f) || abilityHelper.UseAbility(this.finger, true) || abilityHelper.UseAbility(this.drain, true)); }
public Bloodseeker(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.bloodseeker_bloodrage, x => this.rage = new BuffAbility(x) }, { AbilityId.bloodseeker_blood_bath, x => this.blood = new BloodRite(x) }, { AbilityId.bloodseeker_rupture, x => this.rupture = new TargetableAbility(x) }, { AbilityId.item_phase_boots, x => this.phase = new SpeedBuffAbility(x) }, { AbilityId.item_blade_mail, x => this.bladeMail = new ShieldAbility(x) }, { AbilityId.item_abyssal_blade, x => this.abyssal = new DisableAbility(x) }, { AbilityId.item_cyclone, x => this.euls = new EulsScepterOfDivinity(x) }, { AbilityId.item_mjollnir, x => this.mjollnir = new ShieldAbility(x) }, }; }
public AncientApparition(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.ancient_apparition_cold_feet, x => this.coldFeet = new DebuffAbility(x) }, { AbilityId.ancient_apparition_ice_vortex, x => this.vortex = new IceVortex(x) }, { AbilityId.ancient_apparition_chilling_touch, x => this.touch = new ChillingTouch(x) }, { AbilityId.ancient_apparition_ice_blast, x => this.blast = new IceBlast(x) }, { AbilityId.item_cyclone, x => this.eul = new DisableAbility(x) }, { AbilityId.item_sheepstick, x => this.hex = new DisableAbility(x) }, { AbilityId.item_rod_of_atos, x => this.atos = new DisableAbility(x) }, { AbilityId.item_spirit_vessel, x => this.vessel = new DebuffAbility(x) }, { AbilityId.item_urn_of_shadows, x => this.urn = new DebuffAbility(x) }, { AbilityId.item_veil_of_discord, x => this.veil = new DebuffAbility(x) }, }; }
public Disruptor(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.disruptor_thunder_strike, x => this.thunder = new NukeAbility(x) }, { AbilityId.disruptor_glimpse, x => this.glimpse = new TargetableAbility(x) }, { AbilityId.disruptor_kinetic_field, x => this.field = new KineticField(x) }, { AbilityId.disruptor_static_storm, x => this.storm = new StaticStorm(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_force_staff, x => this.force = new ForceStaff(x) }, { AbilityId.item_veil_of_discord, x => this.veil = new DebuffAbility(x) }, }; this.MoveComboAbilities.Add(AbilityId.disruptor_kinetic_field, _ => this.field); Entity.OnParticleEffectAdded += this.OnParticleEffectAdded; }
public VengefulSpirit(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.vengefulspirit_magic_missile, x => this.missile = new DisableAbility(x) }, { AbilityId.vengefulspirit_wave_of_terror, x => this.wave = new DebuffAbility(x) }, { AbilityId.vengefulspirit_nether_swap, x => this.swap = new TargetableAbility(x) }, { AbilityId.item_force_staff, x => this.force = new ForceStaff(x) }, { AbilityId.item_hurricane_pike, x => this.pike = new HurricanePike(x) }, { AbilityId.item_solar_crest, x => this.solar = new DebuffAbility(x) }, { AbilityId.item_medallion_of_courage, x => this.medallion = new DebuffAbility(x) }, { AbilityId.item_spirit_vessel, x => this.vessel = new DebuffAbility(x) }, { AbilityId.item_urn_of_shadows, x => this.urn = new DebuffAbility(x) }, }; this.MoveComboAbilities.Add(AbilityId.lion_impale, _ => this.missile); }
public ChaosKnight(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.chaos_knight_chaos_bolt, x => this.bolt = new DisableAbility(x) }, { AbilityId.chaos_knight_reality_rift, x => this.rift = new TargetableAbility(x) }, { AbilityId.chaos_knight_phantasm, x => this.phantasm = new UntargetableAbility(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_black_king_bar, x => this.bkb = new ShieldAbility(x) }, { AbilityId.item_manta, x => this.manta = new BuffAbility(x) }, { AbilityId.item_armlet, x => this.armlet = new BuffAbility(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) }, }; this.MoveComboAbilities.Add(AbilityId.slardar_sprint, _ => this.bolt); }
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 Lion(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.lion_impale, x => this.impale = new DisableAbility(x) }, { AbilityId.lion_mana_drain, x => this.drain = new ManaDrain(x) }, { AbilityId.lion_voodoo, x => this.hex = new DisableAbility(x) }, { AbilityId.lion_finger_of_death, x => this.finger = new NukeAbility(x) }, { AbilityId.item_force_staff, x => this.force = new ForceStaff(x) }, { AbilityId.item_veil_of_discord, x => this.veil = new DebuffAbility(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_dagon_5, x => this.dagon = new NukeAbility(x) }, { AbilityId.item_ethereal_blade, x => this.ethereal = new EtherealBlade(x) }, }; this.MoveComboAbilities.Add(AbilityId.lion_impale, _ => this.impale); this.MoveComboAbilities.Add(AbilityId.lion_voodoo, _ => this.hex); }
public Tusk(Unit9 owner, MultiSleeper abilitySleeper, Sleeper orbwalkSleeper, ControllableUnitMenu menu) : base(owner, abilitySleeper, orbwalkSleeper, menu) { this.ComboAbilities = new Dictionary <AbilityId, Func <ActiveAbility, UsableAbility> > { { AbilityId.tusk_ice_shards, x => this.shards = new IceShards(x) }, { AbilityId.tusk_snowball, x => this.snowball = new Snowball(x) }, { AbilityId.tusk_tag_team, x => this.tag = new DebuffAbility(x) }, { AbilityId.tusk_walrus_punch, x => this.punch = new NukeAbility(x) }, { AbilityId.tusk_walrus_kick, x => this.kick = new Kick(x) }, { AbilityId.item_blink, x => this.blink = new BlinkAbility(x) }, { AbilityId.item_spirit_vessel, x => this.vessel = new DebuffAbility(x) }, { AbilityId.item_urn_of_shadows, x => this.urn = new DebuffAbility(x) }, { AbilityId.item_solar_crest, x => this.solar = new DebuffAbility(x) }, { AbilityId.item_medallion_of_courage, x => this.medallion = new DebuffAbility(x) }, { AbilityId.item_blade_mail, x => this.bladeMail = new ShieldAbility(x) }, { AbilityId.item_orchid, x => this.orchid = new DisableAbility(x) }, { AbilityId.item_bloodthorn, x => this.bloodthorn = new Bloodthorn(x) }, }; }
public WalkToTargetTask(WalkTowardsGoalAbility source, TargetableAbility target, object owner) : base(owner) { _target = target; _source = source; }