This commit is contained in:
aozhiwei 2023-04-10 16:32:09 +08:00
commit ae1ab3b1ee

View File

@ -257,14 +257,16 @@ void CondAddBuff::ProcLimitTimeKillTarget()
time_limit * SERVER_FRAME_RATE,
[this, context, target_uniid] (int event, const a8::Args* args)
{
auto itr = context->watch_targets.find(target_uniid);
if (itr != context->watch_targets.end()) {
Entity* e = owner->room->GetEntityByUniId(target_uniid);
if (e && e->IsCreature(owner->room)) {
Creature* c = (Creature*)e;
c->GetTrigger()->RemoveEventHandler(std::get<1>(itr->second));
if (a8::TIMER_EXEC_EVENT == event) {
auto itr = context->watch_targets.find(target_uniid);
if (itr != context->watch_targets.end()) {
Entity* e = owner->room->GetEntityByUniId(target_uniid);
if (e && e->IsCreature(owner->room)) {
Creature* c = (Creature*)e;
c->GetTrigger()->RemoveEventHandler(std::get<1>(itr->second));
}
context->watch_targets.erase(itr);
}
context->watch_targets.erase(itr);
}
},
&xtimer_attacher);