If entity dies, it gets removed from the map. This is fine for most of the cases. For mobs the mob just disappears, for players you will get the new info on respawn.
Problem comes with Character, if I die, I won't get my info again. The entity is not in the Map and it will come back only when going to another map and back. This can be a problem, because new packets won't be handled correctly. The entity will always be null (at least for su packet)
The responsible method for this is SuPacketHandler::Handle. It calls map.RemoveEntity(target);
I hotfixed it using
if (target.Id != client.Character.Id)
{
map.RemoveEntity(target);
}
I didn't test it for any side effects.
If entity dies, it gets removed from the map. This is fine for most of the cases. For mobs the mob just disappears, for players you will get the new info on respawn.
Problem comes with
Character, if I die, I won't get my info again. The entity is not in theMapand it will come back only when going to another map and back. This can be a problem, because new packets won't be handled correctly. The entity will always be null (at least for su packet)The responsible method for this is
SuPacketHandler::Handle. It callsmap.RemoveEntity(target);I hotfixed it using
I didn't test it for any side effects.