[8010] Show overheal in combat log.

Signed-off-by: hunuza <hunuza@gmail.com>
This commit is contained in:
DonTomika 2009-06-14 11:32:57 +02:00 committed by hunuza
parent a34e7857f1
commit dcba023261
3 changed files with 6 additions and 5 deletions

View file

@ -7568,7 +7568,8 @@ int32 Unit::DealHeal(Unit *pVictim, uint32 addhealth, SpellEntry const *spellPro
if (GetTypeId()==TYPEID_PLAYER)
{
SendHealSpellLog(pVictim, spellProto->Id, addhealth, critical);
// overheal = addhealth - gain
SendHealSpellLog(pVictim, spellProto->Id, addhealth, addhealth - gain, critical);
if (BattleGround *bg = ((Player*)this)->GetBattleGround())
bg->UpdatePlayerScore((Player*)this, SCORE_HEALING_DONE, gain);
@ -7617,7 +7618,7 @@ Unit* Unit::SelectMagnetTarget(Unit *victim, SpellEntry const *spellInfo)
return victim;
}
void Unit::SendHealSpellLog(Unit *pVictim, uint32 SpellID, uint32 Damage, bool critical)
void Unit::SendHealSpellLog(Unit *pVictim, uint32 SpellID, uint32 Damage, uint32 OverHeal, bool critical)
{
// we guess size
WorldPacket data(SMSG_SPELLHEALLOG, (8+8+4+4+1));
@ -7625,7 +7626,7 @@ void Unit::SendHealSpellLog(Unit *pVictim, uint32 SpellID, uint32 Damage, bool c
data.append(GetPackGUID());
data << uint32(SpellID);
data << uint32(Damage);
data << uint32(0); // over healing?
data << uint32(OverHeal);
data << uint8(critical ? 1 : 0);
data << uint8(0); // unused in client?
SendMessageToSet(&data, true);