mirror of
https://github.com/1dot13/source.git
synced 2026-09-16 14:47:17 +02:00
Use SoldierID
This commit is contained in:
+37
-29
@@ -5503,9 +5503,9 @@ BOOLEAN MakeSoldierTurn( SOLDIERTYPE *pSoldier, INT16 sXPos, INT16 sYPos )
|
|||||||
|
|
||||||
UINT32 UIHandleLCLook( UI_EVENT *pUIEvent )
|
UINT32 UIHandleLCLook( UI_EVENT *pUIEvent )
|
||||||
{
|
{
|
||||||
INT16 sXPos, sYPos;
|
INT16 sXPos, sYPos;
|
||||||
SOLDIERTYPE *pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
INT32 cnt;
|
SoldierID cnt;
|
||||||
if ( !GetMouseXY( &sXPos, &sYPos ) )
|
if ( !GetMouseXY( &sXPos, &sYPos ) )
|
||||||
{
|
{
|
||||||
return( GAME_SCREEN );
|
return( GAME_SCREEN );
|
||||||
@@ -5515,8 +5515,9 @@ UINT32 UIHandleLCLook( UI_EVENT *pUIEvent )
|
|||||||
{
|
{
|
||||||
// OK, loop through all guys who are 'multi-selected' and
|
// OK, loop through all guys who are 'multi-selected' and
|
||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++, pSoldier++ )
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
if ( pSoldier->bActive && pSoldier->bInSector )
|
if ( pSoldier->bActive && pSoldier->bInSector )
|
||||||
{
|
{
|
||||||
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED )
|
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED )
|
||||||
@@ -5820,10 +5821,10 @@ void GetGridNoScreenXY( INT32 sGridNo, INT16 *pScreenX, INT16 *pScreenY )
|
|||||||
|
|
||||||
void EndMultiSoldierSelection( BOOLEAN fAcknowledge )
|
void EndMultiSoldierSelection( BOOLEAN fAcknowledge )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE * pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
INT32 cnt;
|
SoldierID cnt;
|
||||||
SOLDIERTYPE *pFirstSoldier = NULL;
|
SOLDIERTYPE *pFirstSoldier = NULL;
|
||||||
BOOLEAN fSelectedSoldierInBatch = FALSE;
|
BOOLEAN fSelectedSoldierInBatch = FALSE;
|
||||||
|
|
||||||
|
|
||||||
gTacticalStatus.fAtLeastOneGuyOnMultiSelect = FALSE;
|
gTacticalStatus.fAtLeastOneGuyOnMultiSelect = FALSE;
|
||||||
@@ -5833,8 +5834,9 @@ void EndMultiSoldierSelection( BOOLEAN fAcknowledge )
|
|||||||
// check if our currently selected guy is among the
|
// check if our currently selected guy is among the
|
||||||
// lucky few.. if not, change to a guy who is...
|
// lucky few.. if not, change to a guy who is...
|
||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++, pSoldier++ )
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
if ( pSoldier->bActive && pSoldier->bInSector )
|
if ( pSoldier->bActive && pSoldier->bInSector )
|
||||||
{
|
{
|
||||||
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED )
|
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED )
|
||||||
@@ -5879,15 +5881,16 @@ BOOLEAN StopRubberBandedMercFromMoving(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
SOLDIERTYPE *pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
INT32 cnt;
|
SoldierID cnt;
|
||||||
BOOLEAN fFound = FALSE;
|
BOOLEAN fFound = FALSE;
|
||||||
|
|
||||||
// OK, loop through all guys who are 'multi-selected' and
|
// OK, loop through all guys who are 'multi-selected' and
|
||||||
// check if our currently selected guy is among the
|
// check if our currently selected guy is among the
|
||||||
// lucky few.. if not, change to a guy who is...
|
// lucky few.. if not, change to a guy who is...
|
||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++, pSoldier++ )
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
if ( pSoldier->bActive && pSoldier->bInSector )
|
if ( pSoldier->bActive && pSoldier->bInSector )
|
||||||
{
|
{
|
||||||
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED )
|
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED )
|
||||||
@@ -5923,10 +5926,10 @@ void EndRubberBanding( )
|
|||||||
|
|
||||||
BOOLEAN HandleMultiSelectionMove( INT32 sDestGridNo )
|
BOOLEAN HandleMultiSelectionMove( INT32 sDestGridNo )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE * pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
INT32 cnt;
|
SoldierID cnt;
|
||||||
BOOLEAN fAtLeastOneMultiSelect = FALSE;
|
BOOLEAN fAtLeastOneMultiSelect = FALSE;
|
||||||
BOOLEAN fMoveFast = FALSE;
|
BOOLEAN fMoveFast = FALSE;
|
||||||
|
|
||||||
// OK, loop through all guys who are 'multi-selected' and
|
// OK, loop through all guys who are 'multi-selected' and
|
||||||
// Make them move....
|
// Make them move....
|
||||||
@@ -5935,8 +5938,9 @@ BOOLEAN HandleMultiSelectionMove( INT32 sDestGridNo )
|
|||||||
gfGetNewPathThroughPeople = TRUE;
|
gfGetNewPathThroughPeople = TRUE;
|
||||||
|
|
||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++, pSoldier++ )
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
if ( pSoldier->bActive && pSoldier->bInSector )
|
if ( pSoldier->bActive && pSoldier->bInSector )
|
||||||
{
|
{
|
||||||
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED )
|
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED )
|
||||||
@@ -5958,8 +5962,9 @@ BOOLEAN HandleMultiSelectionMove( INT32 sDestGridNo )
|
|||||||
INT32 highestY = 0;
|
INT32 highestY = 0;
|
||||||
|
|
||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++, pSoldier++ )
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
if ( pSoldier->bActive && pSoldier->bInSector )
|
if ( pSoldier->bActive && pSoldier->bInSector )
|
||||||
{
|
{
|
||||||
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED )
|
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED )
|
||||||
@@ -5978,8 +5983,9 @@ BOOLEAN HandleMultiSelectionMove( INT32 sDestGridNo )
|
|||||||
INT32 centerY = (highestY + lowestY)/2;
|
INT32 centerY = (highestY + lowestY)/2;
|
||||||
|
|
||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++, pSoldier++ )
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
if ( pSoldier->bActive && pSoldier->bInSector )
|
if ( pSoldier->bActive && pSoldier->bInSector )
|
||||||
{
|
{
|
||||||
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED )
|
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED )
|
||||||
@@ -6068,9 +6074,10 @@ void ResetMultiSelection( )
|
|||||||
{
|
{
|
||||||
// OK, loop through all guys who are 'multi-selected' and
|
// OK, loop through all guys who are 'multi-selected' and
|
||||||
// Make them move....
|
// Make them move....
|
||||||
INT32 cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
SoldierID cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
for (SOLDIERTYPE* pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt, pSoldier++ )
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
SOLDIERTYPE *pSoldier = cnt;
|
||||||
if ( pSoldier && pSoldier->bActive && pSoldier->bInSector )
|
if ( pSoldier && pSoldier->bActive && pSoldier->bInSector )
|
||||||
{
|
{
|
||||||
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED )
|
if ( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED )
|
||||||
@@ -6087,12 +6094,12 @@ void ResetMultiSelection( )
|
|||||||
|
|
||||||
UINT32 UIHandleRubberBandOnTerrain( UI_EVENT *pUIEvent )
|
UINT32 UIHandleRubberBandOnTerrain( UI_EVENT *pUIEvent )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE * pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
INT32 cnt;
|
SoldierID cnt;
|
||||||
INT16 sScreenX, sScreenY;
|
INT16 sScreenX, sScreenY;
|
||||||
INT32 iTemp;
|
INT32 iTemp;
|
||||||
SGPRect aRect;
|
SGPRect aRect;
|
||||||
BOOLEAN fAtLeastOne = FALSE;
|
BOOLEAN fAtLeastOne = FALSE;
|
||||||
|
|
||||||
guiNewUICursor = NO_UICURSOR;
|
guiNewUICursor = NO_UICURSOR;
|
||||||
//SetCurrentCursorFromDatabase( VIDEO_NO_CURSOR );
|
//SetCurrentCursorFromDatabase( VIDEO_NO_CURSOR );
|
||||||
@@ -6120,8 +6127,9 @@ UINT32 UIHandleRubberBandOnTerrain( UI_EVENT *pUIEvent )
|
|||||||
|
|
||||||
// ATE:Check at least for one guy that's in point!
|
// ATE:Check at least for one guy that's in point!
|
||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt, pSoldier++ )
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
// Check if this guy is OK to control....
|
// Check if this guy is OK to control....
|
||||||
if ( OK_CONTROLLABLE_MERC( pSoldier ) && !( pSoldier->flags.uiStatusFlags & ( SOLDIER_VEHICLE | SOLDIER_PASSENGER | SOLDIER_DRIVER ) ) )
|
if ( OK_CONTROLLABLE_MERC( pSoldier ) && !( pSoldier->flags.uiStatusFlags & ( SOLDIER_VEHICLE | SOLDIER_PASSENGER | SOLDIER_DRIVER ) ) )
|
||||||
{
|
{
|
||||||
@@ -6148,9 +6156,9 @@ UINT32 UIHandleRubberBandOnTerrain( UI_EVENT *pUIEvent )
|
|||||||
|
|
||||||
// ATE: Now loop through our guys and see if any fit!
|
// ATE: Now loop through our guys and see if any fit!
|
||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt, pSoldier++ )
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
// Check if this guy is OK to control....
|
// Check if this guy is OK to control....
|
||||||
if ( OK_CONTROLLABLE_MERC( pSoldier ) && !( pSoldier->flags.uiStatusFlags & ( SOLDIER_VEHICLE | SOLDIER_PASSENGER | SOLDIER_DRIVER ) ) )
|
if ( OK_CONTROLLABLE_MERC( pSoldier ) && !( pSoldier->flags.uiStatusFlags & ( SOLDIER_VEHICLE | SOLDIER_PASSENGER | SOLDIER_DRIVER ) ) )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1818,16 +1818,16 @@ void HandleFactForNPCUnescorted( UINT8 ubNPC )
|
|||||||
|
|
||||||
void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum )
|
void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum )
|
||||||
{
|
{
|
||||||
INT32 cnt;
|
SoldierID cnt;
|
||||||
SOLDIERTYPE *pSoldier, *pSoldier2;
|
SOLDIERTYPE *pSoldier, *pSoldier2;
|
||||||
INT8 bNumDone = 0;
|
INT8 bNumDone = 0;
|
||||||
INT32 sGridNo = NOWHERE, sAdjustedGridNo;
|
INT32 sGridNo = NOWHERE, sAdjustedGridNo;
|
||||||
INT8 bItemIn;
|
INT8 bItemIn;
|
||||||
UINT8 ubDesiredMercDir;
|
UINT8 ubDesiredMercDir;
|
||||||
EXITGRID ExitGrid;
|
EXITGRID ExitGrid;
|
||||||
INT32 iRandom = 0;
|
INT32 iRandom = 0;
|
||||||
UINT8 ubMineIndex;
|
UINT8 ubMineIndex;
|
||||||
INT16 sX, sY, sX2, sY2;
|
INT16 sX, sY, sX2, sY2;
|
||||||
|
|
||||||
pSoldier2 = NULL;
|
pSoldier2 = NULL;
|
||||||
//ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Handling %s, action %d at %ld", gMercProfiles[ ubTargetNPC ].zNickname, usActionCode, GetJA2Clock() );
|
//ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Handling %s, action %d at %ld", gMercProfiles[ ubTargetNPC ].zNickname, usActionCode, GetJA2Clock() );
|
||||||
@@ -1880,8 +1880,9 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
|
|||||||
// Squad here to search for...
|
// Squad here to search for...
|
||||||
|
|
||||||
// look for all mercs on the same team,
|
// look for all mercs on the same team,
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++,pSoldier++)
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
// Are we in this sector, On the current squad?
|
// Are we in this sector, On the current squad?
|
||||||
if ( pSoldier->bActive && pSoldier->stats.bLife >= OKLIFE && pSoldier->bInSector && pSoldier->bAssignment == CurrentSquad( ) )
|
if ( pSoldier->bActive && pSoldier->stats.bLife >= OKLIFE && pSoldier->bInSector && pSoldier->bAssignment == CurrentSquad( ) )
|
||||||
{
|
{
|
||||||
@@ -2170,8 +2171,9 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
|
|||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
|
|
||||||
// look for all mercs on the same team,
|
// look for all mercs on the same team,
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++,pSoldier++)
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
// Are we in this sector, On the current squad?
|
// Are we in this sector, On the current squad?
|
||||||
if ( pSoldier->bActive && pSoldier->stats.bLife >= OKLIFE && pSoldier->bInSector )
|
if ( pSoldier->bActive && pSoldier->stats.bLife >= OKLIFE && pSoldier->bInSector )
|
||||||
{
|
{
|
||||||
@@ -3726,8 +3728,9 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
|
|||||||
{
|
{
|
||||||
//HOSPITAL_PATIENT_DISTANCE
|
//HOSPITAL_PATIENT_DISTANCE
|
||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++,pSoldier++)
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
// Are we in this sector, On the current squad?
|
// Are we in this sector, On the current squad?
|
||||||
if ( pSoldier->bActive && pSoldier->bInSector && pSoldier->stats.bLife > 0 && (pSoldier->stats.bLife < pSoldier->stats.bLifeMax || NumberOfDamagedStats(pSoldier) > 0) && pSoldier->bAssignment != ASSIGNMENT_HOSPITAL && PythSpacesAway( pSoldier->sGridNo, pSoldier2->sGridNo ) < HOSPITAL_PATIENT_DISTANCE )
|
if ( pSoldier->bActive && pSoldier->bInSector && pSoldier->stats.bLife > 0 && (pSoldier->stats.bLife < pSoldier->stats.bLifeMax || NumberOfDamagedStats(pSoldier) > 0) && pSoldier->bAssignment != ASSIGNMENT_HOSPITAL && PythSpacesAway( pSoldier->sGridNo, pSoldier2->sGridNo ) < HOSPITAL_PATIENT_DISTANCE )
|
||||||
{
|
{
|
||||||
@@ -4578,9 +4581,9 @@ UINT32 CalcMedicalCost( UINT8 ubId )
|
|||||||
|
|
||||||
INT32 sGridNo = pNPC->sGridNo;
|
INT32 sGridNo = pNPC->sGridNo;
|
||||||
|
|
||||||
for ( UINT32 cnt = gTacticalStatus.Team[gbPlayerNum].bFirstID; cnt <= gTacticalStatus.Team[gbPlayerNum].bLastID; ++cnt )
|
for ( SoldierID cnt = gTacticalStatus.Team[gbPlayerNum].bFirstID; cnt <= gTacticalStatus.Team[gbPlayerNum].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
pSoldier = MercPtrs[ cnt ];
|
pSoldier = cnt;
|
||||||
if ( pSoldier->bActive && pSoldier->bInSector && pSoldier->stats.bLife > 0 && pSoldier->bAssignment != ASSIGNMENT_HOSPITAL )
|
if ( pSoldier->bActive && pSoldier->bInSector && pSoldier->stats.bLife > 0 && pSoldier->bAssignment != ASSIGNMENT_HOSPITAL )
|
||||||
{
|
{
|
||||||
if ( pSoldier->stats.bLife < pSoldier->stats.bLifeMax || NumberOfDamagedStats(pSoldier) > 0)
|
if ( pSoldier->stats.bLife < pSoldier->stats.bLifeMax || NumberOfDamagedStats(pSoldier) > 0)
|
||||||
@@ -4850,13 +4853,14 @@ void DialogueMessageBoxCallBack( UINT8 ubExitValue )
|
|||||||
{
|
{
|
||||||
// He tried to lie.....
|
// He tried to lie.....
|
||||||
// Find the best conscious merc with a chance....
|
// Find the best conscious merc with a chance....
|
||||||
UINT16 cnt;
|
SoldierID cnt;
|
||||||
SOLDIERTYPE * pLier = NULL;
|
SOLDIERTYPE *pLier = NULL;
|
||||||
SOLDIERTYPE * pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
|
|
||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++,pSoldier++ )
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
if ( pSoldier->bActive && pSoldier->bInSector && pSoldier->stats.bLife >= OKLIFE && pSoldier->bBreath >= OKBREATH )
|
if ( pSoldier->bActive && pSoldier->bInSector && pSoldier->stats.bLife >= OKLIFE && pSoldier->bBreath >= OKBREATH )
|
||||||
{
|
{
|
||||||
if (!pLier || (EffectiveWisdom( pSoldier ) + EffectiveLeadership( pSoldier ) > EffectiveWisdom( pLier ) + EffectiveLeadership( pSoldier ) ) )
|
if (!pLier || (EffectiveWisdom( pSoldier ) + EffectiveLeadership( pSoldier ) > EffectiveWisdom( pLier ) + EffectiveLeadership( pSoldier ) ) )
|
||||||
@@ -5016,13 +5020,13 @@ void DoneFadeInActionBasement( )
|
|||||||
{
|
{
|
||||||
// Start conversation, etc
|
// Start conversation, etc
|
||||||
SOLDIERTYPE *pSoldier, *pNPCSoldier;
|
SOLDIERTYPE *pSoldier, *pNPCSoldier;
|
||||||
INT32 cnt;
|
|
||||||
|
|
||||||
// Look for someone to talk to
|
// Look for someone to talk to
|
||||||
// look for all mercs on the same team,
|
// look for all mercs on the same team,
|
||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
SoldierID cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++,pSoldier++)
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
// Are we in this sector, On the current squad?
|
// Are we in this sector, On the current squad?
|
||||||
if ( pSoldier->bActive && pSoldier->stats.bLife >= OKLIFE && pSoldier->bInSector && pSoldier->bAssignment == CurrentSquad( ) )
|
if ( pSoldier->bActive && pSoldier->stats.bLife >= OKLIFE && pSoldier->bInSector && pSoldier->bAssignment == CurrentSquad( ) )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -591,7 +591,7 @@ void CheckForDisabledForGiveItem( )
|
|||||||
INT16 sDist;
|
INT16 sDist;
|
||||||
INT32 sDestGridNo;
|
INT32 sDestGridNo;
|
||||||
INT8 bDestLevel;
|
INT8 bDestLevel;
|
||||||
INT32 cnt;
|
SoldierID cnt;
|
||||||
SOLDIERTYPE *pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
SoldierID ubSrcSoldier;
|
SoldierID ubSrcSoldier;
|
||||||
|
|
||||||
@@ -614,8 +614,9 @@ void CheckForDisabledForGiveItem( )
|
|||||||
{
|
{
|
||||||
// Go through each merc and see if there is one closeby....
|
// Go through each merc and see if there is one closeby....
|
||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++,pSoldier++)
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
if ( pSoldier->bActive && pSoldier->stats.bLife >= OKLIFE && !( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) && !AM_A_ROBOT( pSoldier ) && pSoldier->bInSector && IsMercOnCurrentSquad( pSoldier ) )
|
if ( pSoldier->bActive && pSoldier->stats.bLife >= OKLIFE && !( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) && !AM_A_ROBOT( pSoldier ) && pSoldier->bInSector && IsMercOnCurrentSquad( pSoldier ) )
|
||||||
{
|
{
|
||||||
sDist = PythSpacesAway( gpSMCurrentMerc->sGridNo, pSoldier->sGridNo );
|
sDist = PythSpacesAway( gpSMCurrentMerc->sGridNo, pSoldier->sGridNo );
|
||||||
@@ -4511,9 +4512,9 @@ void BtnDropPackCallback(GUI_BUTTON *btn,INT32 reason)
|
|||||||
if ( _KeyDown( SHIFT ) )
|
if ( _KeyDown( SHIFT ) )
|
||||||
{
|
{
|
||||||
INT8 bAssignment = gpSMCurrentMerc->bAssignment;
|
INT8 bAssignment = gpSMCurrentMerc->bAssignment;
|
||||||
for( int x = gTacticalStatus.Team[ OUR_TEAM ].bFirstID; x <= gTacticalStatus.Team[ OUR_TEAM ].bLastID; x++ )
|
for( SoldierID x = gTacticalStatus.Team[ OUR_TEAM ].bFirstID; x <= gTacticalStatus.Team[ OUR_TEAM ].bLastID; ++x )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE *pSoldier = MercPtrs[x];
|
SOLDIERTYPE *pSoldier = x;
|
||||||
/* Is DropPackFlag currently false and is there something in the backpack pocket? If so, we haven't
|
/* Is DropPackFlag currently false and is there something in the backpack pocket? If so, we haven't
|
||||||
dropped a pack yet and apparently want to*/
|
dropped a pack yet and apparently want to*/
|
||||||
if(pSoldier->bAssignment == bAssignment && pSoldier->inv[BPACKPOCKPOS].exists() == true && !pSoldier->flags.DropPackFlag)
|
if(pSoldier->bAssignment == bAssignment && pSoldier->inv[BPACKPOCKPOS].exists() == true && !pSoldier->flags.DropPackFlag)
|
||||||
@@ -6437,13 +6438,12 @@ void CheckForFacePanelStartAnims( SOLDIERTYPE *pSoldier, INT16 sPanelX, INT16 sP
|
|||||||
void FinishAnySkullPanelAnimations( )
|
void FinishAnySkullPanelAnimations( )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE *pTeamSoldier;
|
SOLDIERTYPE *pTeamSoldier;
|
||||||
INT32 cnt2;
|
SoldierID cnt2 = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
|
|
||||||
cnt2 = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
|
||||||
|
|
||||||
// run through list
|
// run through list
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt2 ]; cnt2 <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt2++,pTeamSoldier++ )
|
for ( ; cnt2 <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt2 )
|
||||||
{
|
{
|
||||||
|
pTeamSoldier = cnt2;
|
||||||
if ( pTeamSoldier->bActive && pTeamSoldier->stats.bLife == 0 )
|
if ( pTeamSoldier->bActive && pTeamSoldier->stats.bLife == 0 )
|
||||||
{
|
{
|
||||||
if ( pTeamSoldier->flags.fUIdeadMerc || pTeamSoldier->flags.fClosePanelToDie )
|
if ( pTeamSoldier->flags.fUIdeadMerc || pTeamSoldier->flags.fClosePanelToDie )
|
||||||
@@ -6455,7 +6455,6 @@ void FinishAnySkullPanelAnimations( )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandlePanelFaceAnimations( SOLDIERTYPE *pSoldier )
|
void HandlePanelFaceAnimations( SOLDIERTYPE *pSoldier )
|
||||||
|
|||||||
@@ -5209,7 +5209,6 @@ void UpdateEnemyUIBar( )
|
|||||||
void InitPlayerUIBar( BOOLEAN fInterrupt )
|
void InitPlayerUIBar( BOOLEAN fInterrupt )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE *pTeamSoldier;
|
SOLDIERTYPE *pTeamSoldier;
|
||||||
INT32 cnt = 0;
|
|
||||||
INT16 bNumOK = 0, bNumNotOK = 0;
|
INT16 bNumOK = 0, bNumNotOK = 0;
|
||||||
|
|
||||||
if ( !gGameOptions.fTurnTimeLimit )
|
if ( !gGameOptions.fTurnTimeLimit )
|
||||||
@@ -5235,11 +5234,12 @@ void InitPlayerUIBar( BOOLEAN fInterrupt )
|
|||||||
gTacticalStatus.usTactialTurnLimitCounter = 0;
|
gTacticalStatus.usTactialTurnLimitCounter = 0;
|
||||||
|
|
||||||
// IF IT'S THE SELECTED GUY, MAKE ANOTHER SELECTED!
|
// IF IT'S THE SELECTED GUY, MAKE ANOTHER SELECTED!
|
||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
SoldierID cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
|
|
||||||
// look for all mercs on the same team,
|
// look for all mercs on the same team,
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++,pTeamSoldier++)
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pTeamSoldier = cnt;
|
||||||
// Are we active and in sector.....
|
// Are we active and in sector.....
|
||||||
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector )
|
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector )
|
||||||
{
|
{
|
||||||
|
|||||||
+4
-3
@@ -15332,10 +15332,11 @@ OBJECTTYPE* GetExternalFeedingObject(SOLDIERTYPE* pSoldier, OBJECTTYPE * pObject
|
|||||||
|
|
||||||
// loop over other members of our team in this sector. This includes ourself, as our gun can be fed from a belt in our inventory
|
// loop over other members of our team in this sector. This includes ourself, as our gun can be fed from a belt in our inventory
|
||||||
SOLDIERTYPE* pTeamSoldier = NULL;
|
SOLDIERTYPE* pTeamSoldier = NULL;
|
||||||
INT32 cnt = gTacticalStatus.Team[ pSoldier->bTeam ].bFirstID;
|
SoldierID cnt = gTacticalStatus.Team[ pSoldier->bTeam ].bFirstID;
|
||||||
INT32 lastid = gTacticalStatus.Team[ pSoldier->bTeam ].bLastID;
|
SoldierID lastid = gTacticalStatus.Team[ pSoldier->bTeam ].bLastID;
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt < lastid; ++cnt, ++pTeamSoldier)
|
for ( ; cnt < lastid; ++cnt )
|
||||||
{
|
{
|
||||||
|
pTeamSoldier = cnt;
|
||||||
// check if teamsoldier exists in this sector
|
// check if teamsoldier exists in this sector
|
||||||
if ( !pTeamSoldier || !pTeamSoldier->bActive || !pTeamSoldier->bInSector || pTeamSoldier->stats.bLife < OKLIFE || pTeamSoldier->sSectorX != pSoldier->sSectorX || pTeamSoldier->sSectorY != pSoldier->sSectorY || pTeamSoldier->bSectorZ != pSoldier->bSectorZ )
|
if ( !pTeamSoldier || !pTeamSoldier->bActive || !pTeamSoldier->bInSector || pTeamSoldier->stats.bLife < OKLIFE || pTeamSoldier->sSectorX != pSoldier->sSectorX || pTeamSoldier->sSectorY != pSoldier->sSectorY || pTeamSoldier->bSectorZ != pSoldier->bSectorZ )
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
+27
-25
@@ -1390,11 +1390,11 @@ DOOR_STATUS *GetDoorStatus( INT32 sGridNo )
|
|||||||
|
|
||||||
BOOLEAN AllMercsLookForDoor( INT32 sGridNo, BOOLEAN fUpdateValue )
|
BOOLEAN AllMercsLookForDoor( INT32 sGridNo, BOOLEAN fUpdateValue )
|
||||||
{
|
{
|
||||||
INT32 cnt, cnt2;
|
INT32 cnt2;
|
||||||
INT8 bDirs[ 8 ] = { NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST };
|
INT8 bDirs[ 8 ] = { NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST };
|
||||||
SOLDIERTYPE *pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
DOOR_STATUS *pDoorStatus;
|
DOOR_STATUS *pDoorStatus;
|
||||||
INT32 usNewGridNo;
|
INT32 usNewGridNo;
|
||||||
|
|
||||||
// Get door
|
// Get door
|
||||||
pDoorStatus = GetDoorStatus( sGridNo );
|
pDoorStatus = GetDoorStatus( sGridNo );
|
||||||
@@ -1405,11 +1405,12 @@ BOOLEAN AllMercsLookForDoor( INT32 sGridNo, BOOLEAN fUpdateValue )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// IF IT'S THE SELECTED GUY, MAKE ANOTHER SELECTED!
|
// IF IT'S THE SELECTED GUY, MAKE ANOTHER SELECTED!
|
||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
SoldierID cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
|
|
||||||
// look for all mercs on the same team,
|
// look for all mercs on the same team,
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++,pSoldier++ )
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
// ATE: Ok, lets check for some basic things here!
|
// ATE: Ok, lets check for some basic things here!
|
||||||
if ( pSoldier->stats.bLife >= OKLIFE && !TileIsOutOfBounds(pSoldier->sGridNo) && pSoldier->bActive && pSoldier->bInSector )
|
if ( pSoldier->stats.bLife >= OKLIFE && !TileIsOutOfBounds(pSoldier->sGridNo) && pSoldier->bActive && pSoldier->bInSector )
|
||||||
{
|
{
|
||||||
@@ -2070,11 +2071,10 @@ BOOLEAN LoadKeyTableFromSaveedGameFile( HWFILE hFile, UINT32 uiSaveGameVersion )
|
|||||||
|
|
||||||
void ExamineDoorsOnEnteringSector( )
|
void ExamineDoorsOnEnteringSector( )
|
||||||
{
|
{
|
||||||
INT32 cnt;
|
DOOR_STATUS *pDoorStatus;
|
||||||
DOOR_STATUS *pDoorStatus;
|
SOLDIERTYPE *pSoldier;
|
||||||
SOLDIERTYPE *pSoldier;
|
BOOLEAN fOK = FALSE;
|
||||||
BOOLEAN fOK = FALSE;
|
INT8 bTownId;
|
||||||
INT8 bTownId;
|
|
||||||
|
|
||||||
// OK, only do this if conditions are met....
|
// OK, only do this if conditions are met....
|
||||||
// If this is any omerta tow, don't do it...
|
// If this is any omerta tow, don't do it...
|
||||||
@@ -2093,10 +2093,11 @@ void ExamineDoorsOnEnteringSector( )
|
|||||||
|
|
||||||
// there is at least one human being in that sector.
|
// there is at least one human being in that sector.
|
||||||
// check for civ
|
// check for civ
|
||||||
cnt = gTacticalStatus.Team[ ENEMY_TEAM ].bFirstID;
|
SoldierID cnt = gTacticalStatus.Team[ ENEMY_TEAM ].bFirstID;
|
||||||
// look for all mercs on the same team,
|
// look for all mercs on the same team,
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ LAST_TEAM ].bLastID; cnt++ ,pSoldier++ )
|
for ( ; cnt <= gTacticalStatus.Team[ LAST_TEAM ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
if ( pSoldier->bActive )
|
if ( pSoldier->bActive )
|
||||||
{
|
{
|
||||||
if ( pSoldier->bInSector )
|
if ( pSoldier->bInSector )
|
||||||
@@ -2110,7 +2111,7 @@ void ExamineDoorsOnEnteringSector( )
|
|||||||
// Let's do it!
|
// Let's do it!
|
||||||
if ( fOK )
|
if ( fOK )
|
||||||
{
|
{
|
||||||
for ( cnt = 0; cnt < gubNumDoorStatus; cnt++ )
|
for ( UINT8 cnt = 0; cnt < gubNumDoorStatus; cnt++ )
|
||||||
{
|
{
|
||||||
pDoorStatus = &( gpDoorStatus[ cnt ] );
|
pDoorStatus = &( gpDoorStatus[ cnt ] );
|
||||||
|
|
||||||
@@ -2126,12 +2127,11 @@ void ExamineDoorsOnEnteringSector( )
|
|||||||
|
|
||||||
void HandleDoorsChangeWhenEnteringSectorCurrentlyLoaded( )
|
void HandleDoorsChangeWhenEnteringSectorCurrentlyLoaded( )
|
||||||
{
|
{
|
||||||
INT32 cnt;
|
DOOR_STATUS *pDoorStatus;
|
||||||
DOOR_STATUS *pDoorStatus;
|
SOLDIERTYPE *pSoldier;
|
||||||
SOLDIERTYPE *pSoldier;
|
BOOLEAN fOK = FALSE;
|
||||||
BOOLEAN fOK = FALSE;
|
INT32 iNumNewMercs = 0;
|
||||||
INT32 iNumNewMercs = 0;
|
INT8 bTownId;
|
||||||
INT8 bTownId;
|
|
||||||
|
|
||||||
// OK, only do this if conditions are met....
|
// OK, only do this if conditions are met....
|
||||||
|
|
||||||
@@ -2145,7 +2145,7 @@ void HandleDoorsChangeWhenEnteringSectorCurrentlyLoaded( )
|
|||||||
|
|
||||||
// 1 ) there is at least one human being in that sector.
|
// 1 ) there is at least one human being in that sector.
|
||||||
// check for civ
|
// check for civ
|
||||||
cnt = gTacticalStatus.Team[ ENEMY_TEAM ].bFirstID;
|
SoldierID cnt = gTacticalStatus.Team[ ENEMY_TEAM ].bFirstID;
|
||||||
|
|
||||||
// Check time...
|
// Check time...
|
||||||
if ( ( GetWorldTotalMin( ) - gTacticalStatus.uiTimeSinceLastInTactical ) < 30 )
|
if ( ( GetWorldTotalMin( ) - gTacticalStatus.uiTimeSinceLastInTactical ) < 30 )
|
||||||
@@ -2154,8 +2154,9 @@ void HandleDoorsChangeWhenEnteringSectorCurrentlyLoaded( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// look for all mercs on the same team,
|
// look for all mercs on the same team,
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ LAST_TEAM ].bLastID; cnt++ ,pSoldier++ )
|
for ( ; cnt <= gTacticalStatus.Team[ LAST_TEAM ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
if ( pSoldier->bActive && pSoldier->bInSector )
|
if ( pSoldier->bActive && pSoldier->bInSector )
|
||||||
{
|
{
|
||||||
fOK = TRUE;
|
fOK = TRUE;
|
||||||
@@ -2165,8 +2166,9 @@ void HandleDoorsChangeWhenEnteringSectorCurrentlyLoaded( )
|
|||||||
|
|
||||||
// Loop through our team now....
|
// Loop through our team now....
|
||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++ ,pSoldier++ )
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
if ( pSoldier->bActive && pSoldier->bInSector && gbMercIsNewInThisSector[ cnt ] )
|
if ( pSoldier->bActive && pSoldier->bInSector && gbMercIsNewInThisSector[ cnt ] )
|
||||||
{
|
{
|
||||||
iNumNewMercs++;
|
iNumNewMercs++;
|
||||||
@@ -2182,7 +2184,7 @@ void HandleDoorsChangeWhenEnteringSectorCurrentlyLoaded( )
|
|||||||
// Let's do it!
|
// Let's do it!
|
||||||
if ( fOK )
|
if ( fOK )
|
||||||
{
|
{
|
||||||
for ( cnt = 0; cnt < gubNumDoorStatus; cnt++ )
|
for ( UINT8 cnt = 0; cnt < gubNumDoorStatus; cnt++ )
|
||||||
{
|
{
|
||||||
pDoorStatus = &( gpDoorStatus[ cnt ] );
|
pDoorStatus = &( gpDoorStatus[ cnt ] );
|
||||||
|
|
||||||
|
|||||||
+14
-13
@@ -673,10 +673,10 @@ BOOLEAN IsTheSoldierAliveAndConcious( SOLDIERTYPE *pSoldier )
|
|||||||
|
|
||||||
UINT16 NumberOfMercsOnPlayerTeam()
|
UINT16 NumberOfMercsOnPlayerTeam()
|
||||||
{
|
{
|
||||||
UINT16 cnt;
|
SoldierID cnt;
|
||||||
SOLDIERTYPE *pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
UINT16 bLastTeamID;
|
SoldierID bLastTeamID;
|
||||||
UINT16 ubCount=0;
|
UINT16 ubCount=0;
|
||||||
|
|
||||||
// Set locator to first merc
|
// Set locator to first merc
|
||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
@@ -685,8 +685,9 @@ UINT16 NumberOfMercsOnPlayerTeam()
|
|||||||
if (! MercPtrs[cnt])
|
if (! MercPtrs[cnt])
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= bLastTeamID; cnt++,pSoldier++)
|
for ( ; cnt <= bLastTeamID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
AssertNotNIL(pSoldier);
|
AssertNotNIL(pSoldier);
|
||||||
|
|
||||||
//if the is active, and is not a vehicle
|
//if the is active, and is not a vehicle
|
||||||
@@ -702,9 +703,9 @@ UINT16 NumberOfMercsOnPlayerTeam()
|
|||||||
|
|
||||||
void HandleMercArrivesQuotes( SOLDIERTYPE *pSoldier )
|
void HandleMercArrivesQuotes( SOLDIERTYPE *pSoldier )
|
||||||
{
|
{
|
||||||
UINT16 cnt, usLastTeamID;
|
SoldierID cnt, usLastTeamID;
|
||||||
INT8 bHated;
|
INT8 bHated;
|
||||||
SOLDIERTYPE *pTeamSoldier;
|
SOLDIERTYPE *pTeamSoldier;
|
||||||
#ifdef JA2UB
|
#ifdef JA2UB
|
||||||
//if we are at the begining of the game going through the initial heli scequence
|
//if we are at the begining of the game going through the initial heli scequence
|
||||||
if( pSoldier->fWaitingToGetupFromJA25Start )
|
if( pSoldier->fWaitingToGetupFromJA25Start )
|
||||||
@@ -730,8 +731,9 @@ void HandleMercArrivesQuotes( SOLDIERTYPE *pSoldier )
|
|||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
usLastTeamID = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
usLastTeamID = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||||
//loop though all the mercs
|
//loop though all the mercs
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= usLastTeamID; ++cnt, ++pTeamSoldier)
|
for ( ; cnt <= usLastTeamID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pTeamSoldier = cnt;
|
||||||
if ( pTeamSoldier->bActive )
|
if ( pTeamSoldier->bActive )
|
||||||
{
|
{
|
||||||
if ( pTeamSoldier->ubWhatKindOfMercAmI == MERC_TYPE__AIM_MERC )
|
if ( pTeamSoldier->ubWhatKindOfMercAmI == MERC_TYPE__AIM_MERC )
|
||||||
@@ -819,14 +821,13 @@ UINT32 GetMercArrivalTimeOfDay( )
|
|||||||
|
|
||||||
void UpdateAnyInTransitMercsWithGlobalArrivalSector( )
|
void UpdateAnyInTransitMercsWithGlobalArrivalSector( )
|
||||||
{
|
{
|
||||||
INT32 cnt;
|
|
||||||
SOLDIERTYPE *pSoldier;
|
SOLDIERTYPE *pSoldier;
|
||||||
|
SoldierID cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
|
||||||
|
|
||||||
// look for all mercs on the same team,
|
// look for all mercs on the same team,
|
||||||
for ( pSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; cnt++,pSoldier++)
|
for ( ; cnt <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pSoldier = cnt;
|
||||||
if ( pSoldier->bActive )
|
if ( pSoldier->bActive )
|
||||||
{
|
{
|
||||||
if ( pSoldier->bAssignment == IN_TRANSIT )
|
if ( pSoldier->bAssignment == IN_TRANSIT )
|
||||||
|
|||||||
@@ -176,12 +176,11 @@ void ResetMilitia()
|
|||||||
void RemoveMilitiaFromTactical()
|
void RemoveMilitiaFromTactical()
|
||||||
{
|
{
|
||||||
SOLDIERINITNODE *curr;
|
SOLDIERINITNODE *curr;
|
||||||
INT32 i;
|
for( SoldierID id = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID; id <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; ++id )
|
||||||
for( i = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID; i <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; i++ )
|
|
||||||
{
|
{
|
||||||
if( MercPtrs[ i ]->bActive )
|
if( id->bActive )
|
||||||
{
|
{
|
||||||
TacticalRemoveSoldier( MercPtrs[ i ]->ubID );
|
TacticalRemoveSoldier( id );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
curr = gSoldierInitHead;
|
curr = gSoldierInitHead;
|
||||||
@@ -327,7 +326,6 @@ void PrepareMilitiaForTactical( BOOLEAN fPrepareAll)
|
|||||||
|
|
||||||
void HandleMilitiaPromotions( void )
|
void HandleMilitiaPromotions( void )
|
||||||
{
|
{
|
||||||
UINT16 cnt;
|
|
||||||
SOLDIERTYPE* pTeamSoldier;
|
SOLDIERTYPE* pTeamSoldier;
|
||||||
|
|
||||||
gbGreenToElitePromotions = 0;
|
gbGreenToElitePromotions = 0;
|
||||||
@@ -335,10 +333,11 @@ void HandleMilitiaPromotions( void )
|
|||||||
gbRegToElitePromotions = 0;
|
gbRegToElitePromotions = 0;
|
||||||
gbMilitiaPromotions = 0;
|
gbMilitiaPromotions = 0;
|
||||||
|
|
||||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
SoldierID cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||||
|
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; ++cnt, ++pTeamSoldier)
|
for ( ; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pTeamSoldier = cnt;
|
||||||
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->stats.bLife > 0 )
|
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->stats.bLife > 0 )
|
||||||
{
|
{
|
||||||
// Flugente: take care of promotions and individual militia update
|
// Flugente: take care of promotions and individual militia update
|
||||||
@@ -1422,13 +1421,14 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
case( MILCON_MENU_ALL_ATTACK ):
|
case( MILCON_MENU_ALL_ATTACK ):
|
||||||
if (fAllowSectorOrder)
|
if (fAllowSectorOrder)
|
||||||
{
|
{
|
||||||
UINT16 cnt;
|
SoldierID cnt;
|
||||||
SOLDIERTYPE *pTeamSoldier;
|
SOLDIERTYPE *pTeamSoldier;
|
||||||
|
|
||||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||||
|
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
for ( ; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pTeamSoldier = cnt;
|
||||||
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->stats.bLife >= OKLIFE) )
|
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->stats.bLife >= OKLIFE) )
|
||||||
{
|
{
|
||||||
// sevenfm: stop any AI
|
// sevenfm: stop any AI
|
||||||
@@ -1459,13 +1459,14 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
case( MILCON_MENU_ALL_HOLD ):
|
case( MILCON_MENU_ALL_HOLD ):
|
||||||
if (fAllowSectorOrder)
|
if (fAllowSectorOrder)
|
||||||
{
|
{
|
||||||
UINT16 cnt;
|
SoldierID cnt;
|
||||||
SOLDIERTYPE *pTeamSoldier;
|
SOLDIERTYPE *pTeamSoldier;
|
||||||
|
|
||||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||||
|
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
for ( ; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pTeamSoldier = cnt;
|
||||||
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->stats.bLife >= OKLIFE) )
|
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->stats.bLife >= OKLIFE) )
|
||||||
{
|
{
|
||||||
// sevenfm: stop any AI
|
// sevenfm: stop any AI
|
||||||
@@ -1495,14 +1496,15 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
case( MILCON_MENU_ALL_RETREAT ):
|
case( MILCON_MENU_ALL_RETREAT ):
|
||||||
if (fAllowSectorOrder)
|
if (fAllowSectorOrder)
|
||||||
{
|
{
|
||||||
UINT16 cnt;
|
SoldierID cnt;
|
||||||
INT16 sActionGridNo;
|
INT16 sActionGridNo;
|
||||||
SOLDIERTYPE *pTeamSoldier;
|
SOLDIERTYPE *pTeamSoldier;
|
||||||
|
|
||||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||||
|
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
for ( ; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pTeamSoldier = cnt;
|
||||||
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->stats.bLife >= OKLIFE) )
|
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->stats.bLife >= OKLIFE) )
|
||||||
{
|
{
|
||||||
// sevenfm: stop any AI
|
// sevenfm: stop any AI
|
||||||
@@ -1558,15 +1560,16 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
case( MILCON_MENU_ALL_COMETOME ):
|
case( MILCON_MENU_ALL_COMETOME ):
|
||||||
if (fAllowSectorOrder)
|
if (fAllowSectorOrder)
|
||||||
{
|
{
|
||||||
UINT16 cnt;
|
SoldierID cnt;
|
||||||
UINT8 ubDirection;
|
UINT8 ubDirection;
|
||||||
INT32 sActionGridNo, sGridNo, sAdjustedGridNo;
|
INT32 sActionGridNo, sGridNo, sAdjustedGridNo;
|
||||||
SOLDIERTYPE *pTeamSoldier;
|
SOLDIERTYPE *pTeamSoldier;
|
||||||
|
|
||||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||||
|
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
for ( ; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pTeamSoldier = cnt;
|
||||||
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->stats.bLife >= OKLIFE) )
|
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->stats.bLife >= OKLIFE) )
|
||||||
{
|
{
|
||||||
// sevenfm: stop any AI
|
// sevenfm: stop any AI
|
||||||
@@ -1615,14 +1618,15 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
case( MILCON_MENU_ALL_SPREAD ):
|
case( MILCON_MENU_ALL_SPREAD ):
|
||||||
if (fAllowSectorOrder)
|
if (fAllowSectorOrder)
|
||||||
{
|
{
|
||||||
UINT16 cnt;
|
SoldierID cnt;
|
||||||
INT32 sActionGridNo;
|
INT32 sActionGridNo;
|
||||||
SOLDIERTYPE *pTeamSoldier;
|
SOLDIERTYPE *pTeamSoldier;
|
||||||
|
|
||||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||||
|
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
for ( ; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pTeamSoldier = cnt;
|
||||||
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->stats.bLife >= OKLIFE) )
|
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->stats.bLife >= OKLIFE) )
|
||||||
{
|
{
|
||||||
// sevenfm: stop any AI
|
// sevenfm: stop any AI
|
||||||
@@ -1668,13 +1672,14 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
case( MILCON_MENU_ALL_GETDOWN ):
|
case( MILCON_MENU_ALL_GETDOWN ):
|
||||||
if (fAllowSectorOrder)
|
if (fAllowSectorOrder)
|
||||||
{
|
{
|
||||||
UINT16 cnt;
|
SoldierID cnt;
|
||||||
SOLDIERTYPE *pTeamSoldier;
|
SOLDIERTYPE *pTeamSoldier;
|
||||||
|
|
||||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||||
|
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
for ( ; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pTeamSoldier = cnt;
|
||||||
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->stats.bLife >= OKLIFE) )
|
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->stats.bLife >= OKLIFE) )
|
||||||
{
|
{
|
||||||
// sevenfm: stop any AI
|
// sevenfm: stop any AI
|
||||||
@@ -1706,13 +1711,14 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
case( MILCON_MENU_ALL_CROUCH ):
|
case( MILCON_MENU_ALL_CROUCH ):
|
||||||
if (fAllowSectorOrder)
|
if (fAllowSectorOrder)
|
||||||
{
|
{
|
||||||
UINT16 cnt;
|
SoldierID cnt;
|
||||||
SOLDIERTYPE *pTeamSoldier;
|
SOLDIERTYPE *pTeamSoldier;
|
||||||
|
|
||||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||||
|
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; ++cnt, ++pTeamSoldier)
|
for ( ; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pTeamSoldier = cnt;
|
||||||
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->stats.bLife >= OKLIFE) )
|
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->stats.bLife >= OKLIFE) )
|
||||||
{
|
{
|
||||||
// sevenfm: stop any AI
|
// sevenfm: stop any AI
|
||||||
@@ -1744,15 +1750,16 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
case( MILCON_MENU_ALL_TAKE_COVER ):
|
case( MILCON_MENU_ALL_TAKE_COVER ):
|
||||||
if (fAllowSectorOrder)
|
if (fAllowSectorOrder)
|
||||||
{
|
{
|
||||||
UINT16 cnt;
|
SoldierID cnt;
|
||||||
INT16 sActionGridNo;
|
INT16 sActionGridNo;
|
||||||
INT32 iDummy;
|
INT32 iDummy;
|
||||||
SOLDIERTYPE *pTeamSoldier;
|
SOLDIERTYPE *pTeamSoldier;
|
||||||
|
|
||||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||||
|
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
for ( ; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; ++cnt )
|
||||||
{
|
{
|
||||||
|
pTeamSoldier = cnt;
|
||||||
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->stats.bLife >= OKLIFE) )
|
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->stats.bLife >= OKLIFE) )
|
||||||
{
|
{
|
||||||
// sevenfm: stop any AI
|
// sevenfm: stop any AI
|
||||||
|
|||||||
+9
-8
@@ -253,12 +253,13 @@ void DecayStrategicMorale( SOLDIERTYPE * pSoldier )
|
|||||||
void DecayTacticalMoraleModifiers( void )
|
void DecayTacticalMoraleModifiers( void )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE * pSoldier;
|
SOLDIERTYPE * pSoldier;
|
||||||
UINT16 ubLoop, ubLoop2;
|
SoldierID ubLoop, ubLoop2;
|
||||||
BOOLEAN fHandleNervous;
|
BOOLEAN fHandleNervous;
|
||||||
|
|
||||||
ubLoop = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
ubLoop = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
for ( pSoldier = MercPtrs[ ubLoop ]; ubLoop <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ubLoop++, pSoldier++ )
|
for ( ; ubLoop <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++ubLoop )
|
||||||
{
|
{
|
||||||
|
pSoldier = ubLoop;
|
||||||
//if the merc is active, in Arulco
|
//if the merc is active, in Arulco
|
||||||
// CJC: decay modifiers while asleep! or POW!
|
// CJC: decay modifiers while asleep! or POW!
|
||||||
if ( pSoldier->bActive && pSoldier->ubProfile != NO_PROFILE &&
|
if ( pSoldier->bActive && pSoldier->ubProfile != NO_PROFILE &&
|
||||||
@@ -313,10 +314,10 @@ void DecayTacticalMoraleModifiers( void )
|
|||||||
{
|
{
|
||||||
// look for anyone else in same sector
|
// look for anyone else in same sector
|
||||||
fHandleNervous = TRUE;
|
fHandleNervous = TRUE;
|
||||||
for ( ubLoop2 = gTacticalStatus.Team[ gbPlayerNum ].bFirstID; ubLoop2 <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ubLoop2++ )
|
for ( ubLoop2 = gTacticalStatus.Team[ gbPlayerNum ].bFirstID; ubLoop2 <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++ubLoop2 )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE *pSoldier = MercPtrs[ubLoop2];
|
SOLDIERTYPE *pSoldier2 = ubLoop2;
|
||||||
if ( pSoldier != pSoldier && pSoldier->bActive && pSoldier->sSectorX == pSoldier->sSectorX && pSoldier->sSectorY == pSoldier->sSectorY && pSoldier->bSectorZ == pSoldier->bSectorZ )
|
if ( pSoldier2 != pSoldier && pSoldier2->bActive && pSoldier2->sSectorX == pSoldier->sSectorX && pSoldier2->sSectorY == pSoldier->sSectorY && pSoldier2->bSectorZ == pSoldier->bSectorZ )
|
||||||
{
|
{
|
||||||
// found someone!
|
// found someone!
|
||||||
fHandleNervous = FALSE;
|
fHandleNervous = FALSE;
|
||||||
@@ -361,11 +362,11 @@ void DecayTacticalMoraleModifiers( void )
|
|||||||
void DecayStrategicMoraleModifiers( void )
|
void DecayStrategicMoraleModifiers( void )
|
||||||
{
|
{
|
||||||
SOLDIERTYPE * pSoldier;
|
SOLDIERTYPE * pSoldier;
|
||||||
UINT16 ubLoop;
|
SoldierID ubLoop = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||||
|
|
||||||
ubLoop = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
for ( ; ubLoop <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++ubLoop )
|
||||||
for ( pSoldier = MercPtrs[ ubLoop ]; ubLoop <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ubLoop++, pSoldier++ )
|
|
||||||
{
|
{
|
||||||
|
pSoldier = ubLoop;
|
||||||
//if the merc is active, in Arulco
|
//if the merc is active, in Arulco
|
||||||
// CJC: decay modifiers while asleep! or POW!
|
// CJC: decay modifiers while asleep! or POW!
|
||||||
if ( pSoldier->bActive && pSoldier->ubProfile != NO_PROFILE &&
|
if ( pSoldier->bActive && pSoldier->ubProfile != NO_PROFILE &&
|
||||||
|
|||||||
Reference in New Issue
Block a user