aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/Unit.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index bd1921169b5..3be3a753724 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -5039,10 +5039,11 @@ void Unit::SendAttackStateUpdate(CalcDamageInfo *damageInfo)
sLog.outDebug("WORLD: Sending SMSG_ATTACKERSTATEUPDATE");
uint32 count = 1;
- WorldPacket data(SMSG_ATTACKERSTATEUPDATE, 16 + 45); // we guess size
+ size_t maxsize = 4+5+5+4+4+1+4+4+4+4+4+1+4+4+4+4+4*12;
+ WorldPacket data(SMSG_ATTACKERSTATEUPDATE, maxsize); // we guess size
data << uint32(damageInfo->HitInfo);
- data.append(damageInfo->attacker->GetPackGUID());
- data.append(damageInfo->target->GetPackGUID());
+ data << damageInfo->attacker->GetPackGUID();
+ data << damageInfo->target->GetPackGUID();
data << uint32(damageInfo->damage); // Full damage
int32 overkill = damageInfo->damage - damageInfo->target->GetHealth();
data << uint32(overkill < 0 ? 0 : overkill); // Overkill
@@ -5088,11 +5089,8 @@ void Unit::SendAttackStateUpdate(CalcDamageInfo *damageInfo)
data << float(0);
data << float(0);
data << float(0);
- for (uint8 i = 0; i < 5; ++i)
- {
- data << float(0);
- data << float(0);
- }
+ data << float(0); // Found in a loop with 1 iteration
+ data << float(0); // ditto ^
data << uint32(0);
}