diff --git a/Strategic/Map Screen Interface.cpp b/Strategic/Map Screen Interface.cpp index 59eded1c7..e7430fec2 100644 --- a/Strategic/Map Screen Interface.cpp +++ b/Strategic/Map Screen Interface.cpp @@ -5992,6 +5992,24 @@ BOOLEAN CanCharacterMoveInStrategic( SOLDIERTYPE *pSoldier, INT8 *pbErrorNumber return( FALSE ); } } + else if (pSoldier->bAssignment == VEHICLE && VehicleIdIsValid(pSoldier->bVehicleID)) + { + SOLDIERTYPE *pVehicle = GetSoldierStructureForVehicle(pSoldier->bVehicleID); + + // too damaged? + if (pVehicle->stats.bLife < OKLIFE) + { + *pbErrorNumber = 47; + return(FALSE); + } + + // out of fuel? + if (!VehicleHasFuel(pVehicle)) + { + *pbErrorNumber = 42; + return(FALSE); + } + } else // non-vehicle { // dead?