mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Lessen repetition
This commit is contained in:
@@ -602,9 +602,10 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
|
||||
guiNumInvolved = 0;
|
||||
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
|
||||
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
|
||||
//we set a flag which determines whether to use the singular help text or plural version
|
||||
//for the retreat button.
|
||||
ubGroupID = MercPtrs[ i ]->ubGroupID;
|
||||
ubGroupID = pSoldier->ubGroupID;
|
||||
if( !gpBattleGroup )
|
||||
gpBattleGroup = GetGroup( ubGroupID );
|
||||
//if( bBestExpLevel > MercPtrs[ i ]->stats.bExpLevel ) // SANDRO - WTF!! This is a bug!
|
||||
if( bBestExpLevel < MercPtrs[ i ]->stats.bExpLevel ) // SANDRO - WTF!! This is a bug!
|
||||
bBestExpLevel = MercPtrs[ i ]->stats.bExpLevel;
|
||||
if( MercPtrs[ i ]->ubPrevSectorID == 255 )
|
||||
//if( bBestExpLevel > pSoldier->stats.bExpLevel ) // SANDRO - WTF!! This is a bug!
|
||||
if( bBestExpLevel < pSoldier->stats.bExpLevel ) // SANDRO - WTF!! This is a bug!
|
||||
bBestExpLevel = pSoldier->stats.bExpLevel;
|
||||
if( pSoldier->ubPrevSectorID == 255 )
|
||||
{ //Not able to retreat (calculate it for group)
|
||||
GROUP *pTempGroup;
|
||||
pTempGroup = GetGroup( ubGroupID );
|
||||
@@ -627,7 +628,7 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
|
||||
CalculateGroupRetreatSector( pTempGroup );
|
||||
}
|
||||
}
|
||||
else if( ubGroupID != MercPtrs[ i ]->ubGroupID )
|
||||
else if( ubGroupID != pSoldier->ubGroupID )
|
||||
{
|
||||
fUsePluralVersion = TRUE;
|
||||
}
|
||||
@@ -635,23 +636,23 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
|
||||
++guiNumInvolved;
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
if ( MercPtrs[i]->usSoldierFlagMask & SOLDIER_AIRDROP )
|
||||
if ( pSoldier->usSoldierFlagMask & SOLDIER_AIRDROP )
|
||||
{
|
||||
fAirDrop = TRUE;
|
||||
}
|
||||
|
||||
UINT16 deploymentleadership = EffectiveLeadership( MercPtrs[i] );
|
||||
FLOAT ambushradiusmodifier = 10 * EffectiveExpLevel( MercPtrs[i] ) + MercPtrs[i]->GetBackgroundValue( BG_AMBUSH_RADIUS );
|
||||
UINT16 deploymentleadership = EffectiveLeadership( pSoldier );
|
||||
FLOAT ambushradiusmodifier = 10 * EffectiveExpLevel( pSoldier ) + pSoldier->GetBackgroundValue( BG_AMBUSH_RADIUS );
|
||||
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
|
||||
else
|
||||
@@ -664,7 +665,7 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
|
||||
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
|
||||
if ( MercPtrs[i]->usSoldierFlagMask2 & SOLDIER_CONCEALINSERTION )
|
||||
if ( pSoldier->usSoldierFlagMask2 & SOLDIER_CONCEALINSERTION )
|
||||
fRetreatAnOption = FALSE;
|
||||
}
|
||||
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 )
|
||||
{
|
||||
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 )
|
||||
gMercProfiles[ MercPtrs[ i ]->ubProfile ].records.usAmbushesExperienced++;
|
||||
else if ( fAmbushPrevented && HAS_SKILL_TRAIT( MercPtrs[ i ], SCOUTING_NT ) ) // Scouts actually get this as number of prevented ambushes
|
||||
gMercProfiles[ MercPtrs[ i ]->ubProfile ].records.usAmbushesExperienced++;
|
||||
gMercProfiles[ pSoldier->ubProfile ].records.usAmbushesExperienced++;
|
||||
else if ( fAmbushPrevented && HAS_SKILL_TRAIT( pSoldier, SCOUTING_NT ) ) // Scouts actually get this as number of prevented ambushes
|
||||
gMercProfiles[ pSoldier->ubProfile ].records.usAmbushesExperienced++;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1577,20 +1579,21 @@ void RenderPreBattleInterface()
|
||||
y = TOP_Y + TOP_Y_TEXT_BUFFER - bListOffset;
|
||||
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
|
||||
wcscpy( str, MercPtrs[ i ]->name );
|
||||
wcscpy( str, pSoldier->name );
|
||||
x = 17 + (52 - StringPixLength(str, BLOCKFONT2)) / 2;
|
||||
mprintf( x + xOffset, y + yOffset, str );
|
||||
//ASSIGN
|
||||
GetMapscreenMercAssignmentString( MercPtrs[ i ], str );
|
||||
GetMapscreenMercAssignmentString( pSoldier, str );
|
||||
x = 72 + (54 - StringPixLength(str, BLOCKFONT2)) / 2;
|
||||
mprintf( x + xOffset, y + yOffset, str );
|
||||
//COND
|
||||
GetSoldierConditionInfo( MercPtrs[ i ], str, &ubHPPercent, &ubBPPercent );
|
||||
GetSoldierConditionInfo( pSoldier, str, &ubHPPercent, &ubBPPercent );
|
||||
x = 129 + (58 - StringPixLength(str, BLOCKFONT2)) / 2;
|
||||
mprintf( x + xOffset, y + yOffset, str );
|
||||
//HP
|
||||
@@ -1622,31 +1625,32 @@ void RenderPreBattleInterface()
|
||||
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++ )
|
||||
{
|
||||
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
|
||||
wcscpy( str, MercPtrs[ i ]->name );
|
||||
wcscpy( str, pSoldier->name );
|
||||
x = 17 + (52 - StringPixLength(str, BLOCKFONT2)) / 2;
|
||||
mprintf( x + xOffset, y + yOffset, str );
|
||||
//ASSIGN
|
||||
GetMapscreenMercAssignmentString( MercPtrs[ i ], str );
|
||||
GetMapscreenMercAssignmentString( pSoldier, str );
|
||||
x = 72 + (54 - StringPixLength(str, BLOCKFONT2)) / 2;
|
||||
mprintf( x + xOffset, y + yOffset, str );
|
||||
//LOC
|
||||
GetMapscreenMercLocationString( MercPtrs[ i ], str );
|
||||
GetMapscreenMercLocationString( pSoldier, str );
|
||||
x = 128 + (33 - StringPixLength(str, BLOCKFONT2)) / 2;
|
||||
mprintf( x + xOffset, y + yOffset, str );
|
||||
//DEST
|
||||
GetMapscreenMercDestinationString( MercPtrs[ i ], str );
|
||||
GetMapscreenMercDestinationString( pSoldier, str );
|
||||
if (wcslen(str) > 0)
|
||||
{
|
||||
x = 164 + (41 - StringPixLength(str, BLOCKFONT2)) / 2;
|
||||
mprintf( x + xOffset, y + yOffset, str );
|
||||
}
|
||||
//DEP
|
||||
GetMapscreenMercDepartureString( MercPtrs[ i ], str, &ubJunk );
|
||||
GetMapscreenMercDepartureString( pSoldier, str, &ubJunk );
|
||||
x = 208 + (34 - StringPixLength(str, BLOCKFONT2)) / 2;
|
||||
mprintf(x + xOffset, y + yOffset, str);
|
||||
|
||||
@@ -1814,10 +1818,11 @@ void RetreatMercsCallback( GUI_BUTTON *btn, INT32 reason )
|
||||
// SANDRO - merc records - times retreated counter
|
||||
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 )
|
||||
gMercProfiles[ MercPtrs[i]->ubProfile ].records.usBattlesRetreated++;
|
||||
if ( PlayerMercInvolvedInThisCombat( pSoldier ) && pSoldier->ubProfile != NO_PROFILE )
|
||||
gMercProfiles[ pSoldier->ubProfile ].records.usBattlesRetreated++;
|
||||
}
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user