mirror of
https://github.com/1dot13/source.git
synced 2026-08-05 14:00:23 +02:00
New feature: enemy combat jeeps fill the role between infantry and tanks. For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&goto=344628&#msg_344628
This is savegame compatible. GameDir >= r2305 required. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8114 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+47
-47
@@ -101,55 +101,56 @@ void RandomStats ();
|
||||
|
||||
void RandomAddEnemy( UINT8 SectorX, UINT8 SectorY, UINT8 Level )
|
||||
{
|
||||
UNDERGROUND_SECTORINFO *pSector;
|
||||
UINT8 ubNumAdmins = 0;
|
||||
UINT8 ubNumTroops = 0;
|
||||
UINT8 ubNumElites = 0;
|
||||
UINT8 ubNumTanks = 0;
|
||||
UNDERGROUND_SECTORINFO *pSector;
|
||||
UINT8 ubNumAdmins = 0;
|
||||
UINT8 ubNumTroops = 0;
|
||||
UINT8 ubNumElites = 0;
|
||||
UINT8 ubNumTanks = 0;
|
||||
UINT8 ubNumJeeps = 0;
|
||||
|
||||
if ( Level != 0 )
|
||||
{
|
||||
pSector = FindUnderGroundSector( SectorX, SectorY, Level );
|
||||
if ( pSector )
|
||||
{
|
||||
if ( pSector->fVisited != TRUE )
|
||||
pSector = FindUnderGroundSector( SectorX, SectorY, Level );
|
||||
if ( pSector )
|
||||
{
|
||||
switch( gGameOptions.ubDifficultyLevel )
|
||||
if ( pSector->fVisited != TRUE )
|
||||
{
|
||||
case DIF_LEVEL_EASY:
|
||||
ubNumAdmins = Random( 0 );
|
||||
ubNumTroops = 10 + Random( 5 );
|
||||
ubNumElites = Random( 4 );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks );
|
||||
break;
|
||||
case DIF_LEVEL_MEDIUM:
|
||||
ubNumAdmins = Random( 0 );
|
||||
ubNumTroops = 15 + Random( 8 );
|
||||
ubNumElites = 1 + Random( 2 );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks );
|
||||
break;
|
||||
case DIF_LEVEL_HARD:
|
||||
ubNumAdmins = Random( 0 );
|
||||
ubNumTroops = 20 + Random( 7 );
|
||||
ubNumElites = 2 + Random( 2 );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks );
|
||||
break;
|
||||
case DIF_LEVEL_INSANE:
|
||||
ubNumAdmins = Random( 0 );
|
||||
ubNumTroops = 20 + Random( 3 );
|
||||
ubNumElites = 6 + Random( 3 );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks );
|
||||
break;
|
||||
default:
|
||||
ubNumAdmins = Random( 0 );
|
||||
ubNumTroops = 10 + Random( 5 );
|
||||
ubNumElites = Random( 4 );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks );
|
||||
break;
|
||||
switch( gGameOptions.ubDifficultyLevel )
|
||||
{
|
||||
case DIF_LEVEL_EASY:
|
||||
ubNumAdmins = Random( 0 );
|
||||
ubNumTroops = 10 + Random( 5 );
|
||||
ubNumElites = Random( 4 );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks, ubNumJeeps );
|
||||
break;
|
||||
case DIF_LEVEL_MEDIUM:
|
||||
ubNumAdmins = Random( 0 );
|
||||
ubNumTroops = 15 + Random( 8 );
|
||||
ubNumElites = 1 + Random( 2 );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks, ubNumJeeps );
|
||||
break;
|
||||
case DIF_LEVEL_HARD:
|
||||
ubNumAdmins = Random( 0 );
|
||||
ubNumTroops = 20 + Random( 7 );
|
||||
ubNumElites = 2 + Random( 2 );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks, ubNumJeeps );
|
||||
break;
|
||||
case DIF_LEVEL_INSANE:
|
||||
ubNumAdmins = Random( 0 );
|
||||
ubNumTroops = 20 + Random( 3 );
|
||||
ubNumElites = 6 + Random( 3 );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks, ubNumJeeps );
|
||||
break;
|
||||
default:
|
||||
ubNumAdmins = Random( 0 );
|
||||
ubNumTroops = 10 + Random( 5 );
|
||||
ubNumElites = Random( 4 );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks, ubNumJeeps );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( !GetSectorFlagStatus( SectorX, SectorY, Level, SF_ALREADY_VISITED ) )
|
||||
@@ -160,32 +161,31 @@ UINT8 ubNumTanks = 0;
|
||||
ubNumAdmins = Random( 0 );
|
||||
ubNumTroops = 10 + Random( 5 );
|
||||
ubNumElites = Random( 4 );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks, ubNumJeeps );
|
||||
break;
|
||||
case DIF_LEVEL_MEDIUM:
|
||||
ubNumAdmins = Random( 0 );
|
||||
ubNumTroops = 15 + Random( 8 );
|
||||
ubNumElites = 1 + Random( 2 );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks, ubNumJeeps );
|
||||
break;
|
||||
case DIF_LEVEL_HARD:
|
||||
ubNumAdmins = Random( 0 );
|
||||
ubNumTroops = 23 + Random( 7);
|
||||
ubNumElites = 2 + Random( 2 );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks, ubNumJeeps );
|
||||
break;
|
||||
case DIF_LEVEL_INSANE:
|
||||
ubNumAdmins = Random( 0 );
|
||||
ubNumTroops = 20 + Random( 3 );
|
||||
ubNumElites = 6 + Random( 3 );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks, ubNumJeeps );
|
||||
break;
|
||||
default:
|
||||
ubNumAdmins = Random( 0 );
|
||||
ubNumTroops = 10 + Random( 5 );
|
||||
ubNumElites = Random( 4 );
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks );
|
||||
break;
|
||||
SetNumberJa25EnemiesInSector( SectorX, SectorY, Level, ubNumAdmins, ubNumTroops, ubNumElites, ubNumTanks, ubNumJeeps );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user