mirror of
https://github.com/1dot13/source.git
synced 2026-09-02 14:36:06 +02:00
Moving Tanks Feature (by anv)
- feature: tanks can move around in tactical. Set with Tactical Gameplay Settings > ENEMY_TANKS_CAN_MOVE. - feature: tanks can ignore chance to get through and destroy enemy cover even if it probably won't hit anyone behind it. Set with Tactical Gameplay Settings > ENEMY_TANKS_BLOW_OBSTACLES_UP. - feature: tanks can use cannon even against single mercs and in perfect health. Set with Tactical Gameplay Settings > ENEMY_TANKS_DONT_SPARE_SHELLS. - feature: tanks can noticed as soon as any part of it is visible. Set with Tactical Gameplay Settings > ENEMY_TANKS_ANY_PART_VISIBLE. - feature: depending on game difficulty enemy patrols at game start can be randomly reinforced with tank. Set with Strategic Gameplay Settings > ARMY_USES_TANKS_IN_PATROLS. - feature: depending on game difficulty enemy groups created during offensives can include tanks. Set with trategic Gameplay Settings > ARMY_USES_TANKS_IN_ATTACKS. - feature: mercs in vehicles automatically rest their guns, - fix: guns can be rested on vehicles, - rewritten code to allow putting enemies inside vehicles, - added missing descriptions for all vehicle options to INIEditorJA2Options.xml. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7277 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+10
-10
@@ -2689,39 +2689,39 @@ void MobileMilitiaDeserters(INT16 sMapX, INT16 sMapY, BOOLEAN fDeleteEquip, BOOL
|
||||
///////////////////////
|
||||
// check enemy presence to decide if mobiles are threatened and some will desert.
|
||||
// Note: cant use NumEnemiesInFiveSectors() as it does not work for omerta or when reinforcements are deactivated, also it uses generateDirectionInfo(), which is used for militia movement.
|
||||
UINT8 eAdmins = 0, eTroops = 0, eElites = 0;
|
||||
UINT8 eAdmins = 0, eTroops = 0, eElites = 0, eTanks = 0;
|
||||
|
||||
//enemies in current sector
|
||||
GetNumberOfEnemiesInSector( sMapX, sMapY, &eAdmins, &eTroops, &eElites );
|
||||
GetNumberOfEnemiesInSector( sMapX, sMapY, &eAdmins, &eTroops, &eElites, &eTanks );
|
||||
if ( (eAdmins > 0) || (eTroops > 0) ||(eElites > 0) )
|
||||
enemiesNear = TRUE;
|
||||
|
||||
if ( ( sMapX > MINIMUM_VALID_X_COORDINATE ) && !enemiesNear )
|
||||
{
|
||||
//left side
|
||||
GetNumberOfEnemiesInSector( sMapX - 1, sMapY, &eAdmins, &eTroops, &eElites );
|
||||
if ( (eAdmins > 0) || (eTroops > 0) ||(eElites > 0) )
|
||||
GetNumberOfEnemiesInSector( sMapX - 1, sMapY, &eAdmins, &eTroops, &eElites, &eTanks );
|
||||
if ( (eAdmins > 0) || (eTroops > 0) ||(eElites > 0) || (eTanks > 0) )
|
||||
enemiesNear = TRUE;
|
||||
}
|
||||
if ( ( sMapX < MAXIMUM_VALID_X_COORDINATE ) && !enemiesNear)
|
||||
{
|
||||
//right side
|
||||
GetNumberOfEnemiesInSector( sMapX + 1, sMapY, &eAdmins, &eTroops, &eElites );
|
||||
if ( (eAdmins > 0) || (eTroops > 0) ||(eElites > 0) )
|
||||
GetNumberOfEnemiesInSector( sMapX + 1, sMapY, &eAdmins, &eTroops, &eElites, &eTanks );
|
||||
if ( (eAdmins > 0) || (eTroops > 0) ||(eElites > 0) || (eTanks > 0) )
|
||||
enemiesNear = TRUE;
|
||||
}
|
||||
if ( ( sMapY > MINIMUM_VALID_Y_COORDINATE ) && !enemiesNear )
|
||||
{
|
||||
//top side
|
||||
GetNumberOfEnemiesInSector( sMapX, sMapY - 1, &eAdmins, &eTroops, &eElites );
|
||||
if ( (eAdmins > 0) || (eTroops > 0) ||(eElites > 0) )
|
||||
GetNumberOfEnemiesInSector( sMapX, sMapY - 1, &eAdmins, &eTroops, &eElites, &eTanks );
|
||||
if ( (eAdmins > 0) || (eTroops > 0) ||(eElites > 0) || (eTanks > 0) )
|
||||
enemiesNear = TRUE;
|
||||
}
|
||||
if ( ( sMapY < MAXIMUM_VALID_Y_COORDINATE ) && !enemiesNear)
|
||||
{
|
||||
//bottom side
|
||||
GetNumberOfEnemiesInSector( sMapX, sMapY + 1, &eAdmins, &eTroops, &eElites );
|
||||
if ( (eAdmins > 0) || (eTroops > 0) ||(eElites > 0) )
|
||||
GetNumberOfEnemiesInSector( sMapX, sMapY + 1, &eAdmins, &eTroops, &eElites, &eTanks );
|
||||
if ( (eAdmins > 0) || (eTroops > 0) ||(eElites > 0) || (eTanks > 0) )
|
||||
enemiesNear = TRUE;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user