2
0
Эх сурвалжийг харах

Preserve chosen campaign bonus on scenario restart request

Ivan Savenko 2 жил өмнө
parent
commit
775e5948ec

+ 6 - 0
server/CVCMIServer.cpp

@@ -277,6 +277,12 @@ void CVCMIServer::prepareToRestart()
 		* si = * gh->gs->initialOpts;
 		si->seedToBeUsed = si->seedPostInit = 0;
 		state = EServerState::LOBBY;
+		if (si->campState)
+		{
+			assert(si->campState->currentScenario().has_value());
+			campaignMap = si->campState->currentScenario().value_or(CampaignScenarioID(0));
+			campaignBonus = si->campState->getBonusID(campaignMap).value_or(-1);
+		}
 		// FIXME: dirry hack to make sure old CGameHandler::run is finished
 		boost::this_thread::sleep(boost::posix_time::milliseconds(1000));
 	}