瀏覽代碼

Fix game crash at AI turn

nordsoft 2 年之前
父節點
當前提交
dd3e9f102b
共有 1 個文件被更改,包括 5 次插入2 次删除
  1. 5 2
      server/TurnTimerHandler.cpp

+ 5 - 2
server/TurnTimerHandler.cpp

@@ -108,7 +108,10 @@ void TurnTimerHandler::onBattleNextStack(const CStack & stack)
 {
 	const auto * gs = gameHandler.gameState();
 	const auto * si = gameHandler.getStartInfo();
-	if(!si || !gs)
+	if(!si || !gs || !gs->curB)
+		return;
+	
+	if(!stack.getOwner().isValidPlayer())
 		return;
 	
 	const auto & state = gs->players.at(stack.getOwner());
@@ -133,7 +136,7 @@ void TurnTimerHandler::onBattleLoop(int waitTime)
 		return;
 	
 	const auto * stack = gs->curB.get()->battleGetStackByID(gs->curB->getActiveStackID());
-	if(!stack)
+	if(!stack || !stack->getOwner().isValidPlayer())
 		return;
 	
 	auto & state = gs->players.at(gs->curB->getSidePlayer(stack->unitSide()));