diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 91b9426..be00f8e 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -684,19 +684,14 @@ void Human::BeKill(int killer_id, const std::string& killer_name, int weapon_id) stats.killer_name = killer_name; stats.weapon_id = weapon_id; } - GetTrigger()->Die(); { + GetTrigger()->Die(); dead = true; real_dead = true; downed = false; SetHP(0.0f); dead_frameno = room->GetFrameNo(); - if (HasBuffEffect(kBET_Camouflage)) { - RemoveBuffByEffectId(kBET_Camouflage); - } - ClearLordMode(); OnDie(); - DoGetDown(); KillMgr::Instance()->OnHumanDead(this, &info); room->frame_event.AddDead(GetWeakPtrRef(), 0); } @@ -2105,6 +2100,13 @@ void Human::ProcSpoils(Loot* entity, MetaData::Equip* item_meta) void Human::OnDie() { + { + if (HasBuffEffect(kBET_Camouflage)) { + RemoveBuffByEffectId(kBET_Camouflage); + } + ClearLordMode(); + DoGetDown(); + } real_dead_frameno = room->GetFrameNo(); room->OnHumanDie(this); SyncAroundPlayers(__FILE__, __LINE__, __func__);