1
This commit is contained in:
parent
3ecbd98a44
commit
cda1ae67ba
@ -262,12 +262,19 @@ void CondAddBuff::ProcLimitTimeKillTarget()
|
|||||||
Entity* e = owner->room->GetEntityByUniId(target_uniid);
|
Entity* e = owner->room->GetEntityByUniId(target_uniid);
|
||||||
if (e && e->IsCreature(owner->room)) {
|
if (e && e->IsCreature(owner->room)) {
|
||||||
Creature* c = (Creature*)e;
|
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(),
|
owner->TryAddBuff(GetCaster().Get(),
|
||||||
meta->_int_buff_param4,
|
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);
|
context->watch_targets[target->GetUniId()] = std::make_tuple(timer_wp, handler);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user