diff --git a/server/gameserver/airraid.cc b/server/gameserver/airraid.cc index 49e6f7e3..cadc4305 100644 --- a/server/gameserver/airraid.cc +++ b/server/gameserver/airraid.cc @@ -45,22 +45,18 @@ void AirRaid::Exec(int airraid_id) return; } - auto raid_cb = - [this, raid_meta, center] - (int event, const a8::Args* args) - { - if (a8::TIMER_EXEC_EVENT != event) { - return; - } - if (room_->IsGameOver()) { - return; - } - ExecOneRoundAirRaid(raid_meta, center); - }; - room_->xtimer.SetTimeoutEx (SERVER_FRAME_RATE * raid_meta->appear_time() / 1000.f, - raid_cb, + [this, raid_meta, center] + (int event, const a8::Args* args) + { + if (a8::TIMER_EXEC_EVENT == event) { + if (room_->IsGameOver()) { + return; + } + ExecOneRoundAirRaid(raid_meta, center); + } + }, &room_->xtimer_attacher_); }