From f0f558f872c125c8b23690184a8e0d5d3c00c849 Mon Sep 17 00:00:00 2001 From: Shadooow Date: Thu, 28 Oct 2021 09:36:58 +0000 Subject: [PATCH] fixed collapsed soldiers sometimes not being able to get up when they should have until next player round git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9200 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Tactical/Soldier Control.cpp | 7 +++++++ Tactical/Turn Based Input.cpp | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/Tactical/Soldier Control.cpp b/Tactical/Soldier Control.cpp index b571ae88..acd5c5f9 100644 --- a/Tactical/Soldier Control.cpp +++ b/Tactical/Soldier Control.cpp @@ -7199,6 +7199,13 @@ BOOLEAN SOLDIERTYPE::EVENT_InternalGetNewSoldierPath( INT32 sDestGridNo, UINT16 BOOLEAN fAdvancePath = TRUE; UINT8 fFlags = 0; + //shadooow: if collapsed and enough breath, get up first and wait for new input + if (this->bCollapsed && this->bBreath >= OKBREATH) + { + this->BeginSoldierGetup(); + if(!this->bCollapsed) return FALSE; + } + // Ifd this code, make true if a player if ( fFromUI == 3 ) { diff --git a/Tactical/Turn Based Input.cpp b/Tactical/Turn Based Input.cpp index bc84d9bb..1ccce220 100644 --- a/Tactical/Turn Based Input.cpp +++ b/Tactical/Turn Based Input.cpp @@ -6306,6 +6306,10 @@ void HandleStanceChangeFromUIKeys( UINT8 ubAnimHeight ) if (gAnimControl[pSoldier->usAnimState].ubEndHeight != ubAnimHeight) pSoldier->usPendingAnimation = usNewState; } + else if (pSoldier->bCollapsed && pSoldier->bBreath >= OKBREATH) + { + pSoldier->BeginSoldierGetup(); + } else { UIHandleSoldierStanceChange(pSoldier->ubID, ubAnimHeight);