From 6a50516174a266e8e73403871101399f6855a3d1 Mon Sep 17 00:00:00 2001 From: megamage Date: Mon, 31 Aug 2009 12:00:19 -0500 Subject: [PATCH] *Add an error log to find crash reason of m_spellModTakingSpell. --HG-- branch : trunk --- src/game/Player.cpp | 8 +++++++- src/game/Unit.cpp | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/game/Player.cpp b/src/game/Player.cpp index cfddb5e76a..b1eb2ffb45 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -1125,7 +1125,13 @@ void Player::Update( uint32 p_time ) // If this is set during update SetSpellModTakingSpell call is missing somewhere in the code // Having this would prevent more aura charges to be dropped, so let's crash - assert (!m_spellModTakingSpell); + //assert (!m_spellModTakingSpell); + if(m_spellModTakingSpell) + { + sLog.outCrash("Player has m_spellModTakingSpell %u during update!", m_spellModTakingSpell->m_spellInfo->Id); + assert(false); + m_spellModTakingSpell = NULL; + } //used to implement delayed far teleports SetCanDelayTeleport(true); diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 4c06a3ff4e..fd6665fe1f 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -4512,7 +4512,8 @@ void Unit::SendSpellNonMeleeDamageLog(SpellNonMeleeDamage *log) data.append(log->attacker->GetPackGUID()); data << uint32(log->SpellID); data << uint32(log->damage); // damage amount - data << uint32(int32 (log->target->GetHealth()-log->damage ) >0 ? 0 : log->damage - log->target->GetHealth()); + int32 overkill = log->damage - log->target->GetHealth(); + data << uint32(overkill > 0 ? overkill : 0); //data << uint32(log->overkill); // overkill data << uint8 (log->schoolMask); // damage school data << uint32(log->absorb); // AbsorbedDamage