aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQAston <none@none>2009-07-20 16:59:15 +0200
committerQAston <none@none>2009-07-20 16:59:15 +0200
commitb1183c931b1dcbffa83d860c32d1afa308bb03e6 (patch)
treefa3a9ae62286b02c59a434afa4b79d013fa63632
parentffcbd11b2c4f72f9390486081d813bcf54a41179 (diff)
*Use map pointer of killed creature instead of player pointer to prevent crash in case killer is not in world.
--HG-- branch : trunk
-rw-r--r--src/game/Formulas.h2
-rw-r--r--src/game/Unit.cpp1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/game/Formulas.h b/src/game/Formulas.h
index 041c0621c74..2ec175f95be 100644
--- a/src/game/Formulas.h
+++ b/src/game/Formulas.h
@@ -117,7 +117,7 @@ namespace Trinity
(((Creature*)u)->GetCreatureInfo()->flags_extra & CREATURE_FLAG_EXTRA_NO_XP_AT_KILL) ))
return 0;
- uint32 xp_gain= BaseGain(pl->getLevel(), u->getLevel(), GetContentLevelsForMapAndZone(pl->GetMapId(),pl->GetZoneId()));
+ uint32 xp_gain= BaseGain(pl->getLevel(), u->getLevel(), GetContentLevelsForMapAndZone(u->GetMapId(),u->GetZoneId()));
if( xp_gain == 0 )
return 0;
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 66a06135ec5..24128fc85c5 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -13668,6 +13668,7 @@ void Unit::SetToNotify()
void Unit::Kill(Unit *pVictim, bool durabilityLoss)
{
+ assert(pVictim->IsInWorld() && pVictim->FindMap());
// Prevent killing unit twice (and giving reward from kill twice)
if (!pVictim->GetHealth())
return;