[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) 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()) if (BattleGround *bg = ((Player*)this)->GetBattleGround())
bg->UpdatePlayerScore((Player*)this, SCORE_HEALING_DONE, gain); bg->UpdatePlayerScore((Player*)this, SCORE_HEALING_DONE, gain);
@ -7617,7 +7618,7 @@ Unit* Unit::SelectMagnetTarget(Unit *victim, SpellEntry const *spellInfo)
return victim; 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 // we guess size
WorldPacket data(SMSG_SPELLHEALLOG, (8+8+4+4+1)); 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.append(GetPackGUID());
data << uint32(SpellID); data << uint32(SpellID);
data << uint32(Damage); data << uint32(Damage);
data << uint32(0); // over healing? data << uint32(OverHeal);
data << uint8(critical ? 1 : 0); data << uint8(critical ? 1 : 0);
data << uint8(0); // unused in client? data << uint8(0); // unused in client?
SendMessageToSet(&data, true); SendMessageToSet(&data, true);

View file

@ -1117,7 +1117,7 @@ class MANGOS_DLL_SPEC Unit : public WorldObject
virtual bool IsUnderWater() const; virtual bool IsUnderWater() const;
bool isInAccessablePlaceFor(Creature const* c) const; bool isInAccessablePlaceFor(Creature const* c) const;
void SendHealSpellLog(Unit *pVictim, uint32 SpellID, uint32 Damage, bool critical = false); void SendHealSpellLog(Unit *pVictim, uint32 SpellID, uint32 Damage, uint32 OverHeal, bool critical = false);
void SendEnergizeSpellLog(Unit *pVictim, uint32 SpellID, uint32 Damage,Powers powertype); void SendEnergizeSpellLog(Unit *pVictim, uint32 SpellID, uint32 Damage,Powers powertype);
uint32 SpellNonMeleeDamageLog(Unit *pVictim, uint32 spellID, uint32 damage); uint32 SpellNonMeleeDamageLog(Unit *pVictim, uint32 spellID, uint32 damage);
void CastSpell(Unit* Victim, uint32 spellId, bool triggered, Item *castItem = NULL, Aura* triggeredByAura = NULL, uint64 originalCaster = 0); void CastSpell(Unit* Victim, uint32 spellId, bool triggered, Item *castItem = NULL, Aura* triggeredByAura = NULL, uint64 originalCaster = 0);

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "8009" #define REVISION_NR "8010"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__