From 4a2a1c67d2e949742774a4c6cca801155bfe13ff Mon Sep 17 00:00:00 2001 From: Shadooow Date: Sat, 5 Jun 2021 06:08:55 +0000 Subject: [PATCH] better way of handling IMP slot replacements, game will no longer replace dead merc that was not deleted from team - so his name and stats will stay intact in personnel page git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9063 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Laptop/IMP MainPage.cpp | 3 +-- Strategic/Merc Contract.cpp | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Laptop/IMP MainPage.cpp b/Laptop/IMP MainPage.cpp index f8485d7c..f0c718ce 100644 --- a/Laptop/IMP MainPage.cpp +++ b/Laptop/IMP MainPage.cpp @@ -85,8 +85,7 @@ BOOLEAN IsIMPSlotFree(INT32 iIMPId) { if ((iIMPId >= 0) && (iIMPId < NUM_PROFILES) && (iIMPId != NO_PROFILE) && ( gMercProfiles[iIMPId].Type == PROFILETYPE_IMP ) && - ((wcscmp(gMercProfiles[iIMPId].zName, L"") == 0) || - (gMercProfiles[iIMPId].bMercStatus == MERC_IS_DEAD) || (gMercProfiles[iIMPId].bMercStatus == MERC_FIRED_AS_A_POW))) + (wcscmp(gMercProfiles[iIMPId].zName, L"") == 0)) { return TRUE; } diff --git a/Strategic/Merc Contract.cpp b/Strategic/Merc Contract.cpp index 18e812c3..19c13977 100644 --- a/Strategic/Merc Contract.cpp +++ b/Strategic/Merc Contract.cpp @@ -1074,7 +1074,7 @@ BOOLEAN StrategicRemoveMerc( SOLDIERTYPE *pSoldier ) // WDS: This allows for replacing dead IMP mercs. See "BtnIMPBeginScreenDoneCallback" in "IMP Begin Screen.cpp" if( ( pSoldier->ubWhatKindOfMercAmI == MERC_TYPE__PLAYER_CHARACTER ) && - ( gMercProfiles[ pSoldier->ubProfile ].bMercStatus == MERC_IS_DEAD ) ) { + (( gMercProfiles[ pSoldier->ubProfile ].bMercStatus == MERC_IS_DEAD ) || (gMercProfiles[pSoldier->ubProfile].bMercStatus == MERC_FIRED_AS_A_POW))) { // Replace the name with an empty string wcsncpy( gMercProfiles[ pSoldier->ubProfile ].zName, L"", 1 ); }