config.cpp 15 KB

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