config.cpp 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598
  1. //Get this addons macro
  2. //get the macro for the air subaddon
  3. //get generlized macros
  4. #include "../../../RD501_main/config_macros.hpp"
  5. //General name of the vehicle
  6. #define vehicle_addon LAAT
  7. #define patch_name MODNAME##vehicle_addon##_Patches
  8. #define vehicle_classname MODNAME##_##vehicle_addon
  9. #define macro_new_vehicle(laat,name) vehicle_classname##_##name
  10. #define reskined_laat_mk3(classname,displayname,texturebody,texturewing)\
  11. class macro_new_vehicle(laat,classname):macro_new_vehicle(laat,Mk3)\
  12. {\
  13. forceInGarage = 0;\
  14. displayName=LAAT/I MK.III - ('##displayname##') ;\
  15. hiddenSelectionsTextures[]={macro_vehicle_textures##\LAAT\##texturebody,macro_vehicle_textures##\LAAT\##texturewing};\
  16. };
  17. #define reskined_laat_mk4_full_path(classname,displayname,texturebody,texturewing)\
  18. class macro_new_vehicle(laat,classname):macro_new_vehicle(laat,Mk4)\
  19. {\
  20. forceInGarage = 0;\
  21. displayName=LAAT/I MK.IV - ('##displayname##') ;\
  22. hiddenSelectionsTextures[]={texturebody,texturewing};\
  23. };
  24. class CfgPatches
  25. {
  26. class macro_patch_name(LAAT)
  27. {
  28. addonRootClass=macro_patch_name(vehicles)
  29. requiredAddons[]=
  30. {
  31. macro_patch_name(vehicles),
  32. "3AS_LAAT"
  33. };
  34. requiredVersion=0.1;
  35. units[]=
  36. {
  37. macro_new_vehicle(laat,Mk1),
  38. macro_new_vehicle(laat,Mk1_lights),
  39. macro_new_vehicle(laat,Mk2),
  40. macro_new_vehicle(laat,Mk2_lights),
  41. macro_new_vehicle(laat,Mk3),
  42. macro_new_vehicle(laat,Mk4),
  43. macro_new_vehicle(laat,mk4_skin),
  44. macro_new_vehicle(laat,mk4_501st_cxc),
  45. macro_new_vehicle(laat,mk4_501st_cxx),
  46. macro_new_vehicle(laat,mk4_501st_cxp),
  47. macro_new_vehicle(laat,mk4_501st_cxs),
  48. macro_new_vehicle(laat,mk4_501st_cx),
  49. macro_new_vehicle(laat,cargo_Mk2),
  50. macro_new_vehicle(laat,spec_ops),
  51. macro_new_vehicle(laat,muunilinst),
  52. macro_new_vehicle(laat,blue)
  53. };
  54. weapons[]=
  55. {
  56. };
  57. };
  58. };
  59. class DefaultEventhandlers;
  60. class CfgVehicles
  61. {
  62. #include "inheritance.hpp"
  63. class macro_new_vehicle(laat,Mk1):3as_LAAT_Mk1
  64. {
  65. displayName="LAAT/I MK.I";
  66. #include "common_stuff_tcw.hpp"
  67. RD501_magclamp_small_1[] = {0.0,1.0,-1.0};
  68. class UserActions: UserActions
  69. {
  70. #include "user_action.hpp"
  71. };
  72. hiddenSelectionsTextures[]=
  73. {
  74. "RD501_Vehicles\textures\LAAT\laat_wings_doors_basecolor.paa",
  75. "RD501_Vehicles\textures\LAAT\laat_base_basecolor.paa"
  76. };
  77. class Turrets: Turrets
  78. {
  79. class Gunner: Copilot
  80. {
  81. minelev=-60;
  82. minturn=-240;
  83. maxelev=40;
  84. maxturn=-120;
  85. #include "../../common/common_optics.hpp"
  86. };
  87. class LeftDoorgun: LeftDoorgun
  88. {
  89. weapons[]=
  90. {
  91. macro_new_weapon(turret,laat_ball_beam_l),
  92. "Laserdesignator_pilotCamera"
  93. };
  94. magazines[]=
  95. {
  96. "Laserbatteries",
  97. macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300),
  98. macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300),
  99. macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300)
  100. };
  101. #include "../../common/common_optics.hpp"
  102. memorypointgunneroptics="FIXME";
  103. };
  104. class RightDoorGun: RightDoorGun
  105. {
  106. weapons[]=
  107. {
  108. macro_new_weapon(turret,laat_ball_beam_r),
  109. "Laserdesignator_pilotCamera"
  110. };
  111. magazines[]=
  112. {
  113. "Laserbatteries",
  114. macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300),
  115. macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300),
  116. macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300),macro_new_mag(laat_ball_beam,300)
  117. };
  118. #include "../../common/common_optics.hpp"
  119. memorypointgunneroptics="FIXME";
  120. };
  121. class CargoTurret_01: CargoTurret_01{};
  122. class CargoTurret_02: CargoTurret_02{};
  123. class CargoTurret_03: CargoTurret_03{};
  124. class CargoTurret_04: CargoTurret_04{};
  125. class CargoTurret_05: CargoTurret_05{};
  126. class CargoTurret_06: CargoTurret_06{};
  127. };
  128. class ACE_SelfActions
  129. {
  130. class ACE_Passengers
  131. {
  132. condition = "alive _target";
  133. displayName = "Passengers";
  134. insertChildren = "_this call ace_interaction_fnc_addPassengersActions";
  135. statement = "";
  136. };
  137. };
  138. };
  139. class macro_new_vehicle(laat,Mk1_lights):3as_LAAT_Mk1Lights
  140. {
  141. displayName="LAAT/I MK.I (Lights)";
  142. #include "common_stuff_tcw.hpp"
  143. RD501_magclamp_small_1[] = {0.0,1.0,-1.0};
  144. class UserActions: UserActions
  145. {
  146. #include "user_action.hpp"
  147. };
  148. hiddenSelectionsTextures[]=
  149. {
  150. "RD501_Vehicles\textures\LAAT\laat_wings_doors_basecolor.paa",
  151. "RD501_Vehicles\textures\LAAT\laat_base_basecolor.paa"
  152. };
  153. class Turrets: Turrets
  154. {
  155. class Gunner: Copilot
  156. {
  157. minelev=-60;
  158. minturn=-240;
  159. maxelev=40;
  160. maxturn=-120;
  161. #include "../../common/common_optics.hpp"
  162. };
  163. class CargoTurret_01: CargoTurret_01{};
  164. class CargoTurret_02: CargoTurret_02{};
  165. class CargoTurret_03: CargoTurret_03{};
  166. class CargoTurret_04: CargoTurret_04{};
  167. class CargoTurret_05: CargoTurret_05{};
  168. class CargoTurret_06: CargoTurret_06{};
  169. };
  170. class ACE_SelfActions
  171. {
  172. class ACE_Passengers
  173. {
  174. condition = "alive _target";
  175. displayName = "Passengers";
  176. insertChildren = "_this call ace_interaction_fnc_addPassengersActions";
  177. statement = "";
  178. };
  179. };
  180. };
  181. class macro_new_vehicle(laat,Mk2):3as_LAAT_Mk2
  182. {
  183. displayName="LAAT/I MK.II";
  184. #include "common_stuff_tcw.hpp"
  185. RD501_magclamp_small_1[] = {0.0,1.0,-1.0};
  186. class UserActions: UserActions
  187. {
  188. #include "user_action.hpp"
  189. };
  190. hiddenSelectionsTextures[]=
  191. {
  192. "RD501_Vehicles\textures\LAAT\laat_wings_doors_basecolor.paa",
  193. "RD501_Vehicles\textures\LAAT\laat_base_basecolor.paa"
  194. };
  195. class Turrets: Turrets
  196. {
  197. class Gunner: Copilot
  198. {
  199. minelev=-60;
  200. minturn=-240;
  201. maxelev=40;
  202. maxturn=-120;
  203. #include "../../common/common_optics.hpp"
  204. };
  205. class CargoTurret_01: CargoTurret_01{};
  206. class CargoTurret_02: CargoTurret_02{};
  207. };
  208. class ACE_SelfActions
  209. {
  210. class ACE_Passengers
  211. {
  212. condition = "alive _target";
  213. displayName = "Passengers";
  214. insertChildren = "_this call ace_interaction_fnc_addPassengersActions";
  215. statement = "";
  216. };
  217. };
  218. };
  219. class macro_new_vehicle(laat,Mk2_lights):3as_LAAT_Mk2Lights
  220. {
  221. displayName="LAAT/I MK.II (Lights)";
  222. #include "common_stuff_tcw.hpp"
  223. RD501_magclamp_small_1[] = {0.0,1.0,-1.0};
  224. class UserActions: UserActions
  225. {
  226. #include "user_action.hpp"
  227. };
  228. hiddenSelectionsTextures[]=
  229. {
  230. "RD501_Vehicles\textures\LAAT\laat_wings_doors_basecolor.paa",
  231. "RD501_Vehicles\textures\LAAT\laat_base_basecolor.paa"
  232. };
  233. class Turrets: Turrets
  234. {
  235. class Gunner: Copilot
  236. {
  237. minelev=-60;
  238. minturn=-240;
  239. maxelev=40;
  240. maxturn=-120;
  241. #include "../../common/common_optics.hpp"
  242. };
  243. class CargoTurret_01: CargoTurret_01{};
  244. class CargoTurret_02: CargoTurret_02{};
  245. };
  246. class ACE_SelfActions
  247. {
  248. class ACE_Passengers
  249. {
  250. condition = "alive _target";
  251. displayName = "Passengers";
  252. insertChildren = "_this call ace_interaction_fnc_addPassengersActions";
  253. statement = "";
  254. };
  255. };
  256. };
  257. // SWOP START HERE
  258. class macro_new_vehicle(laat,Mk3):swop_LAAT
  259. {
  260. scope=2;
  261. displayName="LAAT/I MK.III";
  262. author="RD501"
  263. side=1;
  264. crew="SWOP_Clonetrooper_P1";
  265. transportSoldier=24;
  266. forceInGarage = 1;
  267. crewExplosionProtection = 0;
  268. crewCrashProtection = 0;
  269. slingLoadMemoryPoint = "slingload0";
  270. //typing hard
  271. #include "ace_stuff.hpp"
  272. #include "flight_model.hpp"
  273. #include "common_stuff_swop.hpp"
  274. RD501_magclamp_small_1[] = {0.0,1.0,-4.5};
  275. class UserActions
  276. {
  277. #include "user_action.hpp"
  278. };
  279. class ACE_SelfActions:ACE_SelfActions
  280. {
  281. #include "../../common/universal_hud_color_changer.hpp"
  282. };
  283. #include "../../common/universal_mfd.hpp"
  284. class Turrets: Turrets
  285. {
  286. class CopilotTurret: CopilotTurret
  287. {
  288. #include "common_copilot.hpp"
  289. };
  290. class GunnerTurret1:GunnerTurret1
  291. {
  292. weapons[]=
  293. {
  294. macro_new_weapon(turret,laat_ball_turret),
  295. "Laserdesignator_pilotCamera"
  296. };
  297. magazines[]=
  298. {
  299. "Laserbatteries",
  300. macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),
  301. macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),
  302. macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200)
  303. };
  304. };
  305. class GunnerTurret2:GunnerTurret2
  306. {
  307. weapons[]=
  308. {
  309. macro_new_weapon(turret,laat_ball_turret),
  310. "Laserdesignator_pilotCamera"
  311. };
  312. magazines[]=
  313. {
  314. "Laserbatteries",
  315. macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),
  316. macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),
  317. macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200)
  318. };
  319. };
  320. class CargoTurret_01:CargoTurret_01{};
  321. class CargoTurret_02:CargoTurret_02{};
  322. class CargoTurret_03:CargoTurret_03{};
  323. class CargoTurret_04:CargoTurret_04{};
  324. class CargoTurret_05:CargoTurret_05{};
  325. class CargoTurret_06:CargoTurret_06{};
  326. };
  327. };
  328. class macro_new_vehicle(laat,Mk4):swop_LAATmk2
  329. {
  330. scope=2;
  331. displayName="LAAT/I MK.IV";
  332. author="RD501"
  333. side=1;
  334. crew="SWOP_Clonetrooper_P1";
  335. transportSoldier=24;
  336. forceInGarage = 1;
  337. crewExplosionProtection = 0;
  338. crewCrashProtection = 0;
  339. slingLoadMemoryPoint = "slingLoad0";
  340. angleRangeHorizontal = 360;
  341. angleRangeVertical = 360;
  342. //typing hard
  343. #include "ace_stuff.hpp"
  344. #include "flight_model.hpp"
  345. #include "common_stuff_swop.hpp"
  346. RD501_magclamp_small_1[] = {0.0,-2.0,-2.5};
  347. class UserActions
  348. {
  349. #include "user_action.hpp"
  350. class OpenCargoDoor
  351. {
  352. displayName = "<t color='#F64747'>[Open Doors]</t>";
  353. displayNameDefault = "<t color='#F64747'>[Open Doors]</t>";
  354. textToolTip = "<t color='#F64747'>[Open Doors]</t>";
  355. position = "pilotview";
  356. radius = 20;
  357. priority = 9999;
  358. onlyForPlayer = 1;
  359. condition = "this doorPhase ""Doors"" < 0.5 AND (alive this) AND (player in [gunner this, driver this])";
  360. statement = "this animateDoor ['Doors', 1];this animate ['DoorsHandler',1]";
  361. animPeriod = 5;
  362. };
  363. class CloseCargoDoor: OpenCargoDoor
  364. {
  365. displayName = "<t color='#009FD4'>[Close Doors]</t>";
  366. displayNameDefault = "<t color='#009FD4'>[Close Doors]</t>";
  367. textToolTip = "<t color='#009FD4'>[Close Doors]</t>";
  368. priority = 9999;
  369. condition = "this doorPhase ""Doors"" > 0.5 AND (alive this) AND (player in [gunner this, driver this])";
  370. statement = "this animateDoor ['Doors', 0];this animate ['DoorsHandler',0];";
  371. animPeriod = 5;
  372. };
  373. };
  374. class ACE_SelfActions:ACE_SelfActions
  375. {
  376. #include "../../common/universal_hud_color_changer.hpp"
  377. };
  378. #include "../../common/universal_mfd.hpp"
  379. class Turrets: Turrets
  380. {
  381. class CopilotTurret: CopilotTurret
  382. {
  383. #include "common_copilot.hpp"
  384. };
  385. class GunnerTurret1:GunnerTurret1
  386. {
  387. weapons[]=
  388. {
  389. macro_new_weapon(turret,laat_ball_turret),
  390. "Laserdesignator_pilotCamera"
  391. };
  392. magazines[]=
  393. {
  394. "Laserbatteries",
  395. macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),
  396. macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),
  397. macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200)
  398. };
  399. };
  400. class GunnerTurret2:GunnerTurret2
  401. {
  402. weapons[]=
  403. {
  404. macro_new_weapon(turret,laat_ball_turret),
  405. "Laserdesignator_pilotCamera"
  406. };
  407. magazines[]=
  408. {
  409. "Laserbatteries",
  410. macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),
  411. macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),
  412. macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200),macro_new_mag(laat_ball_turret,200)
  413. };
  414. };
  415. };
  416. };
  417. #include "_mk4_reskin.hpp"
  418. class macro_new_vehicle(laat,cargo_Mk2):swop_LAAT_cargo
  419. {
  420. scope=2;
  421. displayName="LAAT/C MK.II";
  422. author="RD501"
  423. side=1;
  424. crew="SWOP_Clonetrooper_P1";
  425. //transportSoldier=24;
  426. smokeLauncherGrenadeCount = 48;
  427. smokeLauncherAngle = 360;
  428. forceInGarage = 1;
  429. faction = macro_republic_faction
  430. editorSubcategory = macro_editor_cat_air(Republic_heli)
  431. vehicleClass = macro_editor_vehicle_type_air(Republic)
  432. maximumLoad = 5000000000;
  433. slingLoadMaxCargoMass = 5000000000;
  434. //#include "flight_model.hpp"
  435. // cyclicAsideForceCoef = 1*1;
  436. // cyclicForwardForceCoef = 1*4;
  437. // backRotorForceCoef =1*1;
  438. // maxSpeed=200;
  439. // bodyFrictionCoef = 0.9*40;
  440. #include "ace_stuff.hpp"
  441. RD501_magclamp_small_1[] = {-7.0,-2.0,-2.5};
  442. RD501_magclamp_large[] = {0.0,-2.0,-2.0};
  443. RD501_magclamp_small_2[] = {7.0,-2.0,-2.5};
  444. RD501_magclamp_small_forbidden=1;
  445. RD501_magclamp_large_offset[]={0.0,1.0,-4.5};
  446. class ACE_SelfActions
  447. {
  448. #include "../../common/universal_hud_color_changer.hpp"
  449. };
  450. #include "../../common/universal_mfd.hpp"
  451. //#include "flight_model.hpp"
  452. #include "sounds.hpp"
  453. class UserActions
  454. {
  455. #include "user_action.hpp"
  456. class StartRefuel
  457. {
  458. displayName = "<t color='#07CC0C'>[Start Refueling]</t>";
  459. displayNameDefault = "<t color='#07CC0C'>[Start Refueling]</t>";
  460. textToolTip = "<t color='#07CC0C'>[Start Refueling]</t>";
  461. position = "pilotview";
  462. radius = 20;
  463. priority = 21;
  464. onlyForPlayer = 1;
  465. condition = "this call RD501_fnc_mc_canRefuel";
  466. statement = "this call RD501_fnc_mc_startRefuel;";
  467. };
  468. class StopRefuel
  469. {
  470. displayName = "<t color='#BC0404'>[Stop Refueling]</t>";
  471. displayNameDefault = "<t color='#BC0404'>[Stop Refueling]</t>";
  472. textToolTip = "<t color='#BC0404'>[Stop Refueling]</t>";
  473. position = "pilotview";
  474. radius = 20;
  475. priority = 21;
  476. onlyForPlayer = 1;
  477. condition = "this call RD501_fnc_mc_canStopRefuel";
  478. statement = "_vehicle setVariable['RD501_mc_stop_refuel',true,true];";
  479. };
  480. };
  481. class EventHandlers : DefaultEventhandlers {
  482. fired = "_this call (uinamespace getvariable 'BIS_fnc_effectFired');";
  483. //init = "[_this select 0] call RD501_Main_fnc_laatc_lift";
  484. }
  485. weapons[]=
  486. {
  487. macro_new_weapon(cannon,laat),
  488. macro_new_weapon(wynd,a2a),
  489. "CMFlareLauncher",
  490. "SmokeLauncher",
  491. "Laserdesignator_pilotCamera"
  492. };
  493. magazines[]=
  494. {
  495. "300Rnd_CMFlare_Chaff_Magazine",
  496. "300Rnd_CMFlare_Chaff_Magazine",
  497. "300Rnd_CMFlare_Chaff_Magazine",
  498. macro_new_mag(a2a,4),
  499. macro_new_mag(a2a,4),
  500. "SmokeLauncherMag",
  501. macro_new_mag(laat_cannon,100),
  502. macro_new_mag(laat_cannon,100),
  503. macro_new_mag(laat_cannon,100),
  504. macro_new_mag(laat_cannon,100),
  505. macro_new_mag(laat_cannon,100),
  506. "SmokeLauncherMag",
  507. "SmokeLauncherMag",
  508. "SmokeLauncherMag",
  509. "SmokeLauncherMag",
  510. "SmokeLauncherMag",
  511. "SmokeLauncherMag",
  512. "Laserbatteries"
  513. };
  514. //#include "flight_model.hpp"
  515. };
  516. //mk4 reskins (with swop skins)
  517. reskined_laat_mk4_full_path(spec_ops,Spec Op,LAAT\textures\gunship_2_d.paa,LAAT\textures\gunship_1_spec.paa)
  518. reskined_laat_mk4_full_path(muunilinst,Muunilinst,LAAT\textures\gunship_2_arc_d.paa,LAAT\textures\gunship_1_arc_d.paa)
  519. reskined_laat_mk4_full_path(blue,Blue,LAAT\textures\gunship_2_blue.paa,LAAT\textures\gunship_1_blue.paa)
  520. };