1
This commit is contained in:
commit
9c00a80f3d
@ -347,9 +347,13 @@ void CallFuncBuff::ProcFlashMove()
|
|||||||
void CallFuncBuff::ProcAddEnergyShield()
|
void CallFuncBuff::ProcAddEnergyShield()
|
||||||
{
|
{
|
||||||
if (!owner->dead && !owner->downed) {
|
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) {
|
if (owner->energy_shield > 0) {
|
||||||
is_valid_ = false;
|
is_valid_ = false;
|
||||||
owner->GetTrigger()->UpdateEnergyShield(hold_param2_, meta->GetDurationTime(this) * FRAME_RATE_MS);
|
owner->GetTrigger()->UpdateEnergyShield(hold_param2_, dur_time);
|
||||||
} else {
|
} else {
|
||||||
owner->AddEnergyShield(hold_param2_);
|
owner->AddEnergyShield(hold_param2_);
|
||||||
event_handlers_.push_back(owner->GetTrigger()->AddListener
|
event_handlers_.push_back(owner->GetTrigger()->AddListener
|
||||||
@ -368,6 +372,16 @@ void CallFuncBuff::ProcAddEnergyShield()
|
|||||||
{
|
{
|
||||||
owner->RemoveBuffByUniId(buff_uniid);
|
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