[10767] Show <overkill> value in combat logs.

Signed-off-by: Ambal <pogrebniak@gala.net>
This commit is contained in:
zergtmn 2010-11-21 10:51:29 +02:00 committed by Ambal
parent 06e8d8c0ea
commit 272fa74854
4 changed files with 18 additions and 12 deletions

View file

@ -1755,12 +1755,15 @@ void Unit::DealMeleeDamage(CalcDamageInfo *damageInfo, bool durabilityLoss)
pVictim->DealDamageMods(this,damage,NULL);
uint32 targetHealth = GetHealth();
uint32 overkill = damage > targetHealth ? damage - targetHealth : 0;
WorldPacket data(SMSG_SPELLDAMAGESHIELD,(8+8+4+4+4+4));
data << pVictim->GetObjectGuid();
data << GetObjectGuid();
data << uint32(i_spellProto->Id);
data << uint32(damage); // Damage
data << uint32(0); // Overkill
data << uint32(overkill); // Overkill
data << uint32(i_spellProto->SchoolMask);
pVictim->SendMessageToSet(&data, true );
@ -5072,12 +5075,15 @@ void Unit::RemoveAllGameObjects()
void Unit::SendSpellNonMeleeDamageLog(SpellNonMeleeDamage *log)
{
uint32 targetHealth = log->target->GetHealth();
uint32 overkill = log->damage > targetHealth ? log->damage - targetHealth : 0;
WorldPacket data(SMSG_SPELLNONMELEEDAMAGELOG, (16+4+4+4+1+4+4+1+1+4+4+1)); // we guess size
data << log->target->GetPackGUID();
data << log->attacker->GetPackGUID();
data << uint32(log->SpellID);
data << uint32(log->damage); // damage amount
data << uint32(log->overkill); // overkill
data << uint32(overkill); // overkill
data << uint8 (log->schoolMask); // damage school
data << uint32(log->absorb); // AbsorbedDamage
data << uint32(log->resist); // resist
@ -5179,13 +5185,16 @@ void Unit::SendAttackStateUpdate(CalcDamageInfo *damageInfo)
{
DEBUG_FILTER_LOG(LOG_FILTER_COMBAT, "WORLD: Sending SMSG_ATTACKERSTATEUPDATE");
uint32 targetHealth = damageInfo->target->GetHealth();
uint32 overkill = damageInfo->damage > targetHealth ? damageInfo->damage - targetHealth : 0;
uint32 count = 1;
WorldPacket data(SMSG_ATTACKERSTATEUPDATE, 16 + 45); // we guess size
data << uint32(damageInfo->HitInfo);
data << damageInfo->attacker->GetPackGUID();
data << damageInfo->target->GetPackGUID();
data << uint32(damageInfo->damage); // Full damage
data << uint32(0); // overkill value
data << uint32(overkill); // overkill value
data << uint8(count); // Sub damage count
for(uint32 i = 0; i < count; ++i)
@ -10785,4 +10794,4 @@ bool Unit::IsAllowedDamageInArea(Unit* pVictim) const
return false;
return true;
}
}