108 float CritSpell = 5.0f;
116 amount +=
int32(CritSpell);
125 float CritMelee = 5.0f;
133 amount +=
int32(CritMelee);
142 float HitMelee = 0.0f;
148 amount +=
int32(HitMelee);
157 float HitSpell = 0.0f;
163 amount +=
int32(HitSpell);
172 float Expertise = 0.0f;
178 amount +=
int32(Expertise);
246 amount += ownerBonus;
258 switch (pet->GetEntry())
278 pet->ToPet()->SetCreateHealth(baseHealth + healthMod);
288 pet->ToPet()->SetCreateHealth(pInfo->
health);
301 int32 maximum = (fire > shadow) ? fire : shadow;
304 float bonusAP = maximum * 0.57f;
314 amount +=
CalculatePct(amount+base_attPower, ect->GetAmount());
329 int32 maximum = (fire > shadow) ? fire : shadow;
330 float bonusDamage = 0.0f;
333 bonusDamage = maximum * 0.15f;
335 amount += bonusDamage;
387 amount += ownerBonus;
400 switch (pet->GetEntry())
416 pet->ToPet()->SetCreateMana(baseMana + manaMod);
426 pet->ToPet()->SetCreateMana(pInfo->
mana);
437 amount += ownerBonus;
448 amount += ownerBonus;
492 amount += ownerBonus;
503 amount += ownerBonus;
514 amount += ownerBonus;
553 amount += ownerBonus;
588 float HitMelee = 0.0f;
594 amount +=
int32(HitMelee);
603 float HitSpell = 0.0f;
609 amount +=
int32(HitSpell);
618 float Expertise = 0.0f;
624 amount +=
int32(Expertise);
661 float CritSpell = 5.0f;
669 if (
AuraApplication* improvedDemonicTacticsApp = owner->GetAuraApplicationOfRankedSpell(54347))
670 if (
Aura* improvedDemonicTactics = improvedDemonicTacticsApp->GetBase())
671 if (
AuraEffect* improvedDemonicTacticsEffect = improvedDemonicTactics->GetEffect(
EFFECT_0))
672 amount +=
CalculatePct(CritSpell, improvedDemonicTacticsEffect->GetAmount());
681 float CritMelee = 5.0f;
689 if (
AuraApplication* improvedDemonicTacticsApp = owner->GetAuraApplicationOfRankedSpell(54347))
690 if (
Aura* improvedDemonicTactics = improvedDemonicTacticsApp->GetBase())
691 if (
AuraEffect* improvedDemonicTacticsEffect = improvedDemonicTactics->GetEffect(
EFFECT_0))
692 amount +=
CalculatePct(CritMelee, improvedDemonicTacticsEffect->GetAmount());
778 amount += ect->GetAmount();
812 float HitMelee = 0.0f;
818 amount +=
int32(HitMelee);
827 float HitSpell = 0.0f;
833 amount +=
int32(HitSpell);
872 PetSpellMap::const_iterator itr = (pet->ToPet()->m_spells.find(62758));
873 if (itr == pet->ToPet()->m_spells.end())
874 itr = pet->ToPet()->m_spells.find(62762);
876 if (itr != pet->ToPet()->m_spells.end())
883 amount += ownerBonus;
912 float bonusAP = 0.0f;
914 PetSpellMap::const_iterator itr = (pet->ToPet()->m_spells.find(62758));
915 if (itr == pet->ToPet()->m_spells.end())
918 if (itr != pet->ToPet()->m_spells.end())
942 float bonusDamage = 0.0f;
944 PetSpellMap::const_iterator itr = (pet->ToPet()->m_spells.find(62758));
945 if (itr == pet->ToPet()->m_spells.end())
948 if (itr != pet->ToPet()->m_spells.end())
956 amount += bonusDamage;
1005 amount += ownerBonus;
1021 amount += ownerBonus;
1037 amount += ownerBonus;
1081 amount += ownerBonus;
1097 amount += ownerBonus;
1113 amount += ownerBonus;
1152 float HitMelee = 0.0f;
1158 amount +=
int32(HitMelee);
1169 float HitSpell = 0.0f;
1175 amount +=
int32(HitSpell);
1186 float Expertise = 0.0f;
1192 amount +=
int32(Expertise);
1231 float CritSpell = 5.0f;
1239 amount += (CritSpell*0.8f);
1250 float CritMelee = 5.0f;
1258 amount += (CritMelee*0.8f);
1297 amount -= cobraReflexes->GetAmount();
1334 amount = ect->GetAmount();
1377 amount = aur->GetSpellInfo()->GetEffect(
EFFECT_2).CalcValue();
1412 if (pet->IsGuardian())
1416 float ownerBonus = float(owner->GetStat(
STAT_STAMINA)) * 0.3f;
1417 amount += ownerBonus;
1440 if (!pet->IsGuardian())
1448 amount += ownerBonus;
1490 float HasteMelee = 0.0f;
1492 HasteMelee += (1-owner->m_modAttackSpeedPct[
BASE_ATTACK])*100;
1494 amount +=
int32(HasteMelee);
1531 float HitMelee = 0.0f;
1537 amount +=
int32(HitMelee);
1548 float HitSpell = 0.0f;
1554 amount +=
int32(HitSpell);
1593 if (pet->IsGuardian())
1607 float HasteMelee = 0.0f;
1609 HasteMelee += (1-owner->m_modAttackSpeedPct[
BASE_ATTACK])*100;
1611 amount +=
int32(HasteMelee);
T GetEntry(std::unordered_map< uint32, T > const &map, CriteriaTreeEntry const *tree)
@ SPELL_SCHOOL_MASK_SHADOW
@ SPELL_SCHOOL_MASK_ARCANE
@ SPELL_SCHOOL_MASK_NATURE
@ SPELL_SCHOOL_MASK_FROST
@ AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK
@ SPELL_AURA_MOD_TOTAL_STAT_PERCENTAGE
@ SPELL_AURA_MOD_ATTACK_POWER
@ SPELL_AURA_MOD_CREATURE_AOE_DAMAGE_AVOIDANCE
@ SPELL_AURA_MOD_SPELL_HIT_CHANCE
@ SPELL_AURA_MOD_RESISTANCE
@ SPELL_AURA_MOD_EXPERTISE
@ SPELL_AURA_MOD_SPELL_CRIT_CHANCE
@ SPELL_AURA_MOD_HIT_CHANCE
@ SPELL_AURA_MOD_DAMAGE_PERCENT_DONE
@ SPELL_AURA_MOD_CRIT_PCT
@ SPELL_AURA_MOD_WEAPON_CRIT_PERCENT
@ SPELL_AURA_MOD_DAMAGE_DONE
@ SPELL_AURA_MOD_ATTACK_POWER_PCT
#define AuraEffectCalcAmountFn(F, I, N)
#define AuraEffectApplyFn(F, I, N, M)
#define AuraEffectRemoveFn(F, I, N, M)
T CalculatePct(T base, U pct)
WorldObject * GetOwner() const
HookList< EffectApplyHandler > AfterEffectApply
HookList< EffectCalcAmountHandler > DoEffectCalcAmount
Difficulty GetCastDifficulty() const
HookList< EffectApplyHandler > OnEffectRemove
Unit * GetUnitOwner() const
Player * GetOwner() const
int32 CalcValue(WorldObject const *caster=nullptr, int32 const *basePoints=nullptr, Unit const *target=nullptr, float *variance=nullptr, uint32 castItemId=0, int32 itemLevel=-1) const
SpellEffectInfo const & GetEffect(SpellEffIndex index) const
uint32 CalculateDamage(WeaponAttackType attType, bool normalized, bool addTotalPct) const
float GetTotalAttackPowerValue(WeaponAttackType attType, bool includeWeapon=true) const
float GetStat(Stats stat) const
int32 GetResistance(SpellSchools school) const
void CalculateAvoidanceAmount(AuraEffect const *, int32 &amount, bool &)
spell_dk_avoidance_passive()
AuraScript * GetAuraScript() const override
void RemoveEffect(AuraEffect const *, AuraEffectHandleModes)
void CalculateStaminaAmount(AuraEffect const *, int32 &amount, bool &)
void ApplyEffect(AuraEffect const *, AuraEffectHandleModes)
void CalculateStrengthAmount(AuraEffect const *, int32 &amount, bool &)
spell_dk_pet_scaling_01()
AuraScript * GetAuraScript() const override
void CalculateAmountMeleeHaste(AuraEffect const *, int32 &amount, bool &)
AuraScript * GetAuraScript() const override
spell_dk_pet_scaling_02()
void CalculateAmountMeleeHit(AuraEffect const *, int32 &amount, bool &)
void CalculateAmountSpellHit(AuraEffect const *, int32 &amount, bool &)
AuraScript * GetAuraScript() const override
spell_dk_pet_scaling_03()
void CalculateDamageDoneAmount(AuraEffect const *, int32 &amount, bool &)
void CalculateAmountMeleeHaste(AuraEffect const *, int32 &amount, bool &)
spell_dk_rune_weapon_scaling_02()
AuraScript * GetAuraScript() const override
void CalculateAmountCritMelee(AuraEffect const *, int32 &amount, bool &)
void CalculateAmountExpertise(AuraEffect const *, int32 &amount, bool &)
void CalculateAmountSpellHit(AuraEffect const *, int32 &amount, bool &)
void CalculateAmountCritSpell(AuraEffect const *, int32 &amount, bool &)
void CalculateAmountMeleeHit(AuraEffect const *, int32 &amount, bool &)
spell_gen_pet_calculate()
AuraScript * GetAuraScript() const override
void CalculateAmountDamageDone(AuraEffect const *, int32 &amount, bool &)
AuraScript * GetAuraScript() const override
spell_hun_animal_handler()
void CalculateAmountCritSpell(AuraEffect const *, int32 &amount, bool &)
void CalculateAmountCritMelee(AuraEffect const *, int32 &amount, bool &)
spell_hun_pet_passive_crit()
AuraScript * GetAuraScript() const override
void CalculateAmountDamageDone(AuraEffect const *, int32 &amount, bool &)
AuraScript * GetAuraScript() const override
spell_hun_pet_passive_damage_done()
void CalculateStaminaAmount(AuraEffect const *, int32 &amount, bool &)
void RemoveEffect(AuraEffect const *, AuraEffectHandleModes)
void ApplyEffect(AuraEffect const *, AuraEffectHandleModes)
void CalculateDamageDoneAmount(AuraEffect const *, int32 &amount, bool &)
spell_hun_pet_scaling_01_AuraScript()
void CalculateAttackPowerAmount(AuraEffect const *, int32 &amount, bool &)
spell_hun_pet_scaling_01()
AuraScript * GetAuraScript() const override
void CalculateFireResistanceAmount(AuraEffect const *, int32 &amount, bool &)
void CalculateFrostResistanceAmount(AuraEffect const *, int32 &amount, bool &)
void CalculateNatureResistanceAmount(AuraEffect const *, int32 &amount, bool &)
spell_hun_pet_scaling_02()
AuraScript * GetAuraScript() const override
void CalculateArcaneResistanceAmount(AuraEffect const *, int32 &amount, bool &)
void CalculateArmorAmount(AuraEffect const *, int32 &amount, bool &)
void CalculateShadowResistanceAmount(AuraEffect const *, int32 &amount, bool &)
spell_hun_pet_scaling_03()
AuraScript * GetAuraScript() const override
void CalculateAmountMeleeHit(AuraEffect const *, int32 &amount, bool &)
void CalculateAmountSpellHit(AuraEffect const *, int32 &amount, bool &)
void CalculateAmountExpertise(AuraEffect const *, int32 &amount, bool &)
AuraScript * GetAuraScript() const override
spell_hun_pet_scaling_04()
void CalculateAmountMeleeHit(AuraEffect const *, int32 &amount, bool &)
void CalculateAmountSpellHit(AuraEffect const *, int32 &amount, bool &)
AuraScript * GetAuraScript() const override
spell_sha_pet_scaling_04()
void CalculateAmountCritSpell(AuraEffect const *, int32 &amount, bool &)
void CalculateAmountCritMelee(AuraEffect const *, int32 &amount, bool &)
void CalculateAmountDamageDone(AuraEffect const *, int32 &amount, bool &)
spell_warl_pet_passive_damage_done()
AuraScript * GetAuraScript() const override
void CalculateAmount(AuraEffect const *, int32 &amount, bool &)
spell_warl_pet_passive_voidwalker()
AuraScript * GetAuraScript() const override
AuraScript * GetAuraScript() const override
void CalculateDamageDoneAmount(AuraEffect const *, int32 &amount, bool &)
void RemoveEffect(AuraEffect const *, AuraEffectHandleModes)
void ApplyEffect(AuraEffect const *, AuraEffectHandleModes)
spell_warl_pet_scaling_01_AuraScript()
void CalculateAttackPowerAmount(AuraEffect const *, int32 &amount, bool &)
void CalculateStaminaAmount(AuraEffect const *, int32 &amount, bool &)
AuraScript * GetAuraScript() const override
spell_warl_pet_scaling_01()
void CalculateFireResistanceAmount(AuraEffect const *, int32 &amount, bool &)
void RemoveEffect(AuraEffect const *, AuraEffectHandleModes)
spell_warl_pet_scaling_02_AuraScript()
void CalculateIntellectAmount(AuraEffect const *, int32 &amount, bool &)
void CalculateArmorAmount(AuraEffect const *, int32 &amount, bool &)
void ApplyEffect(AuraEffect const *, AuraEffectHandleModes)
AuraScript * GetAuraScript() const override
spell_warl_pet_scaling_02()
void CalculateArcaneResistanceAmount(AuraEffect const *, int32 &amount, bool &)
void CalculateFrostResistanceAmount(AuraEffect const *, int32 &amount, bool &)
void CalculateNatureResistanceAmount(AuraEffect const *, int32 &amount, bool &)
AuraScript * GetAuraScript() const override
spell_warl_pet_scaling_03()
void CalculateShadowResistanceAmount(AuraEffect const *, int32 &amount, bool &)
AuraScript * GetAuraScript() const override
spell_warl_pet_scaling_04()
void CalculateAmountExpertise(AuraEffect const *, int32 &amount, bool &)
void CalculateAmountSpellHit(AuraEffect const *, int32 &amount, bool &)
void CalculateAmountMeleeHit(AuraEffect const *, int32 &amount, bool &)
spell_warl_pet_scaling_05()
AuraScript * GetAuraScript() const override
@ SPELL_NIGHT_OF_THE_DEAD
@ SPELL_DEATH_KNIGHT_RUNE_WEAPON_02
@ SPELL_DEATH_KNIGHT_PET_SCALING_02
@ SPELL_DEATH_KNIGHT_PET_SCALING_03
@ SPELL_DEATH_KNIGHT_PET_SCALING_01
@ ENTRY_ARMY_OF_THE_DEAD_GHOUL
@ SPELL_WARLOCK_PET_SCALING_02
@ SPELL_WARLOCK_GLYPH_OF_VOIDWALKER
@ SPELL_WARLOCK_PET_SCALING_04
@ SPELL_WARLOCK_PET_SCALING_01
@ SPELL_WARLOCK_PET_SCALING_05
@ SPELL_WARLOCK_PET_SCALING_03
@ SPELL_PET_PASSIVE_DAMAGE_TAKEN
@ SPELL_FERAL_SPIRIT_PET_SCALING_04
@ SPELL_FERAL_SPIRIT_PET_UNK_03
@ SPELL_FERAL_SPIRIT_PET_UNK_02
@ SPELL_FERAL_SPIRIT_PET_UNK_01
@ SPELL_MAGE_PET_PASSIVE_ELEMENTAL
@ SPELL_PET_HEALTH_SCALING
@ SPELL_HUNTER_ANIMAL_HANDLER
@ SPELL_HUNTER_PET_SCALING_02
@ SPELL_TAMED_PET_PASSIVE_07
@ SPELL_TAMED_PET_PASSIVE_06
@ SPELL_TAMED_PET_PASSIVE_08
@ SPELL_HUNTER_PET_SCALING_03
@ SPELL_TAMED_PET_PASSIVE_09
@ SPELL_TAMED_PET_PASSIVE_10
@ SPELL_HUNTER_PET_SCALING_04
@ SPELL_HUNTER_PET_SCALING_01
void AddSC_pet_spell_scripts()