mirror of
https://github.com/1dot13/source.git
synced 2026-08-05 14:00:23 +02:00
- 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:
@@ -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 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user