This commit is contained in:
aozhiwei 2023-05-11 15:47:44 +08:00
parent 3dd9591303
commit b13848b90a

View File

@ -348,6 +348,9 @@ void CallFuncBuff::ProcAddEnergyShield()
{
if (!owner->dead && !owner->downed) {
float dur_time = meta->GetBuffParam3(this) * FRAME_RATE_MS;
if (dur_time < 0.00001f) {
dur_time = 99999999;
}
if (owner->energy_shield > 0) {
is_valid_ = false;
owner->GetTrigger()->UpdateEnergyShield(hold_param2_, dur_time);
@ -369,6 +372,16 @@ void CallFuncBuff::ProcAddEnergyShield()
{
owner->RemoveBuffByUniId(buff_uniid);
}));
owner->room->xtimer.SetTimeoutWpEx
(
dur_time / FRAME_RATE_MS,
[owner = owner] (int event, const a8::Args* args) mutable
{
if (a8::TIMER_DELETE_EVENT == event) {
owner->ClearEnergyShield();
}
},
&owner->xtimer_attacher);
}
}
}