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
+19 -1
View File
@@ -1515,6 +1515,9 @@ BOOLEAN DelayedTacticalCharacterDialogue( SOLDIERTYPE *pSoldier, UINT16 usQuoteN
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
return( FALSE );
return( CharacterDialogue( pSoldier->ubProfile, usQuoteNum, pSoldier->iFaceIndex, DIALOGUE_TACTICAL_UI, TRUE, TRUE ) );
}
@@ -1574,6 +1577,9 @@ BOOLEAN TacticalCharacterDialogueWithSpecialEventEx( SOLDIERTYPE *pSoldier, UINT
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
return( FALSE );
}
return( CharacterDialogueWithSpecialEventEx( pSoldier->ubProfile, usQuoteNum, pSoldier->iFaceIndex, DIALOGUE_TACTICAL_UI, TRUE, FALSE, uiFlag, uiData1, uiData2, uiData3 ) );
@@ -1625,6 +1631,9 @@ BOOLEAN TacticalCharacterDialogue( SOLDIERTYPE *pSoldier, UINT16 usQuoteNum )
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
return( FALSE );
// OK, let's check if this is the exact one we just played, if so, skip.
if ( pSoldier->ubProfile == gTacticalStatus.ubLastQuoteProfileNUm &&
usQuoteNum == gTacticalStatus.ubLastQuoteSaid )
@@ -1717,6 +1726,9 @@ BOOLEAN SnitchTacticalCharacterDialogue( SOLDIERTYPE *pSoldier, UINT16 usQuoteNu
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
return( FALSE );
// OK, let's check if this is the exact one we just played, if so, skip.
//if ( pSoldier->ubProfile == gTacticalStatus.ubLastQuoteProfileNUm &&
// usQuoteNum == gTacticalStatus.ubLastQuoteSaid )
@@ -1774,6 +1786,9 @@ BOOLEAN AdditionalTacticalCharacterDialogue_CallsLua( SOLDIERTYPE *pSoldier, UIN
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
return( FALSE );
if ( AM_AN_EPC( pSoldier ) && !( gMercProfiles[pSoldier->ubProfile].ubMiscFlags & PROFILE_MISC_FLAG_FORCENPCQUOTE ) )
return( FALSE );
@@ -1802,7 +1817,7 @@ void AdditionalTacticalCharacterDialogue_AllInSector(INT16 aSectorX, INT16 aSect
if ( pSoldier->stats.bLife >= OKLIFE && pSoldier->bActive &&
pSoldier->ubProfile != ausIgnoreProfile &&
pSoldier->sSectorX == aSectorX && pSoldier->sSectorY == aSectorY && pSoldier->bSectorZ == aSectorZ &&
pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != IN_TRANSIT && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT &&
pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != IN_TRANSIT && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT && pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND &&
(aAroundGridno == NOWHERE || PythSpacesAway( pSoldier->sGridNo, aAroundGridno ) <= aRadius ) &&
!pSoldier->flags.fBetweenSectors )
{
@@ -2105,6 +2120,9 @@ BOOLEAN ExecuteCharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
return( FALSE );
// sleeping guys don't talk.. go to standby to talk
if( pSoldier->flags.fMercAsleep == TRUE )
{
+4 -1
View File
@@ -960,6 +960,9 @@ BOOLEAN DynamicOpinionTacticalCharacterDialogue( DynamicOpinionSpeechEvent& aEve
if( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
return( FALSE );
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
return( FALSE );
CHAR16 gzQuoteStr[500];
// remove old box, in case that still exists
@@ -2020,7 +2023,7 @@ UINT8 GetFittingInterjectorProfile( UINT8 usEvent, UINT8 usProfileVictim, UINT8
for ( pTeamSoldier = MercPtrs[bMercID]; bMercID <= bLastTeamID; ++bMercID, pTeamSoldier++ )
{
// only people that are here
if ( !pTeamSoldier->bActive || pTeamSoldier->bAssignment == IN_TRANSIT || pTeamSoldier->bAssignment == ASSIGNMENT_DEAD || pTeamSoldier->bAssignment == ASSIGNMENT_POW || pTeamSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
if ( !pTeamSoldier->bActive || pTeamSoldier->bAssignment == IN_TRANSIT || pTeamSoldier->bAssignment == ASSIGNMENT_DEAD || pTeamSoldier->bAssignment == ASSIGNMENT_POW || pTeamSoldier->bAssignment == ASSIGNMENT_MINIEVENT || pTeamSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND )
continue;
// if fSameSector is TRUE then the teammate must be in the same sector
+1 -1
View File
@@ -606,7 +606,7 @@ void HourlyFoodAutoDigestion( SOLDIERTYPE *pSoldier )
AddFoodpoints(pSoldier->bFoodLevel, powfoodadd);
}
// while on a minievent, assume that we can feed ourselves.. somehow
else if (pSoldier->bAssignment == ASSIGNMENT_MINIEVENT)
else if (pSoldier->bAssignment == ASSIGNMENT_MINIEVENT || pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
{
const INT16 water = gGameExternalOptions.usFoodDigestionHourlyBaseDrink * gGameExternalOptions.sFoodDigestionAssignment;
const INT16 foodadd = water * gGameExternalOptions.usFoodDigestionHourlyBaseFood / max(1, gGameExternalOptions.usFoodDigestionHourlyBaseDrink);
+1 -1
View File
@@ -6311,7 +6311,7 @@ void SOLDIERTYPE::EVENT_SoldierGotHit( UINT16 usWeaponIndex, INT16 sDamage, INT1
// If anything other than on a squad or guard, make them guard....
if ( this->bTeam == gbPlayerNum )
{
if ( this->bAssignment >= ON_DUTY && this->bAssignment != ASSIGNMENT_POW && this->bAssignment != ASSIGNMENT_MINIEVENT )
if ( this->bAssignment >= ON_DUTY && this->bAssignment != ASSIGNMENT_POW && this->bAssignment != ASSIGNMENT_MINIEVENT && this->bAssignment != ASSIGNMENT_REBELCOMMAND)
{
if ( this->flags.fMercAsleep )
{
+5
View File
@@ -1389,6 +1389,11 @@ BOOLEAN IsSquadInSector( SOLDIERTYPE *pSoldier, UINT8 ubSquad )
return( FALSE );
}
if( pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND)
{
return( FALSE );
}
if( SquadIsEmpty( ubSquad ) == TRUE )
{
return( TRUE );
+1 -1
View File
@@ -238,7 +238,7 @@ BOOLEAN InternalInitSectorExitMenu( UINT8 ubDirection, INT32 sAdditionalData )//
pSoldier->stats.bLife >= OKLIFE &&
( pSoldier->bAssignment != MercPtrs[ gusSelectedSoldier ]->bAssignment ||
( pSoldier->bAssignment == VEHICLE && pSoldier->iVehicleId != MercPtrs[ gusSelectedSoldier ]->iVehicleId ) ) &&
pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != IN_TRANSIT && pSoldier->bAssignment != ASSIGNMENT_DEAD && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT
pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != IN_TRANSIT && pSoldier->bAssignment != ASSIGNMENT_DEAD && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT && pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND
&& !(pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE) )
{ //KM: We need to determine if there are more than one squad (meaning other concious mercs in a different squad or assignment)
// These conditions were done to the best of my knowledge, so if there are other situations that require modification,
+1 -1
View File
@@ -6001,7 +6001,7 @@ void ProcessNoise(UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrTy
continue; // skip
}
if ( bTeam == gbPlayerNum && (pSoldier->bAssignment == ASSIGNMENT_POW || pSoldier->bAssignment == ASSIGNMENT_MINIEVENT) )
if ( bTeam == gbPlayerNum && (pSoldier->bAssignment == ASSIGNMENT_POW || pSoldier->bAssignment == ASSIGNMENT_MINIEVENT || pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND) )
{
// POWs should not be processed for noise
continue;