private static void Mobile_Dead(Mobile m, DeadEventArgs args)
{
var c = args.Corpse;
var map = m.Map;
if (map != null)
{
Packet animPacket = null;
Packet remPacket = null;
foreach (var state in map.GetClientsInRange(m.Location))
{
if (state != m.NetState)
{
if (animPacket == null)
{
animPacket = Packet.Acquire(new DeathAnimation(m, c));
}
state.Send(animPacket);
if (!state.Mobile.CanSee(m))
{
if (remPacket == null)
{
remPacket = m.RemovePacket;
}
state.Send(remPacket);
}
}
}
Packet.Release(animPacket);
}
}