mirror of
https://github.com/1dot13/source.git
synced 2026-09-16 14:47:17 +02:00
Lessen repetition
This commit is contained in:
@@ -602,9 +602,10 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
|
|||||||
guiNumInvolved = 0;
|
guiNumInvolved = 0;
|
||||||
for( i = gTacticalStatus.Team[ OUR_TEAM ].bFirstID; i <= gTacticalStatus.Team[ OUR_TEAM ].bLastID; ++i )
|
for( i = gTacticalStatus.Team[ OUR_TEAM ].bFirstID; i <= gTacticalStatus.Team[ OUR_TEAM ].bLastID; ++i )
|
||||||
{
|
{
|
||||||
if( MercPtrs[ i ]->bActive && MercPtrs[ i ]->stats.bLife && !(MercPtrs[ i ]->flags.uiStatusFlags & SOLDIER_VEHICLE) )
|
SOLDIERTYPE *pSoldier = MercPtrs[i];
|
||||||
|
if( pSoldier->bActive && pSoldier->stats.bLife && !(pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE) )
|
||||||
{
|
{
|
||||||
if ( PlayerMercInvolvedInThisCombat( MercPtrs[ i ] ) )
|
if ( PlayerMercInvolvedInThisCombat( pSoldier ) )
|
||||||
{
|
{
|
||||||
// involved
|
// involved
|
||||||
if( !ubGroupID )
|
if( !ubGroupID )
|
||||||
@@ -613,13 +614,13 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
|
|||||||
//can detect it by comparing the first value with future values. If we do, then
|
//can detect it by comparing the first value with future values. If we do, then
|
||||||
//we set a flag which determines whether to use the singular help text or plural version
|
//we set a flag which determines whether to use the singular help text or plural version
|
||||||
//for the retreat button.
|
//for the retreat button.
|
||||||
ubGroupID = MercPtrs[ i ]->ubGroupID;
|
ubGroupID = pSoldier->ubGroupID;
|
||||||
if( !gpBattleGroup )
|
if( !gpBattleGroup )
|
||||||
gpBattleGroup = GetGroup( ubGroupID );
|
gpBattleGroup = GetGroup( ubGroupID );
|
||||||
//if( bBestExpLevel > MercPtrs[ i ]->stats.bExpLevel ) // SANDRO - WTF!! This is a bug!
|
//if( bBestExpLevel > pSoldier->stats.bExpLevel ) // SANDRO - WTF!! This is a bug!
|
||||||
if( bBestExpLevel < MercPtrs[ i ]->stats.bExpLevel ) // SANDRO - WTF!! This is a bug!
|
if( bBestExpLevel < pSoldier->stats.bExpLevel ) // SANDRO - WTF!! This is a bug!
|
||||||
bBestExpLevel = MercPtrs[ i ]->stats.bExpLevel;
|
bBestExpLevel = pSoldier->stats.bExpLevel;
|
||||||
if( MercPtrs[ i ]->ubPrevSectorID == 255 )
|
if( pSoldier->ubPrevSectorID == 255 )
|
||||||
{ //Not able to retreat (calculate it for group)
|
{ //Not able to retreat (calculate it for group)
|
||||||
GROUP *pTempGroup;
|
GROUP *pTempGroup;
|
||||||
pTempGroup = GetGroup( ubGroupID );
|
pTempGroup = GetGroup( ubGroupID );
|
||||||
@@ -627,7 +628,7 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
|
|||||||
CalculateGroupRetreatSector( pTempGroup );
|
CalculateGroupRetreatSector( pTempGroup );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( ubGroupID != MercPtrs[ i ]->ubGroupID )
|
else if( ubGroupID != pSoldier->ubGroupID )
|
||||||
{
|
{
|
||||||
fUsePluralVersion = TRUE;
|
fUsePluralVersion = TRUE;
|
||||||
}
|
}
|
||||||
@@ -635,23 +636,23 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
|
|||||||
++guiNumInvolved;
|
++guiNumInvolved;
|
||||||
|
|
||||||
// SANDRO - added check if we have a scout in group, needed later
|
// SANDRO - added check if we have a scout in group, needed later
|
||||||
if( gGameOptions.fNewTraitSystem && HAS_SKILL_TRAIT( MercPtrs[ i ], SCOUTING_NT ) && gSkillTraitValues.fSCPreventsTheEnemyToAmbushMercs )
|
if( gGameOptions.fNewTraitSystem && HAS_SKILL_TRAIT( pSoldier, SCOUTING_NT ) && gSkillTraitValues.fSCPreventsTheEnemyToAmbushMercs )
|
||||||
{
|
{
|
||||||
fScoutPresent = TRUE;
|
fScoutPresent = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( MercPtrs[i]->usSoldierFlagMask & SOLDIER_AIRDROP )
|
if ( pSoldier->usSoldierFlagMask & SOLDIER_AIRDROP )
|
||||||
{
|
{
|
||||||
fAirDrop = TRUE;
|
fAirDrop = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
UINT16 deploymentleadership = EffectiveLeadership( MercPtrs[i] );
|
UINT16 deploymentleadership = EffectiveLeadership( pSoldier );
|
||||||
FLOAT ambushradiusmodifier = 10 * EffectiveExpLevel( MercPtrs[i] ) + MercPtrs[i]->GetBackgroundValue( BG_AMBUSH_RADIUS );
|
FLOAT ambushradiusmodifier = 10 * EffectiveExpLevel( pSoldier ) + pSoldier->GetBackgroundValue( BG_AMBUSH_RADIUS );
|
||||||
if ( gGameOptions.fNewTraitSystem )
|
if ( gGameOptions.fNewTraitSystem )
|
||||||
{
|
{
|
||||||
deploymentleadership += 50 * NUM_SKILL_TRAITS( MercPtrs[i], SQUADLEADER_NT );
|
deploymentleadership += 50 * NUM_SKILL_TRAITS( pSoldier, SQUADLEADER_NT );
|
||||||
|
|
||||||
ambushradiusmodifier += 50 * NUM_SKILL_TRAITS( MercPtrs[i], SCOUTING_NT );
|
ambushradiusmodifier += 50 * NUM_SKILL_TRAITS( pSoldier, SCOUTING_NT );
|
||||||
}
|
}
|
||||||
// bonus with old traits, so that the check can be won
|
// bonus with old traits, so that the check can be won
|
||||||
else
|
else
|
||||||
@@ -664,7 +665,7 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
|
|||||||
gAmbushRadiusModifier = max( gAmbushRadiusModifier, ambushradiusmodifier / 100 );
|
gAmbushRadiusModifier = max( gAmbushRadiusModifier, ambushradiusmodifier / 100 );
|
||||||
|
|
||||||
// Flugente: if a merc is inserted from concealed state, retreat is forbidden, as at least this merc will have to extract manually
|
// Flugente: if a merc is inserted from concealed state, retreat is forbidden, as at least this merc will have to extract manually
|
||||||
if ( MercPtrs[i]->usSoldierFlagMask2 & SOLDIER_CONCEALINSERTION )
|
if ( pSoldier->usSoldierFlagMask2 & SOLDIER_CONCEALINSERTION )
|
||||||
fRetreatAnOption = FALSE;
|
fRetreatAnOption = FALSE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -890,14 +891,15 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
|
|||||||
{
|
{
|
||||||
for( i = gTacticalStatus.Team[ OUR_TEAM ].bFirstID; i <= gTacticalStatus.Team[ OUR_TEAM ].bLastID; ++i )
|
for( i = gTacticalStatus.Team[ OUR_TEAM ].bFirstID; i <= gTacticalStatus.Team[ OUR_TEAM ].bLastID; ++i )
|
||||||
{
|
{
|
||||||
if( MercPtrs[ i ]->bActive && MercPtrs[ i ]->stats.bLife && !(MercPtrs[ i ]->flags.uiStatusFlags & SOLDIER_VEHICLE) )
|
SOLDIERTYPE *pSoldier = MercPtrs[i];
|
||||||
|
if( pSoldier->bActive && pSoldier->stats.bLife && !(pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE) )
|
||||||
{
|
{
|
||||||
if ( PlayerMercInvolvedInThisCombat( MercPtrs[ i ] ) && MercPtrs[ i ]->ubProfile != NO_PROFILE )
|
if ( PlayerMercInvolvedInThisCombat( pSoldier ) && pSoldier->ubProfile != NO_PROFILE )
|
||||||
{
|
{
|
||||||
if ( GetEnemyEncounterCode() == ENEMY_AMBUSH_CODE || GetEnemyEncounterCode() == BLOODCAT_AMBUSH_CODE || GetEnemyEncounterCode() == ENEMY_AMBUSH_DEPLOYMENT_CODE )
|
if ( GetEnemyEncounterCode() == ENEMY_AMBUSH_CODE || GetEnemyEncounterCode() == BLOODCAT_AMBUSH_CODE || GetEnemyEncounterCode() == ENEMY_AMBUSH_DEPLOYMENT_CODE )
|
||||||
gMercProfiles[ MercPtrs[ i ]->ubProfile ].records.usAmbushesExperienced++;
|
gMercProfiles[ pSoldier->ubProfile ].records.usAmbushesExperienced++;
|
||||||
else if ( fAmbushPrevented && HAS_SKILL_TRAIT( MercPtrs[ i ], SCOUTING_NT ) ) // Scouts actually get this as number of prevented ambushes
|
else if ( fAmbushPrevented && HAS_SKILL_TRAIT( pSoldier, SCOUTING_NT ) ) // Scouts actually get this as number of prevented ambushes
|
||||||
gMercProfiles[ MercPtrs[ i ]->ubProfile ].records.usAmbushesExperienced++;
|
gMercProfiles[ pSoldier->ubProfile ].records.usAmbushesExperienced++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1577,20 +1579,21 @@ void RenderPreBattleInterface()
|
|||||||
y = TOP_Y + TOP_Y_TEXT_BUFFER - bListOffset;
|
y = TOP_Y + TOP_Y_TEXT_BUFFER - bListOffset;
|
||||||
for( i = gTacticalStatus.Team[OUR_TEAM].bFirstID; i <= gTacticalStatus.Team[OUR_TEAM].bLastID; i++)
|
for( i = gTacticalStatus.Team[OUR_TEAM].bFirstID; i <= gTacticalStatus.Team[OUR_TEAM].bLastID; i++)
|
||||||
{
|
{
|
||||||
if( MercPtrs[i]->bActive && MercPtrs[i]->stats.bLife && !(MercPtrs[i]->flags.uiStatusFlags & SOLDIER_VEHICLE) )
|
SOLDIERTYPE *pSoldier = MercPtrs[i];
|
||||||
|
if( pSoldier->bActive && pSoldier->stats.bLife && !(pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE) )
|
||||||
{
|
{
|
||||||
if( PlayerMercInvolvedInThisCombat( MercPtrs[ i ] ) )
|
if( PlayerMercInvolvedInThisCombat( pSoldier ) )
|
||||||
{
|
{
|
||||||
//NAME
|
//NAME
|
||||||
wcscpy( str, MercPtrs[ i ]->name );
|
wcscpy( str, pSoldier->name );
|
||||||
x = 17 + (52 - StringPixLength(str, BLOCKFONT2)) / 2;
|
x = 17 + (52 - StringPixLength(str, BLOCKFONT2)) / 2;
|
||||||
mprintf( x + xOffset, y + yOffset, str );
|
mprintf( x + xOffset, y + yOffset, str );
|
||||||
//ASSIGN
|
//ASSIGN
|
||||||
GetMapscreenMercAssignmentString( MercPtrs[ i ], str );
|
GetMapscreenMercAssignmentString( pSoldier, str );
|
||||||
x = 72 + (54 - StringPixLength(str, BLOCKFONT2)) / 2;
|
x = 72 + (54 - StringPixLength(str, BLOCKFONT2)) / 2;
|
||||||
mprintf( x + xOffset, y + yOffset, str );
|
mprintf( x + xOffset, y + yOffset, str );
|
||||||
//COND
|
//COND
|
||||||
GetSoldierConditionInfo( MercPtrs[ i ], str, &ubHPPercent, &ubBPPercent );
|
GetSoldierConditionInfo( pSoldier, str, &ubHPPercent, &ubBPPercent );
|
||||||
x = 129 + (58 - StringPixLength(str, BLOCKFONT2)) / 2;
|
x = 129 + (58 - StringPixLength(str, BLOCKFONT2)) / 2;
|
||||||
mprintf( x + xOffset, y + yOffset, str );
|
mprintf( x + xOffset, y + yOffset, str );
|
||||||
//HP
|
//HP
|
||||||
@@ -1622,31 +1625,32 @@ void RenderPreBattleInterface()
|
|||||||
y = TOP_Y + TOP_Y_TEXT_BUFFER + ubUninvolvedStartY + UNINVOLVED_RELEVANT_HEIGHT - bListOffset;
|
y = TOP_Y + TOP_Y_TEXT_BUFFER + ubUninvolvedStartY + UNINVOLVED_RELEVANT_HEIGHT - bListOffset;
|
||||||
for( i = gTacticalStatus.Team[OUR_TEAM].bFirstID; i <= gTacticalStatus.Team[OUR_TEAM].bLastID; i++ )
|
for( i = gTacticalStatus.Team[OUR_TEAM].bFirstID; i <= gTacticalStatus.Team[OUR_TEAM].bLastID; i++ )
|
||||||
{
|
{
|
||||||
if( MercPtrs[ i ]->bActive && MercPtrs[ i ]->stats.bLife && !(MercPtrs[ i ]->flags.uiStatusFlags & SOLDIER_VEHICLE) )
|
SOLDIERTYPE *pSoldier = MercPtrs[i];
|
||||||
|
if( pSoldier->bActive && pSoldier->stats.bLife && !(pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE) )
|
||||||
{
|
{
|
||||||
if( !PlayerMercInvolvedInThisCombat(MercPtrs[ i ]) )
|
if( !PlayerMercInvolvedInThisCombat(pSoldier) )
|
||||||
{
|
{
|
||||||
//NAME
|
//NAME
|
||||||
wcscpy( str, MercPtrs[ i ]->name );
|
wcscpy( str, pSoldier->name );
|
||||||
x = 17 + (52 - StringPixLength(str, BLOCKFONT2)) / 2;
|
x = 17 + (52 - StringPixLength(str, BLOCKFONT2)) / 2;
|
||||||
mprintf( x + xOffset, y + yOffset, str );
|
mprintf( x + xOffset, y + yOffset, str );
|
||||||
//ASSIGN
|
//ASSIGN
|
||||||
GetMapscreenMercAssignmentString( MercPtrs[ i ], str );
|
GetMapscreenMercAssignmentString( pSoldier, str );
|
||||||
x = 72 + (54 - StringPixLength(str, BLOCKFONT2)) / 2;
|
x = 72 + (54 - StringPixLength(str, BLOCKFONT2)) / 2;
|
||||||
mprintf( x + xOffset, y + yOffset, str );
|
mprintf( x + xOffset, y + yOffset, str );
|
||||||
//LOC
|
//LOC
|
||||||
GetMapscreenMercLocationString( MercPtrs[ i ], str );
|
GetMapscreenMercLocationString( pSoldier, str );
|
||||||
x = 128 + (33 - StringPixLength(str, BLOCKFONT2)) / 2;
|
x = 128 + (33 - StringPixLength(str, BLOCKFONT2)) / 2;
|
||||||
mprintf( x + xOffset, y + yOffset, str );
|
mprintf( x + xOffset, y + yOffset, str );
|
||||||
//DEST
|
//DEST
|
||||||
GetMapscreenMercDestinationString( MercPtrs[ i ], str );
|
GetMapscreenMercDestinationString( pSoldier, str );
|
||||||
if (wcslen(str) > 0)
|
if (wcslen(str) > 0)
|
||||||
{
|
{
|
||||||
x = 164 + (41 - StringPixLength(str, BLOCKFONT2)) / 2;
|
x = 164 + (41 - StringPixLength(str, BLOCKFONT2)) / 2;
|
||||||
mprintf( x + xOffset, y + yOffset, str );
|
mprintf( x + xOffset, y + yOffset, str );
|
||||||
}
|
}
|
||||||
//DEP
|
//DEP
|
||||||
GetMapscreenMercDepartureString( MercPtrs[ i ], str, &ubJunk );
|
GetMapscreenMercDepartureString( pSoldier, str, &ubJunk );
|
||||||
x = 208 + (34 - StringPixLength(str, BLOCKFONT2)) / 2;
|
x = 208 + (34 - StringPixLength(str, BLOCKFONT2)) / 2;
|
||||||
mprintf(x + xOffset, y + yOffset, str);
|
mprintf(x + xOffset, y + yOffset, str);
|
||||||
|
|
||||||
@@ -1814,10 +1818,11 @@ void RetreatMercsCallback( GUI_BUTTON *btn, INT32 reason )
|
|||||||
// SANDRO - merc records - times retreated counter
|
// SANDRO - merc records - times retreated counter
|
||||||
for( UINT16 i = gTacticalStatus.Team[ gbPlayerNum ].bFirstID; i <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; i++ )
|
for( UINT16 i = gTacticalStatus.Team[ gbPlayerNum ].bFirstID; i <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; i++ )
|
||||||
{
|
{
|
||||||
if ( MercPtrs[i]->bActive && MercPtrs[i]->stats.bLife >= OKLIFE )
|
SOLDIERTYPE *pSoldier = MercPtrs[i];
|
||||||
|
if ( pSoldier->bActive && pSoldier->stats.bLife >= OKLIFE )
|
||||||
{
|
{
|
||||||
if ( PlayerMercInvolvedInThisCombat( MercPtrs[i] ) && MercPtrs[i]->ubProfile != NO_PROFILE )
|
if ( PlayerMercInvolvedInThisCombat( pSoldier ) && pSoldier->ubProfile != NO_PROFILE )
|
||||||
gMercProfiles[ MercPtrs[i]->ubProfile ].records.usBattlesRetreated++;
|
gMercProfiles[ pSoldier->ubProfile ].records.usBattlesRetreated++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|||||||
@@ -560,12 +560,14 @@ void EndTacticalBattleForEnemy()
|
|||||||
//severe loyalty blow.
|
//severe loyalty blow.
|
||||||
for( i = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID; i <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; ++i )
|
for( i = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID; i <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; ++i )
|
||||||
{
|
{
|
||||||
if( MercPtrs[ i ]->bActive && MercPtrs[ i ]->bInSector && MercPtrs[ i ]->stats.bLife >= OKLIFE )
|
SOLDIERTYPE *pSoldier = MercPtrs[i];
|
||||||
|
if( pSoldier->bActive && pSoldier->bInSector && pSoldier->stats.bLife >= OKLIFE )
|
||||||
{ //found one live militia, so look for any enemies/creatures.
|
{ //found one live militia, so look for any enemies/creatures.
|
||||||
// NOTE: this is relying on ENEMY_TEAM being immediately followed by CREATURE_TEAM
|
// NOTE: this is relying on ENEMY_TEAM being immediately followed by CREATURE_TEAM
|
||||||
for( i = gTacticalStatus.Team[ ENEMY_TEAM ].bFirstID; i <= gTacticalStatus.Team[ CREATURE_TEAM ].bLastID; ++i )
|
for(UINT16 j = gTacticalStatus.Team[ ENEMY_TEAM ].bFirstID; j <= gTacticalStatus.Team[ CREATURE_TEAM ].bLastID; ++i )
|
||||||
{
|
{
|
||||||
if( MercPtrs[ i ]->bActive && MercPtrs[ i ]->bInSector && MercPtrs[ i ]->stats.bLife >= OKLIFE )
|
SOLDIERTYPE *pEnemy = MercPtrs[j];
|
||||||
|
if( pEnemy->bActive && pEnemy->bInSector && pEnemy->stats.bLife >= OKLIFE )
|
||||||
{ //confirmed at least one enemy here, so do the loyalty penalty.
|
{ //confirmed at least one enemy here, so do the loyalty penalty.
|
||||||
HandleGlobalLoyaltyEvent( GLOBAL_LOYALTY_ABANDON_MILITIA, gWorldSectorX, gWorldSectorY, 0 );
|
HandleGlobalLoyaltyEvent( GLOBAL_LOYALTY_ABANDON_MILITIA, gWorldSectorX, gWorldSectorY, 0 );
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user