diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index b95b31962..c7964a1ff 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -11255,12 +11255,12 @@ void Unit::SendEnergizeSpellLog(Unit* victim, uint32 spellID, uint32 damage, Pow void Unit::EnergizeBySpell(Unit* victim, uint32 spellID, uint32 damage, Powers powerType) { - victim->ModifyPower(powerType, damage, false); + int32 gainedPower = victim->ModifyPower(powerType, damage, false); - if (powerType != POWER_HAPPINESS) + if (powerType != POWER_HAPPINESS && gainedPower) { SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellID); - victim->getHostileRefMgr().threatAssist(this, float(damage) * 0.5f, spellInfo); + victim->getHostileRefMgr().threatAssist(this, float(gainedPower) * 0.5f, spellInfo); } SendEnergizeSpellLog(victim, spellID, damage, powerType);