diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index d19becd2..06f1e1b9 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -3396,17 +3396,20 @@ void Room::GMFastForward() } }); GetIncubator()->Clear(5); - for (auto& pair : human_hash_) { - if (pair.second->IsAndroid() && - !a8::HasBitFlag(pair.second->status, CS_Disable)) { - Human* hum = pair.second; - hum->BeKill(VP_Gas, - TEXT("battle_server_killer_gas", "毒圈"), - VW_Gas, - VP_Gas, - TEXT("battle_server_killer_gas", "毒圈")); - } - } + TraverseHumanList + ( + [] (Human* ele_hum) -> bool + { + if (ele_hum->IsAndroid() && + !a8::HasBitFlag(ele_hum->status, CS_Disable)) { + Human* hum = ele_hum; + hum->BeKill(VP_Gas, + TEXT("battle_server_killer_gas", "毒圈"), + VW_Gas, + VP_Gas, + TEXT("battle_server_killer_gas", "毒圈")); + } + }); xtimer.SetTimeoutEx ( 1,