*Use map pointer of killed creature instead of player pointer to prevent crash in case killer is not in world.
--HG-- branch : trunk
This commit is contained in:
+1
-1
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user