Index: SpellAuras.cpp
===================================================================
--- SpellAuras.cpp (revision 421)
+++ SpellAuras.cpp (working copy)
@@ -4833,7 +4947,7 @@
if ((m_modifier.m_miscvalue == STAT_STAMINA) && (maxHPValue > 0) && (m_spellProto->Attributes & 0x10))
{
// newHP = (curHP / maxHP) * newMaxHP = (newMaxHP * curHP) / maxHP -> which is better because no int -> double -> int conversion is needed
- uint32 newHPValue = (m_target->GetMaxHealth() * curHPValue) / maxHPValue;
+ uint32 newHPValue = (uint64(m_target->GetMaxHealth()) * uint64(curHPValue)) / maxHPValue;
m_target->SetHealth(newHPValue);
}
}