This commit is contained in:
aozhiwei 2023-03-22 21:04:57 +08:00
parent 3ecbd98a44
commit cda1ae67ba

View File

@ -262,12 +262,19 @@ void CondAddBuff::ProcLimitTimeKillTarget()
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));
auto buff_vars = std::make_shared<std::vector<float>>();
buff_vars->push_back(target_uniid);
owner->TryAddBuff(GetCaster().Get(),
meta->_int_buff_param4,
skill_meta);
skill_meta,
nullptr,
buff_vars);
std::weak_ptr<EventHandlerPtr> handler = std::get<1>(itr->second);
context->watch_targets.erase(itr);
c->GetTrigger()->RemoveEventHandler(handler);
} else {
context->watch_targets.erase(itr);
}
context->watch_targets.erase(itr);
}
});
context->watch_targets[target->GetUniId()] = std::make_tuple(timer_wp, handler);