diff --git a/server/gameserver/buff/cond_add.cc b/server/gameserver/buff/cond_add.cc index 677fbb95..34ff3655 100644 --- a/server/gameserver/buff/cond_add.cc +++ b/server/gameserver/buff/cond_add.cc @@ -232,9 +232,13 @@ void CondAddBuff::ProcLimitTimeKillTarget() auto holder = std::make_shared ( - [context] (const a8::Args& args) + [this, context] (const a8::Args& args) { - + if (!owner->room->IsDestorying()) { + for (auto& pair : context->watch_targets) { + owner->GetTrigger()->RemoveEventHandler(std::get<1>(pair.second)); + } + } }); auto cb =