Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
 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);
 }
Beispiel #3
0
 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;
 }
Beispiel #4
0
 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;
 }
Beispiel #5
0
 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);
 }
Beispiel #6
0
 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;
 }
Beispiel #7
0
 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;
 }