mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
- New Feature: Enemy Generals are unique enemies whose location randomized and unknwon to the player. As long as they are alive, the enemy gets signifiant strategic boni. The player must learn of their location and take take them out, preferrably without alerting them prior.
- Covert Ops: Bleeding is deemed suspicious only if COVERT_DETECTEDIFBLEEDING is set to TRUE. - renamed special prisoners to officers. - lowered the priority of enemy troops becoming medics - prisoners in player-controlled prisons now use the prioner-colour scheme used by Shank and Dynamo Requires GameDir >= r2028. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7179 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+60
-1
@@ -492,6 +492,10 @@ void InitStrategicLayer( void )
|
||||
// re-set up leave list arrays for dismissed mercs
|
||||
InitLeaveList( );
|
||||
|
||||
// Flugente: se up VIP locations
|
||||
void InitVIPSectors( );
|
||||
|
||||
|
||||
#ifdef JA2UB
|
||||
LuaInitStrategicLayer(0); //JA25 UB InitStrategicLayer.lua
|
||||
#endif
|
||||
@@ -1219,7 +1223,7 @@ void ReStartingGame()
|
||||
if ( InAirRaid( ) )
|
||||
{
|
||||
EndAirRaid( );
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef JA2TESTVERSION
|
||||
//Reset so we can use the 'cheat key' to start with mercs
|
||||
@@ -1248,3 +1252,58 @@ void ReStartingGame()
|
||||
gubCheatLevel = 0;
|
||||
|
||||
}
|
||||
|
||||
// Flugente: set up VIP locations
|
||||
void InitVIPSectors()
|
||||
{
|
||||
if ( !gGameExternalOptions.fEnemyGenerals )
|
||||
return;
|
||||
|
||||
gStrategicStatus.usVIPsTotal = gGameExternalOptions.usEnemyGeneralsNumber;
|
||||
gStrategicStatus.usVIPsLeft = 0;
|
||||
|
||||
// first VIP is the general, if he is still alive
|
||||
if ( gMercProfiles[GENERAL].bLife > 0 )
|
||||
{
|
||||
UINT16 generalsector = SECTOR( gMercProfiles[GENERAL].sSectorX, gMercProfiles[GENERAL].sSectorY );
|
||||
|
||||
// place new VIP in sector
|
||||
StrategicMap[generalsector].usFlags |= ENEMY_VIP_PRESENT;
|
||||
|
||||
// no extra troops here. The player might have already taken the barracks but left the general alive
|
||||
//SectorInfo[generalsector].ubNumElites += 5;
|
||||
|
||||
++gStrategicStatus.usVIPsLeft;
|
||||
}
|
||||
|
||||
for ( UINT8 i = gStrategicStatus.usVIPsLeft; i < gStrategicStatus.usVIPsTotal; ++i )
|
||||
{
|
||||
UINT16 vipspawnsector = 0;
|
||||
if ( GetPossibleVIPSector( vipspawnsector ) )
|
||||
{
|
||||
// place new VIP in sector
|
||||
StrategicMap[vipspawnsector].usFlags |= ENEMY_VIP_PRESENT;
|
||||
|
||||
// increase troop count - VIP plus bodyguards
|
||||
SectorInfo[vipspawnsector].ubNumElites += 5;
|
||||
|
||||
// VIP placed
|
||||
++gStrategicStatus.usVIPsLeft;
|
||||
}
|
||||
// spawn the remaining generals in Meduna
|
||||
else
|
||||
{
|
||||
if ( GetRandomEnemyTownSector( MEDUNA, vipspawnsector ) )
|
||||
{
|
||||
// place new VIP in sector
|
||||
StrategicMap[vipspawnsector].usFlags |= ENEMY_VIP_PRESENT;
|
||||
|
||||
// increase troop count - VIP plus bodyguards
|
||||
SectorInfo[vipspawnsector].ubNumElites += 5;
|
||||
|
||||
// VIP placed
|
||||
++gStrategicStatus.usVIPsLeft;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user