diff --git a/server/gameserver/framemaker.cc b/server/gameserver/framemaker.cc index 7b9d399..d6c25ae 100644 --- a/server/gameserver/framemaker.cc +++ b/server/gameserver/framemaker.cc @@ -24,13 +24,18 @@ cs::SMUpdate* FrameMaker::MakeUpdateMsg(const Human* hum) itr->FillMFObjectFull(msg->add_full_objects()); } for (auto& itr : hum->part_objects) { - if (room->gas_data.gas_mode == GasJump && - itr != hum && - itr->entity_type == ET_Player && - a8::HasBitFlag(((Human*)itr)->status, HS_Fly)) { + Entity* entity = itr; + if (entity->dead && hum->room->frame_no - entity->dead_frameno > 10) { continue; + } else { + if (room->gas_data.gas_mode == GasJump && + entity != hum && + entity->entity_type == ET_Player && + a8::HasBitFlag(((Human*)entity)->status, HS_Fly)) { + continue; + } } - itr->FillMFObjectPart(msg->add_part_objects()); + entity->FillMFObjectPart(msg->add_part_objects()); } for (auto& itr : hum->del_objects) { msg->add_del_objids(itr);