diff --git a/server/gameserver/buff/hide.cc b/server/gameserver/buff/hide.cc index a82a158c..82de93c1 100644 --- a/server/gameserver/buff/hide.cc +++ b/server/gameserver/buff/hide.cc @@ -95,7 +95,13 @@ void HideBuff::Check() } if (timeout) { - + for (auto& pair : alert_buff_hash_) { + auto& tuple = pair.second; + if (std::get<0>(tuple).Get()) { + std::get<0>(tuple).Get()->RemoveBuffByUniId(std::get<3>(tuple)); + } + } + alert_buff_hash_.clear(); } else if (!leave_targets.empty()) { for (int obj_uniid : leave_targets) { auto itr = alert_buff_hash_.find(obj_uniid);