1
This commit is contained in:
parent
66665de562
commit
418ef3ca06
@ -908,7 +908,7 @@ void Room::UpdateGas()
|
||||
UpdateGasMoving();
|
||||
break;
|
||||
}
|
||||
if (gas_data_.gas_mode != GasInactive) {
|
||||
if (gas_data_.gas_mode != GasInactive && GetRoomMode() == kChiJiMode) {
|
||||
if (!IsGameOver() && alive_count_ <= MAX_TEAM_NUM && GetAliveTeamNum() <= 1) {
|
||||
game_over_ = true;
|
||||
game_over_frameno_ = GetFrameNo();
|
||||
@ -1563,6 +1563,13 @@ void Room::NotifyWxVoip()
|
||||
&xtimer_attacher_.timer_list_);
|
||||
}
|
||||
|
||||
void Room::BattleReport()
|
||||
{
|
||||
game_over_ = true;
|
||||
game_over_frameno_ = frameno_;
|
||||
RoomMgr::Instance()->AddOverRoom(room_uuid_);
|
||||
}
|
||||
|
||||
BornPoint* Room::AllocBornPoint(Human* hum)
|
||||
{
|
||||
BornPoint* born_point = nullptr;
|
||||
@ -2683,7 +2690,9 @@ void Room::NewBieRoomStart()
|
||||
|
||||
void Room::ZombieModeStart()
|
||||
{
|
||||
if (GetRoomMode() == kZombieMode) {
|
||||
if (GetRoomMode() != kZombieMode) {
|
||||
abort();
|
||||
}
|
||||
if (human_hash_.size() != GetRoomMaxPlayerNum()) {
|
||||
abort();
|
||||
}
|
||||
@ -2696,7 +2705,22 @@ void Room::ZombieModeStart()
|
||||
Human* hum = human_list[i];
|
||||
hum->ChangeToRace(kZombieRace, 1);
|
||||
}
|
||||
battle_report_timer_ = xtimer.AddDeadLineTimerAndAttach
|
||||
(SERVER_FRAME_RATE * MetaMgr::Instance()->zbmode_game_duration,
|
||||
a8::XParams()
|
||||
.SetSender(this),
|
||||
[] (const a8::XParams& param)
|
||||
{
|
||||
Room* room = (Room*)param.sender.GetUserData();
|
||||
room->BattleReport();
|
||||
},
|
||||
&xtimer_attacher_.timer_list_,
|
||||
[] (const a8::XParams& param)
|
||||
{
|
||||
Room* room = (Room*)param.sender.GetUserData();
|
||||
room->battle_report_timer_ = nullptr;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
Human* Room::GetOneCanEnableAndroid()
|
||||
|
@ -153,6 +153,7 @@ private:
|
||||
void OnGameOver();
|
||||
void RandRemoveAndroid();
|
||||
void NotifyWxVoip();
|
||||
void BattleReport();
|
||||
BornPoint* AllocBornPoint(Human* hum);
|
||||
BornPoint* GetBornPoint(int point_uniid);
|
||||
void CreateSpawnPoints();
|
||||
@ -247,6 +248,7 @@ private:
|
||||
int creator_game_times_ = 0;
|
||||
int creator_register_time_ = 0;
|
||||
bool force_entry_newbie_room_ = false;
|
||||
xtimer_list* battle_report_timer_ = nullptr;
|
||||
|
||||
int current_teamid_ = 0;
|
||||
int current_uniid_ = FIXED_OBJECT_MAXID;
|
||||
|
Loading…
x
Reference in New Issue
Block a user