The fixes I made that were meant to stop that where in the mob destructor:
mob.cpp
Code:
Mob::~Mob()
{
// Our Entity ID is set to 0 in NPC::Death. This leads to mobs hanging around for a while in
// the entity list, even after they have been destroyed. Use our memory pointer to remove the mob
// if our EntityID is 0.
//
if(GetID() > 0)
entity_list.RemoveMob(GetID());
else
entity_list.RemoveMob(this);
and the end of the client destructor:
client.cpp
Code:
Client::~Client() {
<snip>
entity_list.RemoveClient(this);
}
void Client::SendLogoutPackets() {
If you have the code in green, I am not sure what could be causing the problem.