public SongOfTheSiren(Ability ability) : base(ability) { //todo ignore remaining time ? BlinkAbilities.AddRange(BlinkAbilityNames); DisableAbilities.AddRange(DisableAbilityNames); }
public FingerOfDeath(Ability ability) : base(ability) { BlinkAbilities.AddRange(BlinkAbilityNames); DisableAbilities.AddRange(DisableAbilityNames); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(Eul); CounterAbilities.Add(Manta); CounterAbilities.Add(SleightOfFist); CounterAbilities.Add(TricksOfTheTrade); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsMagic); CounterAbilities.AddRange(Invul); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.Add(Lotus); CounterAbilities.Add(NetherWard); CounterAbilities.AddRange(Invis); AdditionalDelay = Ability.AbilitySpecialData.First(x => x.Name == "damage_delay").Value; aghanimRadius = Ability.AbilitySpecialData.First(x => x.Name == "splash_radius_scepter").Value + 60; }
public TimeLapse(Ability ability) : base(ability) { DisableAbilities.AddRange(DisableAbilityNames); DisableAbilities.Remove(Eul); }
public Omnislash(Ability ability) : base(ability) { BlinkAbilities.AddRange(BlinkAbilityNames); DisableAbilities.AddRange(DisableAbilityNames); CounterAbilities.Add(Lotus); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsPhys); CounterAbilities.AddRange(Invis); CounterAbilities.Add(Bloodstone); CounterAbilities.Remove("item_blade_mail"); ModifierAllyCounter.Add(PhaseShift); ModifierAllyCounter.Add(Eul); ModifierAllyCounter.AddRange(Invul); ModifierAllyCounter.Add(Manta); ModifierAllyCounter.AddRange(VsDamage); ModifierAllyCounter.AddRange(VsPhys); ModifierAllyCounter.AddRange(AllyShields); modifierRadius = Ability.AbilitySpecialData.First(x => x.Name == "omni_slash_radius").Value; var interval = Ability.AbilitySpecialData.First(x => x.Name == "omni_slash_bounce_tick").Value; for (var i = 0u; i < 3; i++) { modifierDuration[i] = interval * (Ability.AbilitySpecialData.First(x => x.Name == "omni_slash_jumps").GetValue(i) - 1); } }
public Rupture(Ability ability) : base(ability) { DisableAbilities.AddRange(DisableAbilityNames); BlinkAbilities.AddRange(BlinkAbilityNames); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(SleightOfFist); CounterAbilities.Add(Eul); CounterAbilities.Add(Manta); CounterAbilities.AddRange(VsDisable); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsPhys); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Lotus); CounterAbilities.AddRange(Invis); BlinkAbilities.Remove("sandking_burrowstrike"); BlinkAbilities.Remove("riki_blink_strike"); BlinkAbilities.Remove("magnataur_skewer"); BlinkAbilities.Remove("slark_pounce"); BlinkAbilities.Remove("mirana_leap"); BlinkAbilities.Remove("earth_spirit_rolling_boulder"); BlinkAbilities.Remove("item_force_staff"); BlinkAbilities.Remove("item_hurricane_pike"); }
public EarthSplitter(Ability ability) : base(ability) { Modifier = new EvadableModifier(HeroTeam, EvadableModifier.GetHeroType.LowestHealth); BlinkAbilities.AddRange(BlinkAbilityNames); DisableAbilities.AddRange(DisableAbilityNames); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(SleightOfFist); CounterAbilities.Add(Eul); CounterAbilities.Add(Manta); CounterAbilities.Add(TricksOfTheTrade); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(Invul); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.AddRange(Invis); Modifier.AllyCounterAbilities.Add(Lotus); Modifier.AllyCounterAbilities.Add(AphoticShield); Modifier.AllyCounterAbilities.Add(FortunesEnd); AdditionalDelay = Ability.AbilitySpecialData.First(x => x.Name == "crack_time").Value; }
public Chronosphere(Ability ability) : base(ability) { CounterAbilities.Add(PhaseShift); CounterAbilities.Add(Eul); CounterAbilities.Add(Manta); CounterAbilities.AddRange(StrongDefUltimates); CounterAbilities.AddRange(VsDisable); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsPhys); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.Remove("slark_dark_pact"); BlinkAbilities.Remove("slark_pounce"); if (AbilityOwner.Team == Variables.HeroTeam) { // leave only blink abilities // if void is ally CounterAbilities.Clear(); DisableAbilities.Clear(); } for (var i = 0u; i < 3; i++) { duration[i] = ability.AbilitySpecialData.First(x => x.Name == "duration").GetValue(i); } ObstacleStays = true; }
public Eclipse(Ability ability) : base(ability) { DisablePathfinder = true; BlinkAbilities.AddRange(BlinkAbilityNames); DisableAbilities.AddRange(DisableAbilityNames); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(Eul); CounterAbilities.Add(Manta); CounterAbilities.Add(TricksOfTheTrade); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(Invul); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.AddRange(Invis); for (var i = 0u; i < duration.Length; i++) { duration[i] = ability.AbilitySpecialData.First(x => x.Name == "duration_tooltip").GetValue(i); durationAghanim[i] = ability.AbilitySpecialData.First(x => x.Name == "duration_tooltip_scepter").GetValue(i); } }
public Omnislash(Ability ability) : base(ability) { Modifier = new OmnislashModifier( EnemyTeam, EvadableModifier.GetHeroType.ClosestToSource, Ability, maxDistanceToSource: Ability.GetRadius()); BlinkAbilities.AddRange(BlinkAbilityNames); DisableAbilities.AddRange(DisableAbilityNames); CounterAbilities.Add(Lotus); CounterAbilities.Add(HurricanePike); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsPhys); CounterAbilities.AddRange(Invis); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.Remove("item_blade_mail"); Modifier.AllyCounterAbilities.Add(PhaseShift); Modifier.AllyCounterAbilities.Add(Eul); Modifier.AllyCounterAbilities.AddRange(Invul); Modifier.AllyCounterAbilities.Add(Manta); Modifier.AllyCounterAbilities.AddRange(VsDamage); Modifier.AllyCounterAbilities.AddRange(VsPhys); Modifier.AllyCounterAbilities.AddRange(AllyShields); }
private bool IsInAbilityPhase(CHero target) { if (target.Spells.Any(x => DisableAbilities.Contains(x.Id) && x.IsInAbilityPhase)) { return(true); } return(false); }
public ShallowGrave(Ability ability) : base(ability) { Modifier = new EvadableModifier(EnemyTeam, EvadableModifier.GetHeroType.ModifierSource); DisableAbilities.AddRange(DisableAbilityNames); Modifier.EnemyCounterAbilities.Add(Eul); Modifier.EnemyCounterAbilities.AddRange(Invul); }
public TricksOfTheTrade(Ability ability) : base(ability) { DisableAbilities.AddRange(DisableAbilityNames); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(Eul); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsPhys); CounterAbilities.AddRange(Invis); }
public TestOfFaithTeleport(Ability ability) : base(ability) { Modifier = new EvadableModifier(EnemyTeam, EvadableModifier.GetHeroType.ModifierSource, 1); DisableAbilities.AddRange(DisableAbilityNames); DisableAbilities.Remove(Eul); Modifier.EnemyCounterAbilities.Add(Eul); Modifier.EnemyCounterAbilities.AddRange(Diffusal); }
public WarStomp(Ability ability) : base(ability) { DisableAbilities.Clear(); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(SleightOfFist); CounterAbilities.AddRange(VsLowDisable); radius = ability.GetRadius() + 100; }
public WallOfReplica(Ability ability) : base(ability) { DisablePathfinder = true; BlinkAbilities.AddRange(BlinkAbilityNames); DisableAbilities.AddRange(DisableAbilityNames); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsPhys); CounterAbilities.AddRange(Invis); }
public StoneForm(Ability ability) : base(ability) { DisableAbilities.Clear(); //todo fix visage familiars CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(Eul); CounterAbilities.Add(Manta); CounterAbilities.AddRange(VsLowDisable); }
public FreezingField(Ability ability) : base(ability) { BlinkAbilities.AddRange(BlinkAbilityNames); DisableAbilities.AddRange(DisableAbilityNames); CounterAbilities.Add(PhaseShift); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsMagic); IgnorePathfinder = true; duration = ability.AbilitySpecialData.First(x => x.Name == "duration_tooltip").Value; }
public Macropyre(Ability ability) : base(ability) { DisablePathfinder = true; ObstacleStays = true; DisableAbilities.AddRange(DisableAbilityNames); CounterAbilities.AddRange(VsMagic); CounterAbilities.AddRange(AllyShields); duration = ability.AbilitySpecialData.First(x => x.Name == "duration").Value; }
public LucentBeam(Ability ability) : base(ability) { IsDisable = false; BlinkAbilities.Clear(); DisableAbilities.Clear(); CounterAbilities.Add(PhaseShift); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsMagic); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.Add(Lotus); }
public Sunder(Ability ability) : base(ability) { BlinkAbilities.AddRange(BlinkAbilityNames); DisableAbilities.AddRange(DisableAbilityNames); CounterAbilities.Add(Lotus); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(Eul); CounterAbilities.Add(Manta); CounterAbilities.Add(SleightOfFist); CounterAbilities.Add(TricksOfTheTrade); CounterAbilities.AddRange(Invul); }
public Exorcism(Ability ability) : base(ability) { Modifier = new EvadableModifier( EnemyTeam, EvadableModifier.GetHeroType.ClosestToSource, maxDistanceToSource: Ability.GetRadius()); DisableAbilities.AddRange(DisableAbilityNames); Modifier.EnemyCounterAbilities.AddRange(DisableAbilityNames); Modifier.EnemyCounterAbilities.Remove(Eul); Modifier.AllyCounterAbilities.AddRange(AllyShields); Modifier.AllyCounterAbilities.AddRange(VsPhys); }
public ManaVoid(Ability ability) : base(ability) { DisablePathfinder = true; BlinkAbilities.AddRange(BlinkAbilityNames); DisableAbilities.AddRange(DisableAbilityNames); CounterAbilities.Add(PhaseShift); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsMagic); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.Add(Lotus); CounterAbilities.AddRange(Invis); }
public CullingBlade(Ability ability) : base(ability) { BlinkAbilities.AddRange(BlinkAbilityNames); DisableAbilities.AddRange(DisableAbilityNames); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(SleightOfFist); CounterAbilities.Add(Eul); CounterAbilities.Add(Manta); CounterAbilities.AddRange(VsDamage); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.Add(Lotus); }
public ThundergodsWrath(Ability ability) : base(ability) { DisableAbilities.AddRange(DisableAbilityNames); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(Eul); CounterAbilities.Add(SleightOfFist); CounterAbilities.Add(Manta); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsMagic); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.AddRange(Invis); }
public SonicWave(Ability ability) : base(ability) { BlinkAbilities.AddRange(BlinkAbilityNames); DisableAbilities.AddRange(DisableAbilityNames); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(Eul); CounterAbilities.Add(TricksOfTheTrade); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(Invul); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.Add(NetherWard); CounterAbilities.AddRange(Invis); }
public GodsStrength(Ability ability) : base(ability) { Modifier = new EvadableModifier( EnemyTeam, EvadableModifier.GetHeroType.ClosestToSource, maxDistanceToSource: AbilityOwner.AttackRange + 150); DisableAbilities.AddRange(DisableAbilityNames); Modifier.AllyCounterAbilities.AddRange(VsDamage); Modifier.AllyCounterAbilities.AddRange(VsPhys); Modifier.EnemyCounterAbilities.Add(Decrepify); Modifier.EnemyCounterAbilities.Add(FatesEdict); Modifier.EnemyCounterAbilities.AddRange(VsPhys); }
public Sunder(Ability ability) : base(ability) { BlinkAbilities.AddRange(BlinkAbilityNames); DisableAbilities.AddRange(DisableAbilityNames); CounterAbilities.Add(Lotus); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(Eul); CounterAbilities.Add(Manta); CounterAbilities.Add(SleightOfFist); CounterAbilities.Add(TricksOfTheTrade); CounterAbilities.Add("phantom_lancer_doppelwalk"); CounterAbilities.Add("shadow_demon_disruption"); CounterAbilities.Add("obsidian_destroyer_astral_imprisonment"); }
public RealityRift(Ability ability) : base(ability) { DisableAbilities.AddRange(DisableAbilityNames); BlinkAbilities.AddRange(BlinkAbilityNames); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(SleightOfFist); CounterAbilities.Add(Manta); CounterAbilities.Add(Eul); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsPhys); CounterAbilities.AddRange(Invis); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.Add(Lotus); }
public DeathWard(Ability ability) : base(ability) { DisablePathfinder = true; BlinkAbilities.AddRange(BlinkAbilityNames); DisableAbilities.AddRange(DisableAbilityNames); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(TricksOfTheTrade); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(Invul); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.AddRange(Invis); duration = Ability.GetChannelTime(0); }
public Epicenter(Ability ability) : base(ability) { Modifier = new EvadableModifier(HeroTeam, EvadableModifier.GetHeroType.LowestHealth); DisableAbilities.AddRange(DisableAbilityNames); Modifier.AllyCounterAbilities.Add(PhaseShift); Modifier.AllyCounterAbilities.Add(Eul); Modifier.AllyCounterAbilities.Add(TricksOfTheTrade); Modifier.AllyCounterAbilities.AddRange(VsDamage); Modifier.AllyCounterAbilities.AddRange(VsMagic); Modifier.AllyCounterAbilities.AddRange(Invul); Modifier.AllyCounterAbilities.Add(SnowBall); Modifier.AllyCounterAbilities.Add(Armlet); Modifier.AllyCounterAbilities.AddRange(Invis); AdditionalDelay = Ability.GetChannelTime(0); }