diff --git a/Strategic/mapscreen.cpp b/Strategic/mapscreen.cpp index c21a4812..79809c6d 100644 --- a/Strategic/mapscreen.cpp +++ b/Strategic/mapscreen.cpp @@ -11604,7 +11604,7 @@ BOOLEAN CanExtendContractForCharSlot( INT8 bCharNumber ) Assert( pSoldier->bActive ); // if a vehicle, in transit, or a POW - if( ( pSoldier->uiStatusFlags & SOLDIER_VEHICLE ) || + if( /*( pSoldier->uiStatusFlags & SOLDIER_VEHICLE ) ||*/ ( pSoldier->bAssignment == IN_TRANSIT ) || ( pSoldier->bAssignment == ASSIGNMENT_POW ) ) { @@ -11612,6 +11612,14 @@ BOOLEAN CanExtendContractForCharSlot( INT8 bCharNumber ) return (FALSE); } + // if a vehicle has passengers + if ( (pSoldier->uiStatusFlags & SOLDIER_VEHICLE) && + (DoesVehicleHaveAnyPassengers(pSoldier->bVehicleID) ) ) + { + // then restrict contract menu + return (FALSE); + } + // mercs below OKLIFE, M.E.R.C. mercs, EPCs, and the Robot use the Contract menu so they can be DISMISSED/ABANDONED! // everything OK