Set up ASSIGNMENT_REBELCOMMAND

Hook up Start Mission button
This commit is contained in:
rftrdev
2022-10-13 11:31:48 -07:00
parent 8858559a10
commit feaf9827c9
20 changed files with 154 additions and 63 deletions
+16 -7
View File
@@ -2411,7 +2411,8 @@ void DrawCharBars( void )
if( ( pSoldier->stats.bLife == 0 ) ||
( pSoldier->bAssignment == ASSIGNMENT_DEAD ) ||
( pSoldier->bAssignment == ASSIGNMENT_POW ) ||
( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) )
( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
{
return;
}
@@ -2829,7 +2830,7 @@ void DrawCharHealth( INT16 sCharNum )
pSoldier = &Menptr[gCharactersList[sCharNum].usSolID];
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT )
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT && pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND )
{
// find starting X coordinate by centering all 3 substrings together, then print them separately (different colors)!
swprintf( sString, L"%d/%d", pSoldier->stats.bLife, pSoldier->stats.bLifeMax );
@@ -11328,7 +11329,7 @@ void TeamListInfoRegionBtnCallBack(MOUSE_REGION *pRegion, INT32 iReason )
fPlotForMilitia = FALSE;
// if not dead or POW, select his sector
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ))//&& !SPY_LOCATION( pSoldier->bAssignment ) )
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) && ( pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND ) )//&& !SPY_LOCATION( pSoldier->bAssignment ) )
{
ChangeSelectedMapSector( pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ );
}
@@ -11384,7 +11385,7 @@ void TeamListInfoRegionBtnCallBack(MOUSE_REGION *pRegion, INT32 iReason )
fPlotForMilitia = FALSE;
// if not dead or POW, select his sector
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && !SPY_LOCATION( pSoldier->bAssignment ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) )
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && !SPY_LOCATION( pSoldier->bAssignment ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) && ( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
{
ChangeSelectedMapSector( pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ );
}
@@ -11567,7 +11568,7 @@ void TeamListAssignmentRegionBtnCallBack(MOUSE_REGION *pRegion, INT32 iReason )
fShownAssignmentMenu = FALSE;
// if not dead or POW, select his sector
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) )
if( ( pSoldier->stats.bLife > 0 ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) && ( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
{
ChangeSelectedMapSector( pSoldier->sSectorX, pSoldier->sSectorY, pSoldier->bSectorZ );
}
@@ -15115,6 +15116,7 @@ BOOLEAN MapCharacterHasAccessibleInventory( INT8 bCharNumber )
if( ( pSoldier->bAssignment == IN_TRANSIT ) ||
( pSoldier->bAssignment == ASSIGNMENT_POW ) ||
( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) ||
// Kaiden: Vehicle Inventory change - Commented the following line
// ( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) ||
// And added this instead:
@@ -15303,7 +15305,7 @@ BOOLEAN CanChangeSleepStatusForSoldier( SOLDIERTYPE *pSoldier )
// if a vehicle, robot, in transit, or a POW
if( ( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) || AM_A_ROBOT( pSoldier ) ||
( pSoldier->bAssignment == IN_TRANSIT ) || ( pSoldier->bAssignment == ASSIGNMENT_POW ) || ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) )
( pSoldier->bAssignment == IN_TRANSIT ) || ( pSoldier->bAssignment == ASSIGNMENT_POW ) || ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) || ( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) )
{
// can't change the sleep status of such mercs
return ( FALSE );
@@ -15856,7 +15858,7 @@ INT16 CalcLocationValueForChar( INT32 iCounter )
pSoldier = MercPtrs[ gCharactersList[ iCounter ].usSolID ];
// don't reveal location of POWs!
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT )
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT && pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND )
{
sLocValue = SECTOR( pSoldier->sSectorX, pSoldier->sSectorY );
// underground: add 1000 per sublevel
@@ -15950,6 +15952,7 @@ BOOLEAN AnyMovableCharsInOrBetweenThisSector( INT16 sSectorX, INT16 sSectorY, IN
SPY_LOCATION( pSoldier->bAssignment ) ||
( pSoldier->bAssignment == ASSIGNMENT_DEAD ) ||
( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) ||
( pSoldier->stats.bLife == 0 ) )
{
continue;
@@ -16554,6 +16557,11 @@ void GetMapscreenMercLocationString( SOLDIERTYPE *pSoldier, CHAR16 sString[] )
// mini event - unknown location, use the same string as POWs
swprintf( sString, L"%s", pPOWStrings[ 1 ] );
}
else if (pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
{
// on a rebel command mission
swprintf( sString, L"%s%s*", pMapVertIndex[pSoldier->sSectorY], pMapHortIndex[pSoldier->sSectorX] );
}
else if ( SPY_LOCATION( pSoldier->bAssignment ) )
{
swprintf( pTempString, L"%s%s%s",
@@ -16594,6 +16602,7 @@ void GetMapscreenMercDestinationString( SOLDIERTYPE *pSoldier, CHAR16 sString[]
if( ( pSoldier->bAssignment == ASSIGNMENT_DEAD ) ||
( pSoldier->bAssignment == ASSIGNMENT_POW ) ||
( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT ) ||
( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND ) ||
SPY_LOCATION( pSoldier->bAssignment ) ||
( pSoldier->stats.bLife == 0 ) )
{