(7960f5b50) Fixed nullref exception when attempting to start a mission round with mission type set to None
This commit is contained in:
@@ -1114,7 +1114,9 @@ namespace Barotrauma.Networking
|
|||||||
|
|
||||||
if (campaign == null)
|
if (campaign == null)
|
||||||
{
|
{
|
||||||
GameMain.GameSession = new GameSession(GameMain.NetLobbyScreen.SelectedSub, "", gameMode, missionIndex < 0 ? null : MissionPrefab.List[missionIndex]);
|
GameMain.GameSession = missionIndex < 0 ?
|
||||||
|
new GameSession(GameMain.NetLobbyScreen.SelectedSub, "", gameMode, MissionType.None) :
|
||||||
|
new GameSession(GameMain.NetLobbyScreen.SelectedSub, "", gameMode, MissionPrefab.List[missionIndex]);
|
||||||
GameMain.GameSession.StartRound(levelSeed, levelDifficulty, loadSecondSub);
|
GameMain.GameSession.StartRound(levelSeed, levelDifficulty, loadSecondSub);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -1756,9 +1756,8 @@ namespace Barotrauma.Networking
|
|||||||
Log("Level seed: " + GameMain.NetLobbyScreen.LevelSeed, ServerLog.MessageType.ServerMessage);
|
Log("Level seed: " + GameMain.NetLobbyScreen.LevelSeed, ServerLog.MessageType.ServerMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool missionAllowRespawn = campaign == null &&
|
MissionMode missionMode = GameMain.GameSession.GameMode as MissionMode;
|
||||||
(!(GameMain.GameSession.GameMode is MissionMode) ||
|
bool missionAllowRespawn = campaign == null && (missionMode?.Mission == null || missionMode.Mission.AllowRespawn);
|
||||||
((MissionMode)GameMain.GameSession.GameMode).Mission.AllowRespawn);
|
|
||||||
|
|
||||||
if (serverSettings.AllowRespawn && missionAllowRespawn) respawnManager = new RespawnManager(this, usingShuttle ? selectedShuttle : null);
|
if (serverSettings.AllowRespawn && missionAllowRespawn) respawnManager = new RespawnManager(this, usingShuttle ? selectedShuttle : null);
|
||||||
|
|
||||||
@@ -1941,10 +1940,8 @@ namespace Barotrauma.Networking
|
|||||||
|
|
||||||
MultiPlayerCampaign campaign = GameMain.GameSession?.GameMode as MultiPlayerCampaign;
|
MultiPlayerCampaign campaign = GameMain.GameSession?.GameMode as MultiPlayerCampaign;
|
||||||
|
|
||||||
bool missionAllowRespawn = campaign == null &&
|
MissionMode missionMode = GameMain.GameSession.GameMode as MissionMode;
|
||||||
(!(GameMain.GameSession.GameMode is MissionMode) ||
|
bool missionAllowRespawn = campaign == null && (missionMode?.Mission == null || missionMode.Mission.AllowRespawn);
|
||||||
((MissionMode)GameMain.GameSession.GameMode).Mission.AllowRespawn);
|
|
||||||
|
|
||||||
msg.Write(serverSettings.AllowRespawn && missionAllowRespawn);
|
msg.Write(serverSettings.AllowRespawn && missionAllowRespawn);
|
||||||
msg.Write(Submarine.MainSubs[1] != null); //loadSecondSub
|
msg.Write(Submarine.MainSubs[1] != null); //loadSecondSub
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user