public UnstableConcoction(Ability ability) : base(ability) { Modifier = new EvadableModifier(HeroTeam, EvadableModifier.GetHeroType.LowestHealth); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(SleightOfFist); CounterAbilities.Add(Eul); CounterAbilities.AddRange(VsDisable); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsPhys); CounterAbilities.Add(HurricanePike); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.AddRange(Invis); CounterAbilities.Add(Lotus); Modifier.AllyCounterAbilities.Add(Enrage); Modifier.AllyCounterAbilities.AddRange(AllyShields); Modifier.AllyCounterAbilities.AddRange(Invul); Modifier.AllyCounterAbilities.AddRange(VsPhys); IsDisjointable = false; stunRadius = Ability.AbilitySpecialData.First(x => x.Name == "midair_explosion_radius").Value + 100; unstableConcoction = AbilityOwner.FindSpell("alchemist_unstable_concoction"); }
public Torrent(Ability ability) : base(ability) { Modifier = new EvadableModifier(HeroTeam, EvadableModifier.GetHeroType.LowestHealth); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(SleightOfFist); CounterAbilities.Add(Manta); CounterAbilities.Add(Eul); CounterAbilities.Add(HurricanePike); CounterAbilities.AddRange(VsDisable); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsMagic); CounterAbilities.AddRange(Invis); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); Modifier.AllyCounterAbilities.Add(Enrage); Modifier.AllyCounterAbilities.AddRange(AllyShields); Modifier.AllyCounterAbilities.AddRange(Invul); Modifier.AllyCounterAbilities.AddRange(VsMagic); AdditionalDelay = Ability.AbilitySpecialData.First(x => x.Name == "delay").Value; talent = AbilityOwner.FindSpell("special_bonus_unique_kunkka"); if (talent != null) { bonusRadius = talent.AbilitySpecialData.First(x => x.Name == "value").Value; } }
public Vacuum(Ability ability) : base(ability) { CounterAbilities.Add(PhaseShift); CounterAbilities.Add(Eul); CounterAbilities.Add(SleightOfFist); CounterAbilities.Add(Manta); CounterAbilities.Add(BallLightning); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsMagic); CounterAbilities.Add(Armlet); talent = AbilityOwner.FindSpell("special_bonus_unique_dark_seer_2"); talentAOE = talent?.AbilitySpecialData.First(x => x.Name == "value").Value ?? 0; }
public DeafeningBlast(Ability ability) : base(ability) { CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(Eul); CounterAbilities.AddRange(VsDisable); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsMagic); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); talent = AbilityOwner.FindSpell("special_bonus_unique_invoker_2"); }
public Tornado(Ability ability) : base(ability) { CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(Eul); CounterAbilities.AddRange(VsDisable); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsMagic); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.AddRange(Invis); wex = AbilityOwner.FindSpell("invoker_wex"); }
public ChaosMeteor(Ability ability) : base(ability) { CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(Eul); CounterAbilities.AddRange(VsDisable); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsMagic); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); AdditionalDelay = Ability.AbilitySpecialData.First(x => x.Name == "land_time").Value - 0.5f; wex = AbilityOwner.FindSpell("invoker_wex"); }
public IllusoryOrb(Ability ability) : base(ability) { CounterAbilities.Add(PhaseShift); CounterAbilities.Add(Eul); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsMagic); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); talent = AbilityOwner.FindSpell("special_bonus_unique_puck"); if (talent != null) { bonus = talent.AbilitySpecialData.First(x => x.Name == "value").Value / 100 + 1; } }
public IcePath(Ability ability) : base(ability) { Modifier = new EvadableModifier(HeroTeam, EvadableModifier.GetHeroType.LowestHealth); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(Eul); CounterAbilities.Add(HurricanePike); CounterAbilities.AddRange(VsDisable); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.Remove("bane_nightmare"); CounterAbilities.Remove("abaddon_aphotic_shield"); Modifier.AllyCounterAbilities.Add(Enrage); Modifier.AllyCounterAbilities.AddRange(AllyShields); Modifier.AllyCounterAbilities.AddRange(Invul); Modifier.AllyCounterAbilities.AddRange(VsMagic); AdditionalDelay = ability.AbilitySpecialData.First(x => x.Name == "path_delay").Value; for (var i = 0u; i < duration.Length; i++) { duration[i] = ability.AbilitySpecialData.First(x => x.Name == "duration").GetValue(i); } talent = AbilityOwner.FindSpell("special_bonus_unique_jakiro"); if (talent != null) { bonusDuration = talent.AbilitySpecialData.First(x => x.Name == "value").Value; } ObstacleStays = true; }
public EnchantTotem(Ability ability) : base(ability) { CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(SleightOfFist); CounterAbilities.AddRange(VsLowDisable); CounterAbilities.AddRange(VsDamage); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.Remove("abaddon_aphotic_shield"); ModifierAllyCounter.AddRange(AllyShields); ModifierAllyCounter.AddRange(Invul); ModifierAllyCounter.AddRange(VsMagic); totem = AbilityOwner.FindSpell("earthshaker_aftershock"); for (var i = 0u; i < 4; i++) { modifierDuration[i] = totem?.AbilitySpecialData.First(x => x.Name == "tooltip_duration").GetValue(i) ?? 1; } }
public SacredArrow(Ability ability) : base(ability) { Modifier = new EvadableModifier(HeroTeam, EvadableModifier.GetHeroType.ModifierSource); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(Eul); CounterAbilities.AddRange(VsDisable); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsMagic); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.AddRange(Invis); CounterAbilities.Remove("abaddon_aphotic_shield"); Modifier.AllyCounterAbilities.Add(Enrage); Modifier.AllyCounterAbilities.AddRange(AllyShields); Modifier.AllyCounterAbilities.AddRange(Invul); Modifier.AllyCounterAbilities.AddRange(VsMagic); talent = AbilityOwner.FindSpell("special_bonus_unique_mirana_2"); }