From 212085f1ff4ee9ef7bc0700ac6ea32256852d743 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 9 Apr 2021 20:47:03 +0800 Subject: [PATCH] 1 --- server/gameserver/roomobstacle.cc | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/server/gameserver/roomobstacle.cc b/server/gameserver/roomobstacle.cc index f3f34e5..0a7b00e 100644 --- a/server/gameserver/roomobstacle.cc +++ b/server/gameserver/roomobstacle.cc @@ -409,14 +409,24 @@ void RoomObstacle::ActivePosionGas() room->xtimer.AddDeadLineTimerAndAttach ( - SERVER_FRAME_RATE, + meta->i->time() / FRAME_RATE_MS, a8::XParams() .SetSender(this), [] (const a8::XParams& param) { RoomObstacle* obstacle = (RoomObstacle*)param.sender.GetUserData(); - obstacle->Die(obstacle->room); - obstacle->BroadcastFullState(obstacle->room); + obstacle->room->xtimer.AddRepeatTimerAndAttach + ( + obstacle->meta->i->explosion_interval() / FRAME_RATE_MS, + a8::XParams() + .SetSender(obstacle), + [] (const a8::XParams& param) + { + RoomObstacle* obstacle = (RoomObstacle*)param.sender.GetUserData(); + obstacle->SpecExplosion(); + }, + &obstacle->xtimer_attacher.timer_list_ + ); }, &xtimer_attacher.timer_list_ );