Exemplo n.º 1
0
        public AbilityModel(Character character, Stats stats, Ability ability, CalculationOptionsProtPaladin calcOpts)
        {
#endif
            Character = character;
            Stats     = stats;
            Ability   = ability;
            CalcOpts  = calcOpts;
#if (RAWR3)
            BossOpts = bossOpts;
#endif

            Talents = Character.PaladinTalents;
#if (RAWR3)
            AttackTable = new AttackTable(character, stats, ability, CalcOpts, BossOpts);
#else
            AttackTable = new AttackTable(character, stats, ability, CalcOpts);
#endif

            if (!Lookup.IsSpell(Ability))
#if (RAWR3)
            { ArmorReduction = Lookup.EffectiveTargetArmorReduction(Character, Stats, BossOpts.Armor, BossOpts.Level); }
#else
            { ArmorReduction = Lookup.EffectiveTargetArmorReduction(Character, Stats, CalcOpts.TargetArmor, CalcOpts.TargetLevel); }
#endif

            Name              = Lookup.Name(Ability);
            DamageMultiplier  = Lookup.StanceDamageMultipler(Character, Stats);
            DamageMultiplier *= Lookup.CreatureTypeDamageMultiplier(Character, CalcOpts.TargetType);

            CalculateDamage();
            CalculateThreat();
        }
Exemplo n.º 2
0
 public ParryModel(Character character, Stats stats, CalculationOptionsProtPaladin calcOpts, BossOptions bossOpts) {
     Character   = character;
     Stats       = stats;
     CalcOpts    = calcOpts;
     BossOpts    = bossOpts;
     AttackTable = new AttackTable(character, stats, calcOpts, bossOpts);
     DefendTable = new DefendTable(character, stats, calcOpts, bossOpts);
     Calculate();
 }
Exemplo n.º 3
0
 public ParryModel(Character character, Stats stats, CalculationOptionsProtPaladin calcOpts, BossOptions bossOpts)
 {
     Character   = character;
     Stats       = stats;
     CalcOpts    = calcOpts;
     BossOpts    = bossOpts;
     AttackTable = new AttackTable(character, stats, calcOpts, bossOpts);
     DefendTable = new DefendTable(character, stats, calcOpts, bossOpts);
     Calculate();
 }
Exemplo n.º 4
0
        public ParryModel(Character character, Stats stats, CalculationOptionsProtPaladin calcOpts)
        {
#endif
            Character = character;
            Stats     = stats;
            CalcOpts  = calcOpts;
#if (RAWR3)
            AttackTable = new AttackTable(character, stats, calcOpts, bossOpts);
            DefendTable = new DefendTable(character, stats, calcOpts, bossOpts, true);
#else
            AttackTable = new AttackTable(character, stats, calcOpts);
            DefendTable = new DefendTable(character, stats, calcOpts, true);
#endif
            Calculate();
        }
Exemplo n.º 5
0
        public AbilityModel(Character character, Base.StatsPaladin stats, Ability ability, CalculationOptionsProtPaladin calcOpts, BossOptions bossOpts)
        {
            Character = character;
            Stats     = stats;
            Ability   = ability;
            CalcOpts  = calcOpts;
            BossOpts  = bossOpts;

            Talents     = Character.PaladinTalents;
            AttackTable = new AttackTable(character, stats, ability, CalcOpts, BossOpts);

            if (!Lookup.IsSpell(Ability))
            {
                ArmorReduction = Lookup.EffectiveTargetArmorReduction(Stats.ArmorPenetration, BossOpts.Armor, BossOpts.Level);
            }

            Name = Lookup.Name(Ability);

            CalculateDamage();
            CalculateThreat();
        }