IA_liberation_config.sqf 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362
  1. /*
  2. CONFIG FILE FOR IA LIBERATION
  3. */
  4. /* - ACE settings.
  5. Enable ACE? (true,false). */
  6. IA_liberation_ace = true;
  7. // Vehicle classnames which also function as ACE medical vehicles.
  8. // TODO: Add SWOP Clone Wars Vechs
  9. IA_liberation_medical_vehicles = [
  10. "B_Truck_01_medical_F",
  11. "B_T_Truck_01_medical_F"
  12. ];
  13. // Classnames of ACE3 crates (which have to be in the unit preset as well).
  14. //TODO: Add SWOP Clone Wars Crates
  15. IA_liberation_ace_crates = [
  16. "ACE_Box_82mm_Mo_HE",
  17. "ACE_Box_82mm_Mo_Smoke",
  18. "ACE_Box_82mm_Mo_Illum",
  19. "ACE_medicalSupplyCrate_advanced"
  20. ];
  21. /* - Custom unit and arsenal preset settings.
  22. Which units preset should be used?
  23. 0 = Default 501st.
  24. */
  25. if ((paramsArray select 1) == 6) then{
  26. IA_liberation_preset = 6;
  27. }
  28. else{
  29. if ((paramsArray select 1) == 7) then{
  30. IA_liberation_preset = 7;
  31. }
  32. else{
  33. if ((paramsArray select 1) == 8) then{
  34. IA_liberation_preset = 8;
  35. }//end if
  36. else{
  37. if ((paramsArray select 1) == 9) then{
  38. IA_liberation_preset = 9;
  39. }
  40. }
  41. }//end else
  42. };
  43. /* Which arsenal preset should be used?
  44. 0 = Use the default blacklist method (defined below).
  45. 1 = Custom arsenal preset (edit the custom.sqf in the arsenal_presets\ folder to change things for your own versions and tweaks).
  46. 2 = Killah Potatoes Gaming Community arsenal preset.
  47. 3 = RHS USAF arsenal preset.
  48. 4 = RHS USAF arsenal preset with ACE.
  49. 5 = RHS USAF arsenal preset with ACE and ACRE.
  50. 6 = 3cbBAF and RHS USAF arsenal preset. */
  51. IA_liberation_arsenal = 0;
  52. /* - Fuel consumption settings.
  53. Time in minutes till a full tank depletes whilst the vehicle is standing still with a running engine. */
  54. IA_liberation_fuel_neutral = 180;
  55. // Time in minutes till a full tank depletes whilst the vehicle is driving below max speed.
  56. IA_liberation_fuel_normal = 90;
  57. // Time in minutes till a full tank depletes whilst the vehicle is driving at max speed.
  58. IA_liberation_fuel_max = 45;
  59. /* - Gameplay constant settings.
  60. Name of the savegame namespace inside of the [ServerProfileName].vars.Arma3Profile file. */
  61. GRLIB_save_key = "IA_LIBERATION_" + (toUpper worldName) + "_SAVEGAME";
  62. //Done: Debug Enabled for 501st Testing
  63. IA_liberation_debug = true; // Enables debug messages in the server log
  64. IA_liberation_savegame_debug = true; // Enables displaying of the whole save array in the server log on each save
  65. GRLIB_side_friendly = WEST; // Friendly side.
  66. GRLIB_side_enemy = EAST; // Enemy side.
  67. GRLIB_side_resistance = RESISTANCE; // Resistance side.
  68. GRLIB_side_civilian = CIVILIAN; // Civilian side.
  69. GRLIB_respawn_marker = "respawn_west"; // Respawn marker name.
  70. GRLIB_color_friendly = "ColorBLUFOR"; // Friendly sector marker color.
  71. GRLIB_color_enemy = "ColorOPFOR"; // Enemy sector marker color.
  72. GRLIB_color_enemy_bright = "ColorRED"; // Enemy sector marker color (activated).
  73. GRLIB_fob_range = 125; // Build range around the main FOB building.
  74. GRLIB_halo_altitude = 2500; // Altitude in metres for the HALO jump.
  75. GRLIB_secondary_missions_costs = [15, 10, 8]; // Intel price for the secondary missions [FOB hunting, Convoy ambush, SAR].
  76. GRLIB_secondary_objective_impact = 0.6; // The percentage impact against enemy combat readiness for a successful FOB hunt.
  77. GRLIB_recycling_percentage = 0.5; // Percentage of resources you get back from recycling.
  78. IA_liberation_production_interval = 30 / GRLIB_resources_multiplier; // Time in minutes until a production process is finished, when resources multiplier is set to 1.
  79. GRLIB_sector_size = 1000; // Range to activate a sector.
  80. GRLIB_capture_size = 175; // Range to capture a sector.
  81. GRLIB_defended_buildingpos_part = 0.4; // Multiplier for defenders in buildings.
  82. GRLIB_battlegroup_size = 6 * (sqrt GRLIB_unitcap) * (sqrt GRLIB_csat_aggressivity); // Size of enemy battlegroups.
  83. GRLIB_vulnerability_timer = 1200; // Time in seconds how long a captured sector is vulnerable to enemy troops.
  84. GRLIB_radiotower_size = 2500; // Radio Tower scanning range.
  85. GRLIB_surrender_chance = 80; // Chance that enemy infantry will surrender after heavy losses are encountered.
  86. GRLIB_civilians_amount = 10 * GRLIB_civilian_activity; // Civilian count multiplier.
  87. GRLIB_cleanup_delay = 1200; // Time in seconds until bodies of dead soldiers are cleaned up.
  88. GRLIB_blufor_cap = 100 * GRLIB_unitcap; // Cap for BLUFOR.
  89. GRLIB_sector_cap = 180 * GRLIB_unitcap; // Cap for sector defenders.
  90. GRLIB_battlegroup_cap = 150 * GRLIB_unitcap; // Cap for enemy battlegroups.
  91. GRLIB_patrol_cap = 150 * GRLIB_unitcap; // Cap for enemy patrols.
  92. // TODO - Add All Arma Vinella/DLC Weapons, Vechs, and Unit Stuff - Just need buildsing, objects, and some other stuff
  93. /* - Default arsenal blacklist method.
  94. Useless if you're using anything other than "kp_liberation_arsenal = 0;" above. A whitelisted arsenal is always more performance friendly then a blacklisted arsenal.
  95. REMEMBER: All static turret and UAV bags should be defined here, to stop players from exploiting free resources via the virtual arsenal. */
  96. blacklisted_from_arsenal = [
  97. "B_Respawn_Sleeping_bag_blue_F",
  98. "B_Respawn_Sleeping_bag_brown_F",
  99. "B_Respawn_TentDome_F",
  100. "B_Respawn_Sleeping_bag_F",
  101. "B_Respawn_TentA_F",
  102. "I_HMG_01_weapon_F",
  103. "B_HMG_01_weapon_F",
  104. "O_HMG_01_weapon_F",
  105. "I_HMG_01_A_weapon_F",
  106. "B_HMG_01_A_weapon_F",
  107. "O_HMG_01_A_weapon_F",
  108. "I_HMG_01_high_weapon_F",
  109. "B_HMG_01_high_weapon_F",
  110. "O_HMG_01_high_weapon_F",
  111. "I_GMG_01_weapon_F",
  112. "B_GMG_01_weapon_F",
  113. "O_GMG_01_weapon_F",
  114. "I_GMG_01_A_weapon_F",
  115. "B_GMG_01_A_weapon_F",
  116. "O_GMG_01_A_weapon_F",
  117. "I_GMG_01_high_weapon_F",
  118. "B_GMG_01_high_weapon_F",
  119. "O_GMG_01_high_weapon_F",
  120. "I_Mortar_01_support_F",
  121. "B_Mortar_01_support_F",
  122. "O_Mortar_01_support_F",
  123. "I_Mortar_01_weapon_F",
  124. "B_Mortar_01_weapon_F",
  125. "O_Mortar_01_weapon_F",
  126. "I_HMG_01_support_F",
  127. "B_HMG_01_support_F",
  128. "O_HMG_01_support_F",
  129. "I_HMG_01_support_high_F",
  130. "B_HMG_01_support_high_F",
  131. "O_HMG_01_support_high_F",
  132. "I_AA_01_weapon_F",
  133. "B_AA_01_weapon_F",
  134. "O_AA_01_weapon_F",
  135. "I_AT_01_weapon_F",
  136. "B_AT_01_weapon_F",
  137. "O_AT_01_weapon_F",
  138. "I_UAV_01_backpack_F",
  139. "B_UAV_01_backpack_F",
  140. "O_UAV_01_backpack_F",
  141. "RHS_M2_Gun_Bag",
  142. "RHS_M2_Tripod_Bag",
  143. "rhs_M252_Gun_Bag",
  144. "rhs_M252_Bipod_Bag",
  145. "RHS_M2_MiniTripod_Bag",
  146. "RHS_Mk19_Gun_Bag",
  147. "RHS_Mk19_Tripod_Bag",
  148. "rhs_Tow_Gun_Bag",
  149. "rhs_TOW_Tripod_Bag",
  150. "RHS_Podnos_Bipod_Bag",
  151. "RHS_Podnos_Gun_Bag",
  152. "RHS_Metis_Gun_Bag",
  153. "RHS_Metis_Tripod_Bag",
  154. "RHS_Kornet_Gun_Bag",
  155. "RHS_Kornet_Tripod_Bag",
  156. "RHS_AGS30_Tripod_Bag",
  157. "RHS_AGS30_Gun_Bag",
  158. "RHS_DShkM_Gun_Bag",
  159. "RHS_DShkM_TripodHigh_Bag",
  160. "RHS_DShkM_TripodLow_Bag",
  161. "RHS_Kord_Tripod_Bag",
  162. "RHS_Kord_Gun_Bag",
  163. "RHS_NSV_Tripod_Bag",
  164. "RHS_NSV_Gun_Bag",
  165. "RHS_SPG9_Gun_Bag",
  166. "RHS_SPG9_Tripod_Bag",
  167. "optic_Nightstalker",
  168. "optic_tws",
  169. "optic_tws_mg"
  170. ];
  171. // Items which should be added as allowed Items, when they get blacklisted, even if they are not in the blacklisted_from_arsenal array
  172. IA_liberation_allowed_items_extension = [
  173. "ItemRadioAcreFlagged",
  174. "rhs_m72a7_mag",
  175. "rhsusf_acc_anpeq15_bk_light_h",
  176. "rhs_weap_M136_used",
  177. "rhs_m136_mag",
  178. "rhs_m136_hedp_mag",
  179. "rhs_m136_hp_mag"
  180. ];
  181. /* - Configuration settings for crates transported by vehicles.
  182. Format = ["classname", distance behind vehicle to unload crate, attachTo positions for each box], */
  183. box_transport_config = [
  184. ["C_Offroad_01_F", -6.5, [0,-1.7,0.4]],
  185. ["I_G_Offroad_01_F", -6.5, [0,-1.7,0.4]],
  186. ["O_G_Offroad_01_F", -6.5, [0,-1.7,0.4]],
  187. ["C_Van_01_transport_F", -6.5, [0,-1.1,0.25], [0,-2.6,0.25]],
  188. ["I_G_Van_01_transport_F", -6.5, [0,-1.1,0.25], [0,-2.6,0.25]],
  189. ["I_C_Van_01_transport_F", -6.5, [0,-1.1,0.25], [0,-2.6,0.25]],
  190. ["O_G_Van_01_transport_F", -6.5, [0,-1.1,0.25], [0,-2.6,0.25]],
  191. ["C_Truck_02_transport_F", -6.5, [0,0.3,0.05], [0,-1.3,0.05], [0,-2.9,0.05]],
  192. ["C_Truck_02_covered_F", -6.5, [0,0.3,0.05], [0,-1.3,0.05], [0,-2.9,0.05]],
  193. ["RHS_Ural_Open_Civ_03", -6.5, [0,-0.2,0.55], [0,-1.4,0.55], [0,-2.55,0.55]],
  194. ["RHS_Ural_Civ_03", -6.5, [0,-0.2,0.55], [0,-1.4,0.55], [0,-2.55,0.55]],
  195. ["LOP_TAK_Civ_Ural_open", -6.5, [0,-0.2,0.55], [0,-1.4,0.55], [0,-2.55,0.55]],
  196. ["LOP_TAK_Civ_Ural", -6.5, [0,-0.2,0.55], [0,-1.4,0.55], [0,-2.55,0.55]],
  197. ["B_Truck_01_transport_F", -6.5, [0,-0.4,0.4], [0,-2.1,0.4], [0,-3.8,0.4]],
  198. ["rhsusf_M977A4_usarmy_wd", -8.5, [0.5,0.5,0.4], [0.5,-1.0,0.4], [0.5,-2.5,0.4], [0.5,-4.0,0.4], [-0.5,0.5,0.4], [-0.5,-1.0,0.4], [-0.5,-2.5,0.4], [-0.5,-4.0,0.4]],
  199. ["rhsusf_M977A4_BKIT_M2_usarmy_wd", -8.5, [0.5,0.5,0.4], [0.5,-1.0,0.4], [0.5,-2.5,0.4], [0.5,-4.0,0.4], [-0.5,0.5,0.4], [-0.5,-1.0,0.4], [-0.5,-2.5,0.4], [-0.5,-4.0,0.4]],
  200. ["B_Truck_01_covered_F", -6.5, [0,-0.4,0.4], [0,-2.1,0.4], [0,-3.8,0.4]],
  201. ["B_T_Truck_01_transport_F", -6.5, [0,-0.4,0.4], [0,-2.1,0.4], [0,-3.8,0.4]],
  202. ["B_T_Truck_01_covered_F", -6.5, [0,-0.4,0.4], [0,-2.1,0.4], [0,-3.8,0.4]],
  203. ["rhsusf_M977A4_BKIT_usarmy_d", -8.5, [0.5,0.5,0.4], [0.5,-1.0,0.4], [0.5,-2.5,0.4], [0.5,-4.0,0.4], [-0.5,0.5,0.4], [-0.5,-1.0,0.4], [-0.5,-2.5,0.4], [-0.5,-4.0,0.4]],
  204. ["rhsusf_M977A4_BKIT_M2_usarmy_d", -8.5, [0.5,0.5,0.4], [0.5,-1.0,0.4], [0.5,-2.5,0.4], [0.5,-4.0,0.4], [-0.5,0.5,0.4], [-0.5,-1.0,0.4], [-0.5,-2.5,0.4], [-0.5,-4.0,0.4]],
  205. ["rhsusf_M977A4_BKIT_usarmy_wd", -8.5, [0.5,0.5,0.4], [0.5,-1.0,0.4], [0.5,-2.5,0.4], [0.5,-4.0,0.4], [-0.5,0.5,0.4], [-0.5,-1.0,0.4], [-0.5,-2.5,0.4], [-0.5,-4.0,0.4]],
  206. ["I_Heli_Transport_02_F", -6.5, [0,4.2,-1.45], [0,2.5,-1.45], [0,0.8,-1.45], [0,-0.9,-1.45]],
  207. ["B_Heli_Transport_03_F", -7.5, [0,2.2,-1], [0,0.5,-1], [0,-1.2,-1]],
  208. ["B_Heli_Transport_03_unarmed_F", -7.5, [0,2.2,-1], [0,0.5,-1], [0,-1.2,-1]],
  209. ["rhsusf_CH53E_USMC", -7.5, [0,2.2,-1.4], [0,0.5,-1.4], [0,-1.2,-1.4]],
  210. ["RHS_CH_47F_10", -7.5, [0,2.2,-1.7], [0,0.5,-1.7], [0,-1.2,-1.7]],
  211. ["RHS_CH_47F_light", -7.5, [0,2.2,-1.7], [0,0.5,-1.7], [0,-1.2,-1.7]],
  212. ["RHS_CH_47F", -7.5, [0,2.2,-1.7], [0,0.5,-1.7], [0,-1.2,-1.7]],
  213. ["UK3CB_BAF_Merlin_HC3_18_DPMT", -7.5, [0.25,3.7,-1.5], [0.25,1.6,-1.5], [0.25,-0.4,-1.5]],
  214. ["UK3CB_BAF_Merlin_HC3_32_MTP", -7.5, [0.25,3.7,-1.5], [0.25,1.6,-1.5], [0.25,-0.4,-1.5]],
  215. ["UK3CB_BAF_Merlin_HC3_CSAR_MTP", -7.5, [0.25,3.7,-1.5], [0.25,1.6,-1.5], [0.25,-0.4,-1.5]],
  216. ["O_Truck_03_transport_F", -6.5, [0,-0.8,0.4], [0,-2.4,0.4], [0,-4.0,0.4]],
  217. ["O_Truck_03_covered_F", -6.5, [0,-0.8,0.4], [0,-2.4,0.4], [0,-4.0,0.4]],
  218. ["O_T_Truck_03_transport_ghex_F", -6.5, [0,-0.8,0.4], [0,-2.4,0.4], [0,-4.0,0.4]],
  219. ["O_T_Truck_03_covered_ghex_F", -6.5, [0,-0.8,0.4], [0,-2.4,0.4], [0,-4.0,0.4]],
  220. ["greuh_eh101_gr", -6.5, [0,4.2,-1.45], [0,2.5,-1.45], [0,0.8,-1.45], [0,-0.9,-1.45]],
  221. ["swop_LAAT", -8.5, [0.5,2.5,1.0], [0.5,1.0,1.0], [0.5,-0.5,1.0], [0.5,2.5,2.0], [0.5,1.0,2.0], [0.5,-0.5,2.0]]
  222. ];
  223. /* Various other settings.
  224. Everything the AI troups should be able to resupply from. */
  225. ai_resupply_sources = [
  226. "B_Truck_01_ammo_F",
  227. "B_T_Truck_01_ammo_F",
  228. "B_Slingload_01_Ammo_F",
  229. "B_APC_Tracked_01_CRV_F",
  230. "B_T_APC_Tracked_01_CRV_F"
  231. ];
  232. // Everything that can resupply other vehicles.
  233. vehicle_repair_sources = [
  234. "C_Offroad_01_repair_F",
  235. "B_Truck_01_Repair_F",
  236. "B_T_Truck_01_Repair_F",
  237. "B_Slingload_01_Repair_F",
  238. "B_APC_Tracked_01_CRV_F",
  239. "B_T_APC_Tracked_01_CRV_F"
  240. ];
  241. vehicle_rearm_sources = [
  242. "B_Truck_01_ammo_F",
  243. "B_T_Truck_01_ammo_F",
  244. "B_Slingload_01_Ammo_F",
  245. "B_APC_Tracked_01_CRV_F",
  246. "B_T_APC_Tracked_01_CRV_F"
  247. ];
  248. vehicle_refuel_sources = [
  249. "C_Van_01_fuel_F",
  250. "C_Truck_02_fuel_F",
  251. "B_Truck_01_fuel_F",
  252. "B_T_Truck_01_fuel_F",
  253. "B_Slingload_01_Fuel_F",
  254. "B_APC_Tracked_01_CRV_F",
  255. "B_T_APC_Tracked_01_CRV_F"
  256. ];
  257. // Classnames of boats, so they can be built on water.
  258. boats_names = [
  259. "B_Boat_Transport_01_F",
  260. "B_Boat_Armed_01_minigun_F",
  261. "B_T_Boat_Transport_01_F",
  262. "B_T_Boat_Armed_01_minigun_F",
  263. "O_Boat_Transport_01_F",
  264. "O_Boat_Armed_01_hmg_F",
  265. "O_T_Boat_Transport_01_F",
  266. "O_T_Boat_Armed_01_hmg_F"
  267. ];
  268. // Large storage area placement position offsets.
  269. IA_liberation_large_storage_positions = [
  270. [-5.59961,3.60938,0.6],
  271. [-3.99902,3.60938,0.6],
  272. [-2.39941,3.60938,0.6],
  273. [-0.799805,3.60938,0.6],
  274. [0.800781,3.60938,0.6],
  275. [2.40039,3.60938,0.6],
  276. [4.00098,3.60938,0.6],
  277. [5.60059,3.60938,0.6],
  278. [-5.59961,1.80859,0.6],
  279. [-3.99902,1.80859,0.6],
  280. [-2.39941,1.80859,0.6],
  281. [-0.799805,1.80859,0.6],
  282. [0.800781,1.80859,0.6],
  283. [2.40039,1.80859,0.6],
  284. [4.00098,1.80859,0.6],
  285. [5.60059,1.80859,0.6],
  286. [-5.59961,0.00976563,0.6],
  287. [-3.99902,0.00976563,0.6],
  288. [-2.39941,0.00976563,0.6],
  289. [-0.799805,0.00976563,0.6],
  290. [0.800781,0.00976563,0.6],
  291. [2.40039,0.00976563,0.6],
  292. [4.00098,0.00976563,0.6],
  293. [5.60059,0.00976563,0.6],
  294. [-5.59961,-1.79102,0.6],
  295. [-3.99902,-1.79102,0.6],
  296. [-2.39941,-1.79102,0.6],
  297. [-0.799805,-1.79102,0.6],
  298. [0.800781,-1.79102,0.6],
  299. [2.40039,-1.79102,0.6],
  300. [4.00098,-1.79102,0.6],
  301. [5.60059,-1.79102,0.6],
  302. [-5.59961,-3.58984,0.6],
  303. [-3.99902,-3.58984,0.6],
  304. [-2.39941,-3.58984,0.6],
  305. [-0.799805,-3.58984,0.6],
  306. [0.800781,-3.58984,0.6],
  307. [2.40039,-3.58984,0.6],
  308. [4.00098,-3.58984,0.6],
  309. [5.60059,-3.58984,0.6]
  310. ];
  311. // Small storage area placement position offsets.
  312. IA_liberation_small_storage_positions = [
  313. [-2.34961,1.80078,0.6],
  314. [-0.75,1.80078,0.6],
  315. [0.850586,1.80078,0.6],
  316. [2.4502,1.80078,0.6],
  317. [-2.34961,0,0.6],
  318. [-0.75,0,0.6],
  319. [0.850586,0,0.6],
  320. [2.4502,0,0.6],
  321. [-2.34961,-1.79883,0.6],
  322. [-0.75,-1.79883,0.6],
  323. [0.850586,-1.79883,0.6],
  324. [2.4502,-1.79883,0.6]
  325. ];
  326. // DO NOT CHANGE (unless you know what you are doing).
  327. GRLIB_endgame = 0;
  328. if ( GRLIB_blufor_cap > 100 ) then { GRLIB_blufor_cap = 100 };
  329. GRLIB_offload_diag = false;
  330. IA_liberation_production_interval = ceil IA_liberation_production_interval;
  331. if (IA_liberation_debug) then {private _text = format ["[IA LIBERATION] [DEBUG] config loaded for: %1", (name player)];_text remoteExec ["diag_log",2];};