From 2ad68a812f3ad81c29fa291f4d924f27f2669dc7 Mon Sep 17 00:00:00 2001 From: Flugente Date: Sat, 9 Jan 2016 19:17:04 +0000 Subject: [PATCH] - New Feature: Arulco special division controls other features to fight the player. For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=tree&goto=343706&#msg_343706 - New Feature: Enemy helicopters allow the AI to rapidly deploy troops aross the map. For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=tree&goto=343707&#msg_343707 git-svn-id: https://ja2svn.mooo.com/source/ja2_v1.13_data@2279 4f8fa57e-7814-0410-bad4-adc449f26b7c --- gamedir/Data-1.13/Ja2Set.dat.xml | 2 + gamedir/Data-1.13/Ja2_Options.INI | 168 +++++++++++++++++- gamedir/Data-1.13/TableData/Backgrounds.xml | 4 + gamedir/Data-1.13/TableData/CivGroupNames.xml | 5 +- .../Data-1.13/TableData/Items/Explosives.xml | 20 +++ gamedir/Data-1.13/TableData/Items/Items.xml | 71 ++++++++ .../Data-1.13/TableData/Items/Launchables.xml | 4 + gamedir/Data-1.13/TableData/Items/Weapons.xml | 27 +++ .../Helicopter_Map_Icon_Enemy_1024.STI | Bin 0 -> 1277 bytes .../Helicopter_Map_Icon_Enemy_640.STI | Bin 0 -> 1007 bytes .../Helicopter_Map_Icon_Enemy_800.STI | Bin 0 -> 1139 bytes gamedir/Data/NPCData/civ62.edt | Bin 4800 -> 4800 bytes gamedir/Data/NPCData/civ63.edt | Bin 4800 -> 4800 bytes 13 files changed, 298 insertions(+), 3 deletions(-) create mode 100644 gamedir/Data/Interface/Helicopter_Map_Icon_Enemy_1024.STI create mode 100644 gamedir/Data/Interface/Helicopter_Map_Icon_Enemy_640.STI create mode 100644 gamedir/Data/Interface/Helicopter_Map_Icon_Enemy_800.STI diff --git a/gamedir/Data-1.13/Ja2Set.dat.xml b/gamedir/Data-1.13/Ja2Set.dat.xml index d52db1210..6d85a47be 100644 --- a/gamedir/Data-1.13/Ja2Set.dat.xml +++ b/gamedir/Data-1.13/Ja2Set.dat.xml @@ -2217,6 +2217,8 @@ i_floor.sti h-roof.sti slant_12.sti + helcop.sti + helcop_s.sti street2.sti a-debri1.sti burnmark.sti diff --git a/gamedir/Data-1.13/Ja2_Options.INI b/gamedir/Data-1.13/Ja2_Options.INI index 2bb300f30..041ab1d75 100644 --- a/gamedir/Data-1.13/Ja2_Options.INI +++ b/gamedir/Data-1.13/Ja2_Options.INI @@ -184,7 +184,7 @@ USE_EXTERNALIZED_ENEMY_ITEM_DROPS = 1 ; Valid values = TRUE or FALSE, Default = FALSE ;------------------------------------------------------------------------------------------------------------------------------ -USE_XML_TILESETS = FALSE +USE_XML_TILESETS = TRUE ;------------------------------------------------------------------------------------------------------------------------------ ; Change the number of PItem graphics files used by the game @@ -3499,6 +3499,172 @@ ENEMY_INVESTIGATE_SECTOR = FALSE REASSIGN_PENDING_REINFORCEMENTS = FALSE +;****************************************************************************************************************************** +;****************************************************************************************************************************** + +[Strategic Additional Enemy AI Settings] + +;****************************************************************************************************************************** +; These settings change the behavior of the queen's additional AI on the Strategy Map. +;****************************************************************************************************************************** + +;------------------------------------------------------------------------------------------------------------------------------ +; Arulco Special Division +; +; Control over a number of new features will gradually be given over to a second strategic 'AI' - the 'Arulco Special Division'. +; This should control if, how and when these new features are used by the AI. +; +; It has its own 'budget', which allows it to purchase new actions. This serves to limit the amount of the AIs actions. +; It also gives the player a way to compete with the AI - lower the AI budget, and the AI can do less harm. +; For example, part of the AI budget might come from mine income, which the player can take away. +; +; If possible, the AI should have to buy and maintain its assets. +; This way the player could harm the AI by specifically targetting those assets if he chooses so. +; Ideally this gives the player another immersive way to do sth. in the game. +; For example, enemy helicopters have to be bought, fuelled and repaired. +; In order to stop enemy heli raids, the player could +; - shoot them down +; - steal enemy fuel deliveries +; - sabotage enemy helis in their airfield +; +; There is a cyclic update of this AI. Each time the AI decides whether it wants (and can afford) new assets. +; These assets then have to be ordered and can only be used once arrived. +; The AI also decides how to use these assets. +; +; This feature is not recommended for new players. +;------------------------------------------------------------------------------------------------------------------------------ + +; TRUE: Arulco Special Division is active +ASD_ACTIVE = FALSE + +; The sector resources arrive in - if the AI no longer controls this, it cannot replenish its resources. +; Sector number is (x - 1) + (y - 1) * 16, example: Meduna Airfield - x = 3, y = 14 -> Sector number 210 +; Valid from 0 to 255 +ASD_SUPPLY_ARRIVAL_SECTOR = 210 + +;------------------------------------------------------------------------------------------------------------------------------ +; The AI has to buy its assets, and these need to be 'shipped' to the country before it can use them. +; These are the base costs in $ for AI resources. +; It is planned that at some point, the player and the AI will be able to influence these. +;------------------------------------------------------------------------------------------------------------------------------ +; one unit of fuel, valid from 1 to 100 +ASD_COST_FUEL = 10 + +; a helicopter, valid from 10000 to 1000000 +ASD_COST_HELI = 100000 + +;------------------------------------------------------------------------------------------------------------------------------ +; Once bought, it takes time for resources to get to the country. +; These are the base times in minutes for the goods to arrive. +; It is planned that at some point, the player and the AI will be able to influence these. +;------------------------------------------------------------------------------------------------------------------------------ +; one unit of fuel, valid from 1 to 60 * 48 +ASD_TIME_FUEL = 480 + +; a helicopter, valid from 1 to 60 * 48 +ASD_TIME_HELI = 1200 + +;****************************************************************************************************************************** +;****************************************************************************************************************************** + +[Enemy Helicopter Settings] + +;****************************************************************************************************************************** +; This feature allows the AI to use helicopters to rapidly deploy troops, similar to Skyrider. +;****************************************************************************************************************************** + +;------------------------------------------------------------------------------------------------------------------------------ +; Once the AI is aware of the player using Skyrider's helicopter (indicated by a cutscene), it can purchase some for itself. +; Just like the player, it can then fly a small squad around on the map and deploy them. +; Helicopters have to be fuelled and repaired, which consumes AI resources. +; +; The player can shoot down helis via SAM batteries, and infantry-based MANPADS. Due to engine limitations, this cannot be +; done manually. +; If a helicopter was downed, there is a chance that the pilot survived and can be killed or captured by the player +; (downed pilots are counted as officers with regards to Prisoner Interrogation). +; +; Provided the sector has the correct tilesets, it is also possible to destroy enemy helicopters on the ground if they +; are parking in their home base. +; +; Enemy helicopter raids target strategically important targets to the player (towns, mines, inactive SAMs, roads, farms if +; MILITIA_VOLUNTEER_POOL is on) that are lightly defended and reachable without too much hostile SAM exposure. +; +; The AI can have up to 2 helicopters, each carrying up to 6 elites. Travel time per sector is 10 minutes. +;------------------------------------------------------------------------------------------------------------------------------ +; TRUE: Arulco Special Division can use helicopters +ENEMYHELI_ACTIVE = TRUE + +; heli hitpoints, valid from 1 to 500 +ENEMYHELI_HP = 100 + +; time to repair 1 HP at the home base in minutes, valid from 1 to 20 +ENEMYHELI_HP_REPAIRTIME = 6 + +; cost to repair 1 HP at the home base in &, valid from 10 to 1000 +ENEMYHELI_HP_COST = 200 + +; heli maximum fuel, valid from 25 to 200 +ENEMYHELI_FUEL = 50 + +; time to repair 1 HP at the home base in minutes, valid from 1 to 10 +ENEMYHELI_FUEL_REFUELTIME = 3 + +;------------------------------------------------------------------------------------------------------------------------------ +; Settings related to SAMs +; These settings only affect enemy helicopters and attacks against them. For Skyrider, see Helicopter_Settings.ini instead. +; +; Every time an enemy helicopter moves and is known to the player, his air defense will try to shoot the heli down. +; There are two kinds of anti-air-defense: +; - SAM sites cover a large amount of the map and can fire in any of 'their' sectors (see SamSites.xml). +; They require control of the sector. They can be rendered inactive by damaging their control computer. +; Damaged SAM sites can be repaired by the player in the strategic map. +; They uncover any enemy heli in their sectors, but will only fire if staff (militia or mercs) is present. +; CTH depends on quality of the staff and range to the target. +; - MAn-Portable-Air-Defense-Systems are infantry based missile launchers. They can only be used by mercs. +; They can only be used on targets in the same or adjacent sectors. +; CTH depends on weapon status, range and the user's cth with launchers. +; The launchers have to be armed in the inventory, it is not required to have them in the hands. +; +; For balance reasons (there should to be an incentive to use MANPADS over SAMs), derault MANPADS damage is a lot higher than +; SAM damage. +;------------------------------------------------------------------------------------------------------------------------------ +; the AI does not consider attacking a sector if the flight path (to and back) contains more than this number of sectors +; with an active, hostile SAM. Increasing this number will make helicopters more reckless. +; Valid from 0 to 10. +ENEMYHELI_TOLERATED_HOSTILE_SAMSECTORS = 4 + +; fixed damage of a SAM hitting an enemy helicopter, valid from 10 to 100. +ENEMYHELI_SAM_DAMAGE_BASE = 25 + +; maximum random extra damage of a SAM hitting an enemy helicopter, valid from 10 to 100. +ENEMYHELI_SAM_DAMAGE_VAR = 30 + +; fixed damage of a MANPADS hitting an enemy helicopter, valid from 10 to 100. +ENEMYHELI_MANPADS_DAMAGE_BASE = 40 + +; maximum random extra damage of a MANPADS hitting an enemy helicopter, valid from 10 to 100. +ENEMYHELI_MANPADS_DAMAGE_VAR = 80 + +;------------------------------------------------------------------------------------------------------------------------------ +; Settings related to placement of helicopters in maps +;------------------------------------------------------------------------------------------------------------------------------ +; The base of the helicopters where they are refueled, repaired and based during missions +; Sector number is (x - 1) + (y - 1) * 16, example: Meduna Airfield - x = 3, y = 14 -> Sector number 210 +; Valid from 0 to 255 +ENEMYHELI_BASE = 210 + +; If the tileset of the helicopter base contains helicopter graphics, they can appear in the map when they are currently at the base. +; They can then be destroyed (for example by an infiltrating spy with C4). +; Up to two helicopter positions can be given + +; Tiles in tactical where the helis should be parked. Use -1 to never show a heli +ENEMYHELI_BASE_PARKPOSITION_1 = 18475 +ENEMYHELI_BASE_PARKPOSITION_2 = 18469 + +; heli teile index in the map tileset (see also HeliSites.xml). In changed maps, you will need at least a map editor to figure this one out +ENEMYHELI_BASE_PARK_TILEINDEX = 1689 + + ;****************************************************************************************************************************** ;****************************************************************************************************************************** diff --git a/gamedir/Data-1.13/TableData/Backgrounds.xml b/gamedir/Data-1.13/TableData/Backgrounds.xml index da9265000..9250fc81b 100644 --- a/gamedir/Data-1.13/TableData/Backgrounds.xml +++ b/gamedir/Data-1.13/TableData/Backgrounds.xml @@ -70,6 +70,7 @@ 0 0 0 + 0 0 @@ -2149,6 +2150,7 @@ 10 3 3 + 25 1 1 @@ -4673,6 +4675,7 @@ 10 10 3 + 75 1 1 1 @@ -5204,6 +5207,7 @@ 10 10 3 + 25 265 diff --git a/gamedir/Data-1.13/TableData/CivGroupNames.xml b/gamedir/Data-1.13/TableData/CivGroupNames.xml index 1e800383c..8e6cd8830 100644 --- a/gamedir/Data-1.13/TableData/CivGroupNames.xml +++ b/gamedir/Data-1.13/TableData/CivGroupNames.xml @@ -200,10 +200,11 @@ 26 - 0 - Empty Slot26 + 1 + Downed Pilot 0 0 + 1 27 diff --git a/gamedir/Data-1.13/TableData/Items/Explosives.xml b/gamedir/Data-1.13/TableData/Items/Explosives.xml index 7192d04bf..f0dae51d5 100644 --- a/gamedir/Data-1.13/TableData/Items/Explosives.xml +++ b/gamedir/Data-1.13/TableData/Items/Explosives.xml @@ -2021,4 +2021,24 @@ 359 5 + + 101 + 0 + 25 + 10 + 4 + 25 + 1 + 1 + 0 + 0 + 1 + 0 + 20 + 0 + 10 + 80 + 359 + 5 + \ No newline at end of file diff --git a/gamedir/Data-1.13/TableData/Items/Items.xml b/gamedir/Data-1.13/TableData/Items/Items.xml index fe476cb55..b6244dcfb 100644 --- a/gamedir/Data-1.13/TableData/Items/Items.xml +++ b/gamedir/Data-1.13/TableData/Items/Items.xml @@ -51666,4 +51666,75 @@ + + 1736 + Strela-2 + Strela-2 + This man-portable surface-to-air missile has seen widespread use in nearly every regional conflict since 1968. + 9k32 Strela-2 + Another famous russian export, this MANPADS is comparable to its western counterparts but a lot cheaper. Get yours now! + 16 + 1 + 1736 + 3 + 68 + 52 + 7 + 8000 + 8 + -3 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 2 + 1 + 8 + 1 + 100.0 + 10 + 20.0 + 2 + + + + + + 1737 + Strela-2 Missile + Strela-2 Missile + A surface-to-air missile. Considering the price-tag, use against ground targets would be a waste. + Strela-2 Missile + A missile for the russian Strela-2. Best used against aircraft. And the sun, apparently. + 256 + 2048 + 2048 + 1 + 101 + 1 + 150 + 98 + 32 + 1 + 2500 + 8 + -6 + 1 + 1 + 1 + 1 + 1 + 1 + 2 + 1 + 1 + 100.0 + + + + \ No newline at end of file diff --git a/gamedir/Data-1.13/TableData/Items/Launchables.xml b/gamedir/Data-1.13/TableData/Items/Launchables.xml index 730f91576..a80e2bfb5 100644 --- a/gamedir/Data-1.13/TableData/Items/Launchables.xml +++ b/gamedir/Data-1.13/TableData/Items/Launchables.xml @@ -628,4 +628,8 @@ 1700 901 + + 1737 + 1736 + \ No newline at end of file diff --git a/gamedir/Data-1.13/TableData/Items/Weapons.xml b/gamedir/Data-1.13/TableData/Items/Weapons.xml index d7947eb71..11e7fe311 100644 --- a/gamedir/Data-1.13/TableData/Items/Weapons.xml +++ b/gamedir/Data-1.13/TableData/Items/Weapons.xml @@ -13205,4 +13205,31 @@ 500 7 + + 1736 + Strela-2 + 3 + 3.00 + 30 + 30 + 70 + 2 + 1 + 3700 + 200 + 100 + 80 + 10 + 432 + 111 + 157 + 20 + 48 + 10 + 476 + 1 + 30000 + 10000 + 1600 + \ No newline at end of file diff --git a/gamedir/Data/Interface/Helicopter_Map_Icon_Enemy_1024.STI b/gamedir/Data/Interface/Helicopter_Map_Icon_Enemy_1024.STI new file mode 100644 index 0000000000000000000000000000000000000000..c5983e82a86e848b4c2c0a544b335ba60058f407 GIT binary patch literal 1277 zcmc&zyN(n=46I$TVu?78hmbBIM4rzeBBuQ*8@qS!KyciV@C}z(;$H~dQiuFWQ=VN` z_Ym<}nx1L9?JAdhK9vt2LHo7H6?o6*&!R5D{Q~RtdiL&@+uuj`7y>9@fCB+kfeV^| z0hv&y42wb)rf@|ls=*D-Fbq;rY9@ms8)j^>%$l-QGGM^n!mWmRSPL7G5)>+)!{HDpKV_!C zUQ+{a;)9}0UZxxadnIYsB5U%kSKc;Dg{3wT8a0VWvltc}OquTi$3r4)h8W>dbBPu)BF9#EOCH6> zNZ9;$p5hr!@eV&1{R-dS^rLN#U%hYf^=;qWw^drlcG>%v|0X`^H#hxy#q3qT#96=D z+%DYvZw6K~)MsqZ9)d8MxT}7F-C3U@_nz6y{mg3B&vBmN{_n`)pVZqk$!iI;Z*te&2c-L}hB zJwL{`?~wiOP4-pKpIyAc4qAu9;pV+>kKg~?YY{NOfdmQ&B8f>Tzzt*TFb!sKLmJ8u zj&w}NaxgHWlbNuDCo)lqC}d$4R)G^^swGuY#gwGuatE2@Bp1nzVk*$Gt0gnTLD2 zPxs}nA;*nVjVc5RWO}7Xd6v)eRZYPV<1LOv5dETA1ZOk{IhjkOY&o`;L9+_9Y6-RQ zM%T;fxr8fnM2n<6#TAiNX6UJ$l}m)q9J8+jTkZ1JvkDbWc1_k|ajUV3*J3kQ-rQ7K zMFX$twY((ExZMNEBOn?^Jt`}Dt68o^bxuxesMe`1$nWIOEq*NxiOnh2Fm$y`J!VyfyCa FjK43hQu_b^ literal 0 HcmV?d00001 diff --git a/gamedir/Data/Interface/Helicopter_Map_Icon_Enemy_800.STI b/gamedir/Data/Interface/Helicopter_Map_Icon_Enemy_800.STI new file mode 100644 index 0000000000000000000000000000000000000000..b6eb2d4d36af54452244285ec5bce9d53c7f9dae GIT binary patch literal 1139 zcmc&zL5>qa46J}6vIuqo3B;WX@;rkRXWCE6*`8#@2JsWW$1Tl~pETvkE(v@9OWo?R z+vRe(=Ue;o6|_&A+JVnpzc&61{N7-<+pXU7c76Wi9zy^H3kdLZpif5t*b-0u@nF z6;lb7RB@9q=_bR332o)aG!3zk2+0sniIko)vfvuo6R0Sw6)8=qSB7@c!2*-Esaj$s znyH3rs=8^IcGJP~uFb1q@?h9PBQ!%jHBx)(Ai1usmv~azm{s?dFfVG>#fF$n)+Vwr zsXAtbWU1z6Vb;xt8JldYrfiiA7>KY8^R!6oX(LO5M#XD590KL1%oI4hG>9%SD9RLV zsxh!vk|q{eldl(Ebc;b=9?fe=%wwDpT1GfmM$Z@&v`6dp9Hge5R`bk6dWoG~a!AUQ zZKAFzrCeHRld0)NJiFzvX;f|IQ2C;1(b8 z@MihPW_*9Q?5}J~TP_#3Pxoico8|PfK6!z5kN3;I4rTj&<&`Z*%nWQFAuEdUH{j8oU;qFB literal 0 HcmV?d00001 diff --git a/gamedir/Data/NPCData/civ62.edt b/gamedir/Data/NPCData/civ62.edt index 65521df062641188066cd9ee52ac43936f7b50ec..5bf3d3e2e0fdd733a350f3731695d3a750061cda 100644 GIT binary patch literal 4800 zcmeH~Pj7-i5J%^uYoqa;cRt8#u)Zc7<;f_7%MeeLMQ*mT@$*hw~4; zp%KsUDd2JssSyl+pcYK*pTtg1 z2G4zJ#WnG3tJ=Ma*q51;`V9o4eZ|V7T(JKh);u+kJEOD8rSaMS|GkWvi{=)&G$e<| zaQD|+1oq=srYT-?cxnx9Xbx%*<)(6;R%`W^_Q_s0l^*}?9NPM;PM&I&Xl5UyaP2Op z5D9GR6|=}wmChD=cb#N$&7_p4#7&tl_gq$Rmbzc6Tx8j%ZX4UWlDn?q)xPHiQai8y z{0@oOa3f(chEXPWs4)hRNwbSD+Pv92DrAAJ+&uf(IOy^Pwqpq*f0tX}%BjY|YL zRcHK--0svImvFgsjQBM%xZpVE!;0u!cn*xwo8e`@W*lPr&FY{PR`tlEJsld-UpqnI E7wLPE00000 literal 4800 zcmeI#yA6Oa6hl#u!U}{x15u+$Fh8wRS}D1ybDN{rxa!rdN0$Z_@lt_mep4FrU+y>K z5evBA64wOox55z%xZf7n1n#%P5evBA5!VFncft`1xL?s2_kRysKNd)O53L^yq|c89 O(&xtl>GNZOq<$YGyeB09 diff --git a/gamedir/Data/NPCData/civ63.edt b/gamedir/Data/NPCData/civ63.edt index 65521df062641188066cd9ee52ac43936f7b50ec..5bf3d3e2e0fdd733a350f3731695d3a750061cda 100644 GIT binary patch literal 4800 zcmeH~Pj7-i5J%^uYoqa;cRt8#u)Zc7<;f_7%MeeLMQ*mT@$*hw~4; zp%KsUDd2JssSyl+pcYK*pTtg1 z2G4zJ#WnG3tJ=Ma*q51;`V9o4eZ|V7T(JKh);u+kJEOD8rSaMS|GkWvi{=)&G$e<| zaQD|+1oq=srYT-?cxnx9Xbx%*<)(6;R%`W^_Q_s0l^*}?9NPM;PM&I&Xl5UyaP2Op z5D9GR6|=}wmChD=cb#N$&7_p4#7&tl_gq$Rmbzc6Tx8j%ZX4UWlDn?q)xPHiQai8y z{0@oOa3f(chEXPWs4)hRNwbSD+Pv92DrAAJ+&uf(IOy^Pwqpq*f0tX}%BjY|YL zRcHK--0svImvFgsjQBM%xZpVE!;0u!cn*xwo8e`@W*lPr&FY{PR`tlEJsld-UpqnI E7wLPE00000 literal 4800 zcmeI#yA6Oa6hl#u!U}{x15u+$Fh8wRS}D1ybDN{rxa!rdN0$Z_@lt_mep4FrU+y>K z5evBA64wOox55z%xZf7n1n#%P5evBA5!VFncft`1xL?s2_kRysKNd)O53L^yq|c89 O(&xtl>GNZOq<$YGyeB09