public MagicDamage(string name, Character character, StatsRetri stats, DamageType damageType, bool noMultiplier = false) : base(name, character, stats, AbilityType.Spell, damageType, false, noMultiplier) { CT = new BaseSpellCombatTable(Character.BossOptions, _stats, Attacktype.Spell); switch ((int)damageType) { case (int)DamageType.Holy: AbilityDamage = stats.HolyDamage; break; case (int)DamageType.Fire: AbilityDamage = stats.FireDamage; break; case (int)DamageType.Nature: AbilityDamage = stats.NatureDamage; break; case (int)DamageType.Frost: AbilityDamage = stats.FrostDamage; break; case (int)DamageType.Shadow: AbilityDamage = stats.ShadowDamage; break; case (int)DamageType.Arcane: AbilityDamage = stats.ArcaneDamage; break; default: AbilityDamage = 0f; break; } }
public SealOfRighteousness(Character character, StatsRetri stats) : base("Seal of Righteousness", character, stats, AbilityType.Spell) { CT = new BaseSpellCombatTable(Character.BossOptions, _stats, Attacktype.Spell); CT.CanMiss = false; MaxTargets = 100; AbilityDamage = AbilityHelper.BaseWeaponSpeed(_character) * (PaladinConstants.SOR_COEFF_AP * _stats.AttackPower + PaladinConstants.SOR_COEFF_SP * _stats.SpellPower); }
public HolyWrath(Character character, StatsRetri stats) : base("Holy Wrath", character, stats, AbilityType.Spell, DamageType.Holy) { CT = new BaseSpellCombatTable(Character.BossOptions, _stats, Attacktype.Spell); CT.AbilityCritCorr = (Character.BossOptions.MobType == (int)MOB_TYPES.DEMON || Character.BossOptions.MobType == (int)MOB_TYPES.UNDEAD) ? 1f : 0; Cooldown = PaladinConstants.HOLY_WRATH_COOLDOWN; Meteor = true; MaxTargets = 100; AbilityDamage = PaladinConstants.HOLY_WRATH_BASE_DMG + PaladinConstants.HOLY_WRATH_COEFF * _stats.SpellPower; }
public HandofLight(Character character, StatsRetri stats, float amountBefore) : base("Hand of Light", character, stats, AbilityType.Spell, DamageType.Holy, false) { AmountBefore = amountBefore; CT = new BaseSpellCombatTable(Character.BossOptions, _stats, Attacktype.Spell); CT.CanMiss = false; CT.CanCrit = false; AbilityDamageMulitplier.Clear(); //Only benefit from Magical AbilityDamageMulitplier[Multiplier.Magical] = (1f + _stats.BonusHolyDamageMultiplier) * (1f + InqUptime * PaladinConstants.INQ_COEFF); AbilityDamage = AmountBefore * (8f + StatConversion.GetMasteryFromRating(_stats.MasteryRating, CharacterClass.Paladin)) * PaladinConstants.HOL_COEFF; }
public Exorcism(Character character, StatsRetri stats, float chanceToProc) : base("Exorcism", character, stats, AbilityType.Spell, DamageType.Holy) { CT = new BaseSpellCombatTable(Character.BossOptions, _stats, Attacktype.Spell); CT.AbilityCritCorr = (Character.BossOptions.MobType == (int)MOB_TYPES.DEMON || Character.BossOptions.MobType == (int)MOB_TYPES.UNDEAD) ? 1f : 0; AbilityDamageMulitplier[Multiplier.Talents] = (1f + (Talents.TheArtOfWar > 0 ? PaladinConstants.THE_ART_OF_WAR : 0f) + PaladinConstants.BLAZING_LIGHT * Talents.BlazingLight); AbilityDamageMulitplier[Multiplier.Glyphs] = (1f + (Talents.GlyphOfExorcism ? PaladinConstants.GLYPH_OF_EXORCISM : 0f)); Cooldown = AbilityHelper.WeaponSpeed(_character, _stats.PhysicalHaste) * (1f / (Talents.TheArtOfWar * PaladinConstants.EXO_PROC_CHANCE)) / chanceToProc; AbilityDamage = PaladinConstants.EXO_AVG_DMG + PaladinConstants.EXO_COEFF * Math.Max(_stats.SpellPower, _stats.AttackPower); }
public Consecration(Character character, StatsRetri stats) : base("Consecration", character, stats, AbilityType.Spell, DamageType.Holy) { CT = new BaseSpellCombatTable(Character.BossOptions, _stats, Attacktype.Spell); CT.CanCrit = false; Cooldown = PaladinConstants.CONS_COOLDOWN; TickCount = (Talents.GlyphOfConsecration ? 12f : 10f); MaxTargets = 100; AbilityDamage = (PaladinConstants.CONS_BASE_DMG + PaladinConstants.CONS_COEFF_SP * _stats.SpellPower + PaladinConstants.CONS_COEFF_AP * _stats.AttackPower) / 10; }
public GuardianOfTheAncientKingsFinal(Character character, StatsRetri stats) : base("Ancient Fury", character, stats, AbilityType.Spell, DamageType.Holy, false) { CT = new BaseSpellCombatTable(character.BossOptions, _stats, Attacktype.Spell); AbilityDamage = (PaladinConstants.AF_BASE_DMG * 20f) + PaladinConstants.AF_COEFF_AP * _stats.AttackPower; }