mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Altered tank position in autoresolve.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7729 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+37
-37
@@ -788,7 +788,13 @@ void AssociateEnemiesWithStrategicGroups()
|
||||
//Stationary groups have a group ID of 0
|
||||
for( i = 0; i < gpAR->ubEnemies; ++i )
|
||||
{
|
||||
if( gpEnemies[ i ].uiFlags & CELL_ELITE && ubNumElites )
|
||||
if ( gpEnemies[i].uiFlags & CELL_TANK && ubNumTanks )
|
||||
{
|
||||
gpEnemies[i].pSoldier->ubGroupID = 0;
|
||||
gpEnemies[i].uiFlags |= CELL_ASSIGNED;
|
||||
ubNumTanks--;
|
||||
}
|
||||
else if ( gpEnemies[i].uiFlags & CELL_ELITE && ubNumElites )
|
||||
{
|
||||
gpEnemies[ i ].pSoldier->ubGroupID = 0;
|
||||
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
|
||||
@@ -806,12 +812,6 @@ void AssociateEnemiesWithStrategicGroups()
|
||||
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
|
||||
ubNumAdmins--;
|
||||
}
|
||||
else if( gpEnemies[ i ].uiFlags & CELL_TANK && ubNumTanks )
|
||||
{
|
||||
gpEnemies[ i ].pSoldier->ubGroupID = 0;
|
||||
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
|
||||
ubNumTanks--;
|
||||
}
|
||||
}
|
||||
|
||||
ubNumAdmins = gpAR->ubAdmins - pSector->ubNumAdmins;
|
||||
@@ -838,7 +838,14 @@ void AssociateEnemiesWithStrategicGroups()
|
||||
{
|
||||
if( !(gpEnemies[ i ].uiFlags & CELL_ASSIGNED) )
|
||||
{
|
||||
if( ubNumElites && ubNumElitesInGroup )
|
||||
if( ubNumTanks && ubNumTanksInGroup )
|
||||
{
|
||||
gpEnemies[ i ].pSoldier->ubGroupID = pGroup->ubGroupID;
|
||||
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
|
||||
ubNumTanks--;
|
||||
ubNumTanksInGroup--;
|
||||
}
|
||||
else if( ubNumElites && ubNumElitesInGroup )
|
||||
{
|
||||
gpEnemies[ i ].pSoldier->ubGroupID = pGroup->ubGroupID;
|
||||
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
|
||||
@@ -858,14 +865,7 @@ void AssociateEnemiesWithStrategicGroups()
|
||||
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
|
||||
ubNumAdmins--;
|
||||
ubNumAdminsInGroup--;
|
||||
}
|
||||
else if( ubNumTanks && ubNumTanksInGroup )
|
||||
{
|
||||
gpEnemies[ i ].pSoldier->ubGroupID = pGroup->ubGroupID;
|
||||
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
|
||||
ubNumTanks--;
|
||||
ubNumTanksInGroup--;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -888,7 +888,14 @@ void AssociateEnemiesWithStrategicGroups()
|
||||
{
|
||||
if( !(gpEnemies[ i ].uiFlags & CELL_ASSIGNED) )
|
||||
{
|
||||
if( ubNumElites && ubNumElitesInGroup )
|
||||
if ( ubNumTanks && ubNumTanksInGroup )
|
||||
{
|
||||
gpEnemies[i].pSoldier->ubGroupID = pGroup->ubGroupID;
|
||||
gpEnemies[i].uiFlags |= CELL_ASSIGNED;
|
||||
ubNumTanks--;
|
||||
ubNumTanksInGroup--;
|
||||
}
|
||||
else if ( ubNumElites && ubNumElitesInGroup )
|
||||
{
|
||||
gpEnemies[ i ].pSoldier->ubGroupID = pGroup->ubGroupID;
|
||||
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
|
||||
@@ -909,13 +916,6 @@ void AssociateEnemiesWithStrategicGroups()
|
||||
ubNumAdmins--;
|
||||
ubNumAdminsInGroup--;
|
||||
}
|
||||
else if( ubNumTanks && ubNumTanksInGroup )
|
||||
{
|
||||
gpEnemies[ i ].pSoldier->ubGroupID = pGroup->ubGroupID;
|
||||
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
|
||||
ubNumTanks--;
|
||||
ubNumTanksInGroup--;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -940,7 +940,16 @@ void AssociateEnemiesWithStrategicGroups()
|
||||
|
||||
if( !(gpEnemies[ i ].uiFlags & CELL_ASSIGNED) )
|
||||
{
|
||||
if( gpEnemies[ i ].uiFlags & CELL_ELITE && ubISNumElites && ubNumElites )
|
||||
if ( gpEnemies[i].uiFlags & CELL_TANK && ubISNumTanks && ubNumTanks )
|
||||
{
|
||||
gpEnemies[i].pSoldier->ubGroupID = 0;
|
||||
gpEnemies[i].uiFlags |= CELL_ASSIGNED;
|
||||
gpEnemies[i].pSoldier->sSectorX = SECTORX( pSectors[ubCurrSI] );
|
||||
gpEnemies[i].pSoldier->sSectorY = SECTORY( pSectors[ubCurrSI] );
|
||||
ubISNumTanks--;
|
||||
ubNumTanks--;
|
||||
}
|
||||
else if ( gpEnemies[i].uiFlags & CELL_ELITE && ubISNumElites && ubNumElites )
|
||||
{
|
||||
gpEnemies[ i ].pSoldier->ubGroupID = 0;
|
||||
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
|
||||
@@ -967,15 +976,6 @@ void AssociateEnemiesWithStrategicGroups()
|
||||
ubISNumAdmins--;
|
||||
ubNumAdmins--;
|
||||
}
|
||||
else if( gpEnemies[ i ].uiFlags & CELL_TANK && ubISNumTanks && ubNumTanks )
|
||||
{
|
||||
gpEnemies[ i ].pSoldier->ubGroupID = 0;
|
||||
gpEnemies[ i ].uiFlags |= CELL_ASSIGNED;
|
||||
gpEnemies[ i ].pSoldier->sSectorX = SECTORX( pSectors[ ubCurrSI ] );
|
||||
gpEnemies[ i ].pSoldier->sSectorY = SECTORY( pSectors[ ubCurrSI ] );
|
||||
ubISNumTanks--;
|
||||
ubNumTanks--;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3231,7 +3231,7 @@ void CalculateAutoResolveInfo()
|
||||
// GetNumberOfEnemiesInSector( gpAR->ubSectorX, gpAR->ubSectorY,
|
||||
GetNumberOfEnemiesInFiveSectors( gpAR->ubSectorX, gpAR->ubSectorY,
|
||||
&gpAR->ubAdmins, &gpAR->ubTroops, &gpAR->ubElites, &gpAR->ubTanks );
|
||||
gpAR->ubEnemies = (UINT8)min( gpAR->ubAdmins + gpAR->ubTroops + gpAR->ubElites, MAX_AR_TEAM_SIZE );
|
||||
gpAR->ubEnemies = (UINT8)min( gpAR->ubAdmins + gpAR->ubTroops + gpAR->ubElites + gpAR->ubTanks, MAX_AR_TEAM_SIZE );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -4620,7 +4620,7 @@ void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget )
|
||||
fCannon = TRUE;
|
||||
|
||||
// cannons have a huge splash zone, so they are much more likely to hit
|
||||
usAttack *= 1.25;
|
||||
usAttack *= 1.5;
|
||||
}
|
||||
// if our target is a tank, we use heavy weapons if we have any
|
||||
else if ( TANK( pTarget->pSoldier ) && FireAntiTankWeapon( pAttacker ) )
|
||||
@@ -4742,7 +4742,7 @@ void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget )
|
||||
}
|
||||
|
||||
// tanks might do splash damage to other troops as well...
|
||||
UINT8 numtries = min(3, Random( gpAR->ubMercs + gpAR->ubCivs ) );
|
||||
UINT8 numtries = min(4, Random( gpAR->ubMercs + gpAR->ubCivs ) );
|
||||
for ( int tries = 0; tries < numtries; ++tries )
|
||||
{
|
||||
SOLDIERCELL* pAnotherTarget = ChooseTarget( pAttacker );
|
||||
|
||||
Reference in New Issue
Block a user