diff --git a/Laptop/IMP MainPage.cpp b/Laptop/IMP MainPage.cpp index f0c718ce..f0737421 100644 --- a/Laptop/IMP MainPage.cpp +++ b/Laptop/IMP MainPage.cpp @@ -85,7 +85,8 @@ BOOLEAN IsIMPSlotFree(INT32 iIMPId) { if ((iIMPId >= 0) && (iIMPId < NUM_PROFILES) && (iIMPId != NO_PROFILE) && ( gMercProfiles[iIMPId].Type == PROFILETYPE_IMP ) && - (wcscmp(gMercProfiles[iIMPId].zName, L"") == 0)) + ((wcscmp(gMercProfiles[iIMPId].zName, L"") == 0) || + (gMercProfiles[iIMPId].bMercStatus == MERC_FIRED_AS_A_POW))) { return TRUE; } diff --git a/Strategic/Merc Contract.cpp b/Strategic/Merc Contract.cpp index 19c13977..18e812c3 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_FIRED_AS_A_POW))) { + ( gMercProfiles[ pSoldier->ubProfile ].bMercStatus == MERC_IS_DEAD ) ) { // Replace the name with an empty string wcsncpy( gMercProfiles[ pSoldier->ubProfile ].zName, L"", 1 ); }