diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 2c5d26425..5e898702d 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -7332,8 +7332,8 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3 // Taken/Done total percent damage auras float DoneTotalMod = 1.0f; float TakenTotalMod = 1.0f; - uint32 DoneTotal = 0; - uint32 TakenTotal = 0; + int32 DoneTotal = 0; + int32 TakenTotal = 0; // ..done // Pet damage @@ -7520,6 +7520,14 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3 } } + // Custom scripted damage + // Ice Lance + if (spellProto->SpellFamilyName == SPELLFAMILY_MAGE && spellProto->SpellIconID == 186) + { + if (pVictim->isFrozen()) + DoneTotalMod *= 3.0f; + } + // ..taken AuraList const& mModDamagePercentTaken = pVictim->GetAurasByType(SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN); for(AuraList::const_iterator i = mModDamagePercentTaken.begin(); i != mModDamagePercentTaken.end(); ++i) @@ -7883,8 +7891,8 @@ uint32 Unit::SpellHealingBonus(Unit *pVictim, SpellEntry const *spellProto, uint // Taken/Done total percent damage auras float DoneTotalMod = 1.0f; float TakenTotalMod = 1.0f; - uint32 DoneTotal = 0; - uint32 TakenTotal = 0; + int32 DoneTotal = 0; + int32 TakenTotal = 0; // Healing done percent AuraList const& mHealingDonePct = GetAurasByType(SPELL_AURA_MOD_HEALING_DONE_PERCENT); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index a91a51d5c..d542e8dd6 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "7199" + #define REVISION_NR "7200" #endif // __REVISION_NR_H__