This commit is contained in:
aozhiwei 2023-03-17 17:53:14 +08:00
parent ef830ecbab
commit e6c32f28bc

View File

@ -333,7 +333,7 @@ void CallFuncBuff::ProcLightCircle()
int keep_buff_uniid = 0; int keep_buff_uniid = 0;
); );
{
auto on_enter = auto on_enter =
[this, context] (Human* hum) [this, context] (Human* hum)
{ {
@ -382,6 +382,10 @@ void CallFuncBuff::ProcLightCircle()
[this, context, on_enter, on_stay, on_leave] [this, context, on_enter, on_stay, on_leave]
() ()
{ {
if (owner->HasBuffEffect(kBET_Fly) ||
owner->HasBuffEffect(kBET_Jump)) {
return;
}
const mt::Skill* curr_skill_meta = context->active_skill_meta ? const mt::Skill* curr_skill_meta = context->active_skill_meta ?
context->active_skill_meta : skill_meta; context->active_skill_meta : skill_meta;
if (!owner->dead) { if (!owner->dead) {
@ -473,7 +477,6 @@ void CallFuncBuff::ProcLightCircle()
} }
}, },
&xtimer_attacher); &xtimer_attacher);
}
{ {
owner->GetTrigger()->AddListener owner->GetTrigger()->AddListener
@ -525,9 +528,13 @@ void CallFuncBuff::ProcLightCircle()
owner->GetTrigger()->AddListener owner->GetTrigger()->AddListener
( (
kStartJump, kStartJump,
[this, context] (const a8::Args& args) mutable [this, context, on_leave] (const a8::Args& args) mutable
{ {
if (context->keep_buff_uniid) { if (context->keep_buff_uniid) {
for (auto& pair : context->in_human_infos) {
on_leave(pair.second.c.Get()->AsHuman());
}
context->in_human_infos.clear();
owner->RemoveBuffByUniId(context->keep_buff_uniid); owner->RemoveBuffByUniId(context->keep_buff_uniid);
context->keep_buff_uniid = 0; context->keep_buff_uniid = 0;
} }