1
This commit is contained in:
commit
9c00a80f3d
@ -347,9 +347,13 @@ void CallFuncBuff::ProcFlashMove()
|
||||
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_, meta->GetDurationTime(this) * FRAME_RATE_MS);
|
||||
owner->GetTrigger()->UpdateEnergyShield(hold_param2_, dur_time);
|
||||
} else {
|
||||
owner->AddEnergyShield(hold_param2_);
|
||||
event_handlers_.push_back(owner->GetTrigger()->AddListener
|
||||
@ -368,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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user