config.cpp 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536
  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. transportSoldier=24;
  68. RD501_magclamp_small_1[] = {0.0,1.0,-1.0};
  69. class UserActions: UserActions
  70. {
  71. #include "user_action.hpp"
  72. };
  73. hiddenSelectionsTextures[]=
  74. {
  75. "RD501_Vehicles\textures\LAAT\laat_wings_doors_basecolor.paa",
  76. "RD501_Vehicles\textures\LAAT\laat_base_basecolor.paa"
  77. };
  78. class Turrets: Turrets
  79. {
  80. class Gunner: Copilot
  81. {
  82. minelev=-60;
  83. minturn=-240;
  84. maxelev=40;
  85. maxturn=-120;
  86. #include "common_optics.hpp"
  87. };
  88. class LeftDoorgun: LeftDoorgun
  89. {
  90. weapons[]=
  91. {
  92. macro_new_weapon(turret,laat_ball_beam_l),
  93. "Laserdesignator_pilotCamera"
  94. };
  95. magazines[]=
  96. {
  97. "Laserbatteries",
  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. 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)
  101. };
  102. #include "common_optics.hpp"
  103. memorypointgunneroptics="FIXME";
  104. };
  105. class RightDoorGun: RightDoorGun
  106. {
  107. weapons[]=
  108. {
  109. macro_new_weapon(turret,laat_ball_beam_r),
  110. "Laserdesignator_pilotCamera"
  111. };
  112. magazines[]=
  113. {
  114. "Laserbatteries",
  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. 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)
  118. };
  119. #include "common_optics.hpp"
  120. memorypointgunneroptics="FIXME";
  121. };
  122. class CargoTurret_01: CargoTurret_01{};
  123. class CargoTurret_02: CargoTurret_02{};
  124. class CargoTurret_03: CargoTurret_03{};
  125. class CargoTurret_04: CargoTurret_04{};
  126. class CargoTurret_05: CargoTurret_05{};
  127. class CargoTurret_06: CargoTurret_06{};
  128. };
  129. };
  130. class macro_new_vehicle(laat,Mk1_lights):3as_LAAT_Mk1Lights
  131. {
  132. displayName="LAAT/I MK.I (Lights)";
  133. #include "common_stuff_tcw.hpp"
  134. transportSoldier=29;
  135. RD501_magclamp_small_1[] = {0.0,1.0,-1.0};
  136. class UserActions: UserActions
  137. {
  138. #include "user_action.hpp"
  139. };
  140. hiddenSelectionsTextures[]=
  141. {
  142. "RD501_Vehicles\textures\LAAT\laat_wings_doors_basecolor.paa",
  143. "RD501_Vehicles\textures\LAAT\laat_base_basecolor.paa"
  144. };
  145. class Turrets: Turrets
  146. {
  147. class Gunner: Copilot
  148. {
  149. minelev=-60;
  150. minturn=-240;
  151. maxelev=40;
  152. maxturn=-120;
  153. #include "common_optics.hpp"
  154. };
  155. class CargoTurret_01: CargoTurret_01{};
  156. class CargoTurret_02: CargoTurret_02{};
  157. class CargoTurret_03: CargoTurret_03{};
  158. class CargoTurret_04: CargoTurret_04{};
  159. class CargoTurret_05: CargoTurret_05{};
  160. class CargoTurret_06: CargoTurret_06{};
  161. };
  162. };
  163. class macro_new_vehicle(laat,Mk2):3as_LAAT_Mk2
  164. {
  165. displayName="LAAT/I MK.II";
  166. #include "common_stuff_tcw.hpp"
  167. transportSoldier=24;
  168. RD501_magclamp_small_1[] = {0.0,1.0,-1.0};
  169. class UserActions: UserActions
  170. {
  171. #include "user_action.hpp"
  172. };
  173. hiddenSelectionsTextures[]=
  174. {
  175. "RD501_Vehicles\textures\LAAT\laat_wings_doors_basecolor.paa",
  176. "RD501_Vehicles\textures\LAAT\laat_base_basecolor.paa"
  177. };
  178. class Turrets: Turrets
  179. {
  180. class Gunner: Copilot
  181. {
  182. minelev=-60;
  183. minturn=-240;
  184. maxelev=40;
  185. maxturn=-120;
  186. #include "common_optics.hpp"
  187. };
  188. class CargoTurret_01: CargoTurret_01{};
  189. class CargoTurret_02: CargoTurret_02{};
  190. };
  191. };
  192. class macro_new_vehicle(laat,Mk2_lights):3as_LAAT_Mk2Lights
  193. {
  194. displayName="LAAT/I MK.II (Lights)";
  195. #include "common_stuff_tcw.hpp"
  196. transportSoldier=29
  197. RD501_magclamp_small_1[] = {0.0,1.0,-1.0};
  198. class UserActions: UserActions
  199. {
  200. #include "user_action.hpp"
  201. };
  202. hiddenSelectionsTextures[]=
  203. {
  204. "RD501_Vehicles\textures\LAAT\laat_wings_doors_basecolor.paa",
  205. "RD501_Vehicles\textures\LAAT\laat_base_basecolor.paa"
  206. };
  207. class Turrets: Turrets
  208. {
  209. class Gunner: Copilot
  210. {
  211. minelev=-60;
  212. minturn=-240;
  213. maxelev=40;
  214. maxturn=-120;
  215. #include "common_optics.hpp"
  216. };
  217. class CargoTurret_01: CargoTurret_01{};
  218. class CargoTurret_02: CargoTurret_02{};
  219. };
  220. };
  221. // SWOP START HERE
  222. class macro_new_vehicle(laat,Mk3):swop_LAAT
  223. {
  224. scope=2;
  225. displayName="LAAT/I MK.III";
  226. author="RD501"
  227. side=1;
  228. crew="SWOP_Clonetrooper_P1";
  229. transportSoldier=24;
  230. forceInGarage = 1;
  231. crewExplosionProtection = 0;
  232. crewCrashProtection = 0;
  233. slingLoadMemoryPoint = "slingload0";
  234. //typing hard
  235. #include "ace_stuff.hpp"
  236. #include "flight_model.hpp"
  237. #include "common_stuff_swop.hpp"
  238. RD501_magclamp_small_1[] = {0.0,1.0,-4.5};
  239. class UserActions
  240. {
  241. #include "user_action.hpp"
  242. };
  243. class ACE_SelfActions:ACE_SelfActions
  244. {
  245. #include "../../common/universal_hud_color_changer.hpp"
  246. };
  247. #include "../../common/universal_mfd.hpp"
  248. class Turrets: Turrets
  249. {
  250. class CopilotTurret: CopilotTurret
  251. {
  252. #include "common_copilot.hpp"
  253. };
  254. class GunnerTurret1:GunnerTurret1
  255. {
  256. weapons[]=
  257. {
  258. macro_new_weapon(turret,laat_ball_turret),
  259. "Laserdesignator_pilotCamera"
  260. };
  261. magazines[]=
  262. {
  263. "Laserbatteries",
  264. 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),
  265. 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),
  266. 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)
  267. };
  268. };
  269. class GunnerTurret2:GunnerTurret2
  270. {
  271. weapons[]=
  272. {
  273. macro_new_weapon(turret,laat_ball_turret),
  274. "Laserdesignator_pilotCamera"
  275. };
  276. magazines[]=
  277. {
  278. "Laserbatteries",
  279. 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),
  280. 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),
  281. 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)
  282. };
  283. };
  284. class CargoTurret_01:CargoTurret_01{};
  285. class CargoTurret_02:CargoTurret_02{};
  286. class CargoTurret_03:CargoTurret_03{};
  287. class CargoTurret_04:CargoTurret_04{};
  288. class CargoTurret_05:CargoTurret_05{};
  289. class CargoTurret_06:CargoTurret_06{};
  290. };
  291. };
  292. class macro_new_vehicle(laat,Mk4):swop_LAATmk2
  293. {
  294. scope=2;
  295. displayName="LAAT/I MK.IV";
  296. author="RD501"
  297. side=1;
  298. crew="SWOP_Clonetrooper_P1";
  299. transportSoldier=24;
  300. forceInGarage = 1;
  301. crewExplosionProtection = 0;
  302. crewCrashProtection = 0;
  303. slingLoadMemoryPoint = "slingLoad0";
  304. angleRangeHorizontal = 360;
  305. angleRangeVertical = 360;
  306. //typing hard
  307. #include "ace_stuff.hpp"
  308. #include "flight_model.hpp"
  309. #include "common_stuff_swop.hpp"
  310. RD501_magclamp_small_1[] = {0.0,-2.0,-2.5};
  311. class UserActions
  312. {
  313. #include "user_action.hpp"
  314. class OpenCargoDoor
  315. {
  316. displayName = "<t color='#F64747'>[Open Doors]</t>";
  317. displayNameDefault = "<t color='#F64747'>[Open Doors]</t>";
  318. textToolTip = "<t color='#F64747'>[Open Doors]</t>";
  319. position = "pilotview";
  320. radius = 20;
  321. priority = 9999;
  322. onlyForPlayer = 1;
  323. condition = "this doorPhase ""Doors"" < 0.5 AND (alive this) AND (player in [gunner this, driver this])";
  324. statement = "this animateDoor ['Doors', 1];this animate ['DoorsHandler',1]";
  325. animPeriod = 5;
  326. };
  327. class CloseCargoDoor: OpenCargoDoor
  328. {
  329. displayName = "<t color='#009FD4'>[Close Doors]</t>";
  330. displayNameDefault = "<t color='#009FD4'>[Close Doors]</t>";
  331. textToolTip = "<t color='#009FD4'>[Close Doors]</t>";
  332. priority = 9999;
  333. condition = "this doorPhase ""Doors"" > 0.5 AND (alive this) AND (player in [gunner this, driver this])";
  334. statement = "this animateDoor ['Doors', 0];this animate ['DoorsHandler',0];";
  335. animPeriod = 5;
  336. };
  337. };
  338. class ACE_SelfActions:ACE_SelfActions
  339. {
  340. #include "../../common/universal_hud_color_changer.hpp"
  341. };
  342. #include "../../common/universal_mfd.hpp"
  343. class Turrets: Turrets
  344. {
  345. class CopilotTurret: CopilotTurret
  346. {
  347. #include "common_copilot.hpp"
  348. };
  349. class GunnerTurret1:GunnerTurret1
  350. {
  351. weapons[]=
  352. {
  353. macro_new_weapon(turret,laat_ball_turret),
  354. "Laserdesignator_pilotCamera"
  355. };
  356. magazines[]=
  357. {
  358. "Laserbatteries",
  359. 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),
  360. 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),
  361. 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)
  362. };
  363. };
  364. class GunnerTurret2:GunnerTurret2
  365. {
  366. weapons[]=
  367. {
  368. macro_new_weapon(turret,laat_ball_turret),
  369. "Laserdesignator_pilotCamera"
  370. };
  371. magazines[]=
  372. {
  373. "Laserbatteries",
  374. 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),
  375. 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),
  376. 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)
  377. };
  378. };
  379. };
  380. };
  381. #include "_mk4_reskin.hpp"
  382. class macro_new_vehicle(laat,cargo_Mk2):swop_LAAT_cargo
  383. {
  384. scope=2;
  385. displayName="LAAT/C MK.II";
  386. author="RD501"
  387. side=1;
  388. crew="SWOP_Clonetrooper_P1";
  389. //transportSoldier=24;
  390. smokeLauncherGrenadeCount = 48;
  391. smokeLauncherAngle = 360;
  392. forceInGarage = 1;
  393. faction = macro_republic_faction
  394. editorSubcategory = macro_editor_cat_air(Republic_heli)
  395. vehicleClass = macro_editor_vehicle_type_air(Republic)
  396. maximumLoad = 5000000000;
  397. slingLoadMaxCargoMass = 5000000000;
  398. //#include "flight_model.hpp"
  399. // cyclicAsideForceCoef = 1*1;
  400. // cyclicForwardForceCoef = 1*4;
  401. // backRotorForceCoef =1*1;
  402. // maxSpeed=200;
  403. // bodyFrictionCoef = 0.9*40;
  404. #include "ace_stuff.hpp"
  405. RD501_magclamp_small_1[] = {-7.0,-2.0,-2.5};
  406. RD501_magclamp_large[] = {0.0,-2.0,-2.0};
  407. RD501_magclamp_small_2[] = {7.0,-2.0,-2.5};
  408. class ACE_SelfActions
  409. {
  410. #include "../../common/universal_hud_color_changer.hpp"
  411. };
  412. #include "../../common/universal_mfd.hpp"
  413. //#include "flight_model.hpp"
  414. #include "sounds.hpp"
  415. class UserActions
  416. {
  417. #include "user_action.hpp"
  418. };
  419. class EventHandlers : DefaultEventhandlers {
  420. fired = "_this call (uinamespace getvariable 'BIS_fnc_effectFired');";
  421. //init = "[_this select 0] call RD501_Main_fnc_laatc_lift";
  422. }
  423. weapons[]=
  424. {
  425. macro_new_weapon(cannon,laat),
  426. macro_new_weapon(wynd,a2a),
  427. "CMFlareLauncher",
  428. "SmokeLauncher",
  429. "Laserdesignator_pilotCamera"
  430. };
  431. magazines[]=
  432. {
  433. "300Rnd_CMFlare_Chaff_Magazine",
  434. "300Rnd_CMFlare_Chaff_Magazine",
  435. "300Rnd_CMFlare_Chaff_Magazine",
  436. macro_new_mag(a2a,4),
  437. macro_new_mag(a2a,4),
  438. "SmokeLauncherMag",
  439. macro_new_mag(laat_cannon,100),
  440. macro_new_mag(laat_cannon,100),
  441. macro_new_mag(laat_cannon,100),
  442. macro_new_mag(laat_cannon,100),
  443. macro_new_mag(laat_cannon,100),
  444. "SmokeLauncherMag",
  445. "SmokeLauncherMag",
  446. "SmokeLauncherMag",
  447. "SmokeLauncherMag",
  448. "SmokeLauncherMag",
  449. "SmokeLauncherMag",
  450. "Laserbatteries"
  451. };
  452. //#include "flight_model.hpp"
  453. };
  454. //mk4 reskins (with swop skins)
  455. reskined_laat_mk4_full_path(spec_ops,Spec Op,LAAT\textures\gunship_2_d.paa,LAAT\textures\gunship_1_spec.paa)
  456. reskined_laat_mk4_full_path(muunilinst,Muunilinst,LAAT\textures\gunship_2_arc_d.paa,LAAT\textures\gunship_1_arc_d.paa)
  457. reskined_laat_mk4_full_path(blue,Blue,LAAT\textures\gunship_2_blue.paa,LAAT\textures\gunship_1_blue.paa)
  458. };