From 0c3ca15558059011e49f9737ede8e493468e05a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20Fa=C5=82kowski?= Date: Mon, 2 Oct 2023 18:01:09 +0200 Subject: [PATCH] Fixed UI movement mode not switching to crawl on character collapse, leading to deadlocks --- Tactical/Points.cpp | 2 +- Tactical/Soldier Control.cpp | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Tactical/Points.cpp b/Tactical/Points.cpp index f16aacc88..81597a60d 100644 --- a/Tactical/Points.cpp +++ b/Tactical/Points.cpp @@ -3214,7 +3214,7 @@ BOOLEAN CheckForMercContMove( SOLDIERTYPE *pSoldier ) return( FALSE ); } - if( pSoldier->stats.bLife >= OKLIFE ) + if( pSoldier->stats.bLife >= OKLIFE && !(pSoldier->bCollapsed && pSoldier->bBreath < OKBREATH) ) { if( pSoldier->sGridNo != pSoldier->pathing.sFinalDestination || pSoldier->bGoodContPath ) { diff --git a/Tactical/Soldier Control.cpp b/Tactical/Soldier Control.cpp index 271368d04..83cba7f76 100644 --- a/Tactical/Soldier Control.cpp +++ b/Tactical/Soldier Control.cpp @@ -21837,6 +21837,8 @@ void SoldierCollapse( SOLDIERTYPE *pSoldier ) pSoldier->bCollapsed = TRUE; + pSoldier->usUIMovementMode = CRAWLING; + pSoldier->ReceivingSoldierCancelServices( ); // CC has requested - handle sight here...