- To make it easier to search for dialogue and understand what a line is supposed to mean, changed a few dialogue enums.

- Merged IsMercOnTeam...(...) functions into one
- Fix: during hiring, AIM mercs only complained about their hated ones if these were already in the country, thus ignoring other mercs in transit


git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8512 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2018-01-04 15:50:31 +00:00
parent f8b34b35d7
commit a8e62cc406
12 changed files with 50 additions and 131 deletions
+7 -7
View File
@@ -110,14 +110,14 @@ enum DialogQuoteIDs
//70
QUOTE_ENEMY_RETREATED,
QUOTE_GOING_TO_AUTO_SLEEP,
QUOTE_WORK_UP_AND_RETURNING_TO_ASSIGNMENT, // woke up from auto sleep, going back to wo
QUOTE_WORK_UP_AND_RETURNING_TO_ASSIGNMENT, // woke up from auto sleep, going back to work
QUOTE_ME_TOO, // me too quote, in agreement with whatever the merc previous said
QUOTE_USELESS_ITEM,
QUOTE_BOOBYTRAP_ITEM,
QUOTE_SUSPICIOUS_GROUND,
QUOTE_DROWNING,
QUOTE_MERC_REACHED_DESTINATION,
QUOTE_SPARE2,
QUOTE_JA2UB_LAPTOP_FIXED, // JA2UB: played when the laptop is fixed
//80
QUOTE_REPUTATION_REFUSAL, //80
@@ -171,8 +171,8 @@ enum DialogQuoteIDs
QUOTE_IMPATIENT_QUOTE,
QUOTE_LENGTH_OF_CONTRACT,
QUOTE_COMMENT_BEFORE_HANG_UP,
QUOTE_PERSONALITY_BIAS_WITH_HATED_1,
QUOTE_PERSONALITY_BIAS_WITH_HATED_2,
QUOTE_HATED_1_ON_TEAM_LONGTIMETOHATE, // played when we refuse to be hired because hated person is present and hatetime >= 24 (else play QUOTE_HATED_1_ON_TEAM)
QUOTE_HATED_2_ON_TEAM_LONGTIMETOHATE,
QUOTE_MERC_LEAVING_ALSUCO_SOON,
QUOTE_MERC_GONE_UP_IN_PRICE,
#ifdef JA2UB
@@ -210,9 +210,9 @@ enum DialogQuoteIDs
QUOTE_RENEWING_CAUSE_BUDDY_3_ON_TEAM,
QUOTE_RENEWING_CAUSE_BUDDY_4_ON_TEAM,
QUOTE_RENEWING_CAUSE_BUDDY_5_ON_TEAM,
QUOTE_PERSONALITY_BIAS_WITH_HATED_3,
QUOTE_PERSONALITY_BIAS_WITH_HATED_4,
QUOTE_PERSONALITY_BIAS_WITH_HATED_5,
QUOTE_HATED_3_ON_TEAM_LONGTIMETOHATE,
QUOTE_HATED_4_ON_TEAM_LONGTIMETOHATE,
QUOTE_HATED_5_ON_TEAM_LONGTIMETOHATE,
};
+4 -4
View File
@@ -889,7 +889,7 @@ void HandlePowerGenAlarm()
if( bID != -1 )
{
TacticalCharacterDialogue( &Menptr[ bID ], QUOTE_PERSONALITY_BIAS_WITH_HATED_2 );
TacticalCharacterDialogue( &Menptr[ bID ], QUOTE_HATED_2_ON_TEAM_LONGTIMETOHATE );
}
}
else
@@ -899,15 +899,15 @@ void HandlePowerGenAlarm()
if( bSoldierId1 != -1 && Menptr[ bSoldierId1 ].ubProfile != BIGGENS_UB ) //BIGGENS
{
TacticalCharacterDialogue( &Menptr[ bSoldierId1 ], QUOTE_PERSONALITY_BIAS_WITH_HATED_1 );
TacticalCharacterDialogue( &Menptr[ bSoldierId1 ], QUOTE_HATED_1_ON_TEAM_LONGTIMETOHATE );
}
else if( bSoldierId2 != -1 && Menptr[ bSoldierId2 ].ubProfile != BIGGENS_UB ) //BIGGENS
{
TacticalCharacterDialogue( &Menptr[ bSoldierId2 ], QUOTE_PERSONALITY_BIAS_WITH_HATED_1 );
TacticalCharacterDialogue( &Menptr[ bSoldierId2 ], QUOTE_HATED_1_ON_TEAM_LONGTIMETOHATE );
}
else if( bSoldierId3 != -1 && Menptr[ bSoldierId3 ].ubProfile != BIGGENS_UB ) // BIGGENS
{
TacticalCharacterDialogue( &Menptr[ bSoldierId3 ], QUOTE_PERSONALITY_BIAS_WITH_HATED_1 );
TacticalCharacterDialogue( &Menptr[ bSoldierId3 ], QUOTE_HATED_1_ON_TEAM_LONGTIMETOHATE );
}
}
}
+1 -1
View File
@@ -1186,7 +1186,7 @@ BOOLEAN ExitShopKeeperInterface()
bSoldierID = RandomSoldierIdFromNewMercsOnPlayerTeam();
if( bSoldierID != -1 )
{
TacticalCharacterDialogue( &Menptr[ bSoldierID ], QUOTE_SPARE2 );
TacticalCharacterDialogue( &Menptr[ bSoldierID ], QUOTE_JA2UB_LAPTOP_FIXED );
}
gJa25SaveStruct.uiJa25GeneralFlags |= JA_GF__PLAYER_SAID_LAPTOP_FIXED_QUOTE;
+8 -84
View File
@@ -1767,103 +1767,27 @@ void AddSoldierToSectorGridNo( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT8 ubDir
// IsMercOnTeam() checks to see if the passed in Merc Profile ID is currently on the player's team
BOOLEAN IsMercOnTeam(UINT8 ubMercID)
BOOLEAN IsMercOnTeam(UINT8 ubMercID, BOOLEAN aAlreadyInCountry, BOOLEAN aAlive)
{
UINT16 cnt;
UINT8 ubLastTeamID;
SOLDIERTYPE *pTeamSoldier;
cnt = gTacticalStatus.Team[ OUR_TEAM ].bFirstID;
ubLastTeamID = gTacticalStatus.Team[ OUR_TEAM ].bLastID;
// look for all mercs on the same team,
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= ubLastTeamID; cnt++,pTeamSoldier++)
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= ubLastTeamID; ++cnt, pTeamSoldier++)
{
if ( pTeamSoldier->ubProfile == ubMercID )
if ( pTeamSoldier->ubProfile == ubMercID && pTeamSoldier->bActive )
{
if( pTeamSoldier->bActive )
return(TRUE);
}
}
if ( aAlreadyInCountry && pTeamSoldier->bAssignment == IN_TRANSIT )
continue;
return(FALSE);
}
if ( aAlive && pTeamSoldier->stats.bLife <= 0 )
continue;
// ATE: Added this new function for contract renewals
BOOLEAN IsMercOnTeamAndAlive(UINT8 ubMercID)
{
UINT16 cnt;
UINT8 ubLastTeamID;
SOLDIERTYPE *pTeamSoldier;
cnt = gTacticalStatus.Team[ OUR_TEAM ].bFirstID;
ubLastTeamID = gTacticalStatus.Team[ OUR_TEAM ].bLastID;
// look for all mercs on the same team,
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= ubLastTeamID; cnt++,pTeamSoldier++)
{
if ( pTeamSoldier->ubProfile == ubMercID )
{
if( pTeamSoldier->bActive )
{
if ( pTeamSoldier->stats.bLife > 0 )
{
return(TRUE);
}
}
}
}
return(FALSE);
}
BOOLEAN IsMercOnTeamAndInOmertaAlready(UINT8 ubMercID)
{
UINT16 cnt;
UINT8 ubLastTeamID;
SOLDIERTYPE *pTeamSoldier;
cnt = gTacticalStatus.Team[ OUR_TEAM ].bFirstID;
ubLastTeamID = gTacticalStatus.Team[ OUR_TEAM ].bLastID;
// look for all mercs on the same team,
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= ubLastTeamID; cnt++,pTeamSoldier++)
{
if ( pTeamSoldier->ubProfile == ubMercID )
{
if ( pTeamSoldier->bActive && pTeamSoldier->bAssignment != IN_TRANSIT )
return(TRUE);
}
}
return(FALSE);
}
BOOLEAN IsMercOnTeamAndInOmertaAlreadyAndAlive(UINT8 ubMercID)
{
UINT16 cnt;
UINT8 ubLastTeamID;
SOLDIERTYPE *pTeamSoldier;
cnt = gTacticalStatus.Team[ OUR_TEAM ].bFirstID;
ubLastTeamID = gTacticalStatus.Team[ OUR_TEAM ].bLastID;
// look for all mercs on the same team,
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= ubLastTeamID; cnt++,pTeamSoldier++)
{
if ( pTeamSoldier->ubProfile == ubMercID )
{
if ( pTeamSoldier->bActive && pTeamSoldier->bAssignment != IN_TRANSIT )
{
if ( pTeamSoldier->stats.bLife > 0 )
{
return(TRUE);
}
}
return( TRUE );
}
}
+1 -7
View File
@@ -37,13 +37,7 @@ BOOLEAN AddSoldierToSectorNoCalculateDirection( UINT8 ubID );
BOOLEAN AddSoldierToSectorNoCalculateDirectionUseAnimation( UINT8 ubID, UINT16 usAnimState, UINT16 usAnimCode );
// IsMercOnTeam() checks to see if the passed in Merc Profile ID is currently on the player's team
BOOLEAN IsMercOnTeam(UINT8 ubMercID);
// requires non-intransit assignment, too
BOOLEAN IsMercOnTeamAndInOmertaAlready(UINT8 ubMercID);
// ATE: Added for contract renewals
BOOLEAN IsMercOnTeamAndAlive(UINT8 ubMercID);
// ATE: Added for contract renewals
BOOLEAN IsMercOnTeamAndInOmertaAlreadyAndAlive(UINT8 ubMercID);
BOOLEAN IsMercOnTeam( UINT8 ubMercID, BOOLEAN aAlreadyInCountry, BOOLEAN aAlive );
+1 -1
View File
@@ -2300,7 +2300,7 @@ BOOLEAN DoesMercHaveABuddyOnTheTeam( UINT8 ubMercID )
if( bBuddyID < 0 )
continue;
if( IsMercOnTeam( bBuddyID ) )
if( IsMercOnTeam( bBuddyID, FALSE, FALSE ) )
{
if( !IsMercDead( bBuddyID ) )
{