config.cpp 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543
  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 drones
  7. #define patch_name MODNAME##vehicle_addon##_Patches
  8. #define vehicle_classname MODNAME##_##vehicle_addon
  9. #define new_drone_class(name) vehicle_classname##_##name
  10. class CfgPatches
  11. {
  12. class macro_patch_name(drones)
  13. {
  14. addonRootClass=macro_patch_name(vehicles)
  15. requiredAddons[]=
  16. {
  17. "A3_data_F",
  18. "A3_anims_F",
  19. "A3_weapons_F",
  20. "A3_characters_F",
  21. macro_patch_name(vehicles)
  22. };
  23. requiredVersion=0.1;
  24. units[]=
  25. {
  26. macro_new_vehicle(drone,cis_Hover_Droid),
  27. macro_new_vehicle(drone,Interrogation_Droid),
  28. macro_new_vehicle(drone,CIS_Dio_Droid),
  29. macro_new_vehicle(drone,Rebel_Dio_Droid),
  30. macro_new_vehicle(drone,Clone_Recon_Droid),
  31. macro_new_vehicle(drone,Clone_Recon_Droid_ATTE),
  32. macro_new_vehicle(drone,rep_stealth_fixedwing),
  33. macro_new_vehicle(drone,cis_stealth_fixedwing),
  34. macro_new_vehicle(drone,razor_stealth_fixedwing),
  35. macro_new_vehicle(drone,razor_recon),
  36. macro_new_vehicle(drone,razor_recon_bag),
  37. macro_new_vehicle(drone,Clone_Recon_bag),
  38. macro_new_vehicle(drone,razor_medical),
  39. macro_new_vehicle(drone,razor_ammo),
  40. macro_new_vehicle(blufor,eweb_bag)
  41. };
  42. weapons[]=
  43. {
  44. };
  45. };
  46. };
  47. #include "../../common/sensor_templates.hpp"
  48. class CBA_Extended_EventHandlers_base;
  49. class CfgVehicles
  50. {
  51. #include "inheritance.hpp"
  52. class macro_new_vehicle(drone,cis_Hover_Droid): swcishoverdroid
  53. {
  54. scope=2
  55. forceInGarage = 1;
  56. displayName = "CIS Hover Droid MK.II";
  57. armor = 0.1;
  58. cost = 20000;
  59. altFullForce = 1000;
  60. altNoForce = 1100;
  61. LODTurnedIn = -1;
  62. hiddenselectionstextures[] = {"SW_CloneWarsWeapons\Recon\hover_droid_diff.paa"};
  63. faction = macro_cis_faction
  64. class EventHandlers {
  65. class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base {};
  66. };
  67. class Turrets: Turrets
  68. {
  69. class MainTurret:MainTurret
  70. {
  71. weapons[] = {"Laserdesignator_mounted","heavyrepeater"};
  72. magazines[] = {
  73. "Laserbatteries",
  74. "SWOP_HeavyRepeater_Mag",
  75. "SWOP_HeavyRepeater_Mag",
  76. "SWOP_HeavyRepeater_Mag","SWOP_HeavyRepeater_Mag",
  77. "SWOP_HeavyRepeater_Mag","SWOP_HeavyRepeater_Mag",
  78. "SWOP_HeavyRepeater_Mag","SWOP_HeavyRepeater_Mag"
  79. };
  80. }
  81. }
  82. };
  83. class macro_new_vehicle(drone,Interrogation_Droid): SWOP_interrogationdroid
  84. {
  85. author = "RD501";
  86. scope=2
  87. forceInGarage = 1;
  88. displayName = "Interrogation Droid MK.II";
  89. altFullForce = 1000;
  90. altNoForce = 1100;
  91. faction = macro_cis_faction
  92. class EventHandlers {
  93. class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base {};
  94. };
  95. };
  96. class macro_new_vehicle(drone,CIS_Dio_Droid): SWOP_Dio_Droid
  97. {
  98. author = "RD501";
  99. scope=2
  100. forceInGarage = 1;
  101. displayName = "ID10 Droid MK.II";
  102. altFullForce = 1000;
  103. altNoForce = 1100;
  104. faction = macro_cis_faction
  105. class EventHandlers {
  106. class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base {};
  107. };
  108. };
  109. class macro_new_vehicle(drone,Rebel_Dio_Droid): SWOP_Rebel_Dio_Droid
  110. {
  111. author = "RD501";
  112. scope=2
  113. forceInGarage = 1;
  114. displayName = "Rebel ID10 Droid MK.II";
  115. altFullForce = 1000;
  116. altNoForce = 1100;
  117. faction = macro_rebel_faction
  118. class EventHandlers {
  119. class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base {};
  120. };
  121. };
  122. class macro_new_vehicle(drone,Clone_Recon_bag):JLTS_UAV_prowler_gar_backpack
  123. {
  124. displayName="R-2 Drone Bag";
  125. hiddenSelectionsTextures[]=
  126. {
  127. "\RD501_Vehicles\air\drones\Clone_backpack_uav.paa"
  128. };
  129. class assembleInfo: assembleInfo
  130. {
  131. displayName="R2 Drone Bag";
  132. assembleTo = macro_new_vehicle(drone,Clone_Recon_Droid)
  133. };
  134. };
  135. #define ARR_2(a,b) a,b
  136. class macro_new_vehicle(drone,Clone_Recon_Droid): swclonerecondroid
  137. {
  138. author = "RD501";
  139. scope=2
  140. forceInGarage = 1;
  141. displayName = "R-2 Recon Droid";
  142. altFullForce = 100;
  143. altNoForce = 1000;
  144. fuelCapacity = 90;
  145. fuelConsumptionRate = 1;
  146. faction = macro_republic_faction;
  147. /* model = "\SW_CloneWarsWeapons\Recon\swclonerecon.p3d";
  148. hiddenSelections[]=
  149. {
  150. "camo"
  151. };
  152. hiddenSelectionsTextures[]=
  153. {
  154. "\SW_CloneWarsWeapons\Recon\com_weap_probedroid.paa"
  155. };*/
  156. class ACE_Actions: ACE_Actions {
  157. class ACE_MainActions: ACE_MainActions {
  158. condition = macro_quote(true);
  159. class RD501_Drone_Refuel
  160. {
  161. displayName = "Refuel Drone";
  162. distance = 4;
  163. condition = macro_quote([ARR_2(_player,_target)] call macro_fnc_name(canRefuel));
  164. statement = macro_quote([ARR_2(_player,_target)] call macro_fnc_name(refuelUAVDrone));
  165. position = macro_quote(call ace_interaction_fnc_getVehiclePos);
  166. };
  167. };
  168. };
  169. class assembleInfo
  170. {
  171. dissasembleTo[]=
  172. {
  173. macro_new_vehicle(drone,Clone_Recon_bag)
  174. };
  175. };
  176. };
  177. class macro_new_vehicle(drone,Clone_Recon_Droid_ATTE):swclonerecondroid
  178. {
  179. displayname = "AT-TE Commander Camera";
  180. scope=2
  181. forceInGarage = 1;
  182. author = "RD501";
  183. faction = macro_republic_faction
  184. class EventHandlers {
  185. class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base {};
  186. };
  187. };
  188. class macro_new_vehicle(drone,rep_stealth_fixedwing):B_UAV_05_F
  189. {
  190. displayname = "GAR Phantom";
  191. scope=2;
  192. forceInGarage = 1;
  193. author = "RD501";
  194. faction = macro_republic_faction
  195. hiddenSelections[] = {"camo1","camo2"};
  196. hiddenSelectionsMaterials[] = {"\RD501_Vehicles\textures\sentinel\phantom_fuselage_01.rvmat",""};
  197. hiddenSelectionsTextures[] = {"\RD501_Vehicles\textures\sentinel\phantom_fuselage_01_gar_co.paa",""};
  198. weapons[] = {
  199. macro_basic_air_weapons,
  200. macro_new_weapon(generic,ion_aircraft_cannon)
  201. };
  202. magazines[] = {
  203. macro_basic_air_mags,
  204. macro_new_mag(generic_aircraft_cannon_blue,1000),
  205. macro_new_mag(generic_aircraft_cannon_blue,1000)
  206. };
  207. class pilotCamera
  208. {
  209. class OpticsIn
  210. {
  211. class Wide
  212. {
  213. opticsDisplayName = "WFOV";
  214. initAngleX = 0;
  215. minAngleX = 0;
  216. maxAngleX = 0;
  217. initAngleY = 0;
  218. minAngleY = 0;
  219. maxAngleY = 0;
  220. initFov=0.42;//"(30 / 120)";
  221. minFov=0.42;//"(30 / 120)";
  222. maxFov=0.42;//"(30 / 120)";
  223. directionStabilized = 1;
  224. visionMode[] = {"Normal","NVG", "Ti"};
  225. thermalMode[] = {0,1,2,3,4,5};
  226. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_wide_F.p3d";
  227. opticsPPEffects[] = {"OpticsCHAbera2", "OpticsBlur2"};
  228. };
  229. class Medium: Wide
  230. {
  231. opticsDisplayName = "MFOV";
  232. initFov="0.42/4";//"(30 / 120)";
  233. minFov="0.42/4";//"(30 / 120)";
  234. maxFov="0.42/4";//"(30 / 120)";
  235. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_medium_F.p3d";
  236. };
  237. class Narrow: Wide
  238. {
  239. opticsDisplayName = "NFOV";
  240. initFov="0.42/8";//"(30 / 120)";
  241. minFov="0.42/8";//"(30 / 120)";
  242. maxFov="0.42/8";//"(30 / 120)";
  243. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  244. };
  245. class NarrowX16: Wide
  246. {
  247. opticsDisplayName = "NFOV";
  248. initFov="0.42/16";//"(30 / 120)";
  249. minFov="0.42/16";//"(30 / 120)";
  250. maxFov="0.42/16";//"(30 / 120)";
  251. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  252. };
  253. class NarrowX24: Wide
  254. {
  255. opticsDisplayName = "NFOV";
  256. initFov="0.42/24";//"(30 / 120)";
  257. minFov="0.42/24";//"(30 / 120)";
  258. maxFov="0.42/24";//"(30 / 120)";
  259. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  260. };
  261. class NarrowX36: Wide
  262. {
  263. opticsDisplayName = "NFOV";
  264. initFov="0.42/36";//"(30 / 120)";
  265. minFov="0.42/36";//"(30 / 120)";
  266. maxFov="0.42/36";//"(30 / 120)";
  267. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  268. };
  269. class NarrowX48: Wide
  270. {
  271. opticsDisplayName = "NFOV";
  272. initFov="0.42/48";//"(30 / 120)";
  273. minFov="0.42/48";//"(30 / 120)";
  274. maxFov="0.42/48";//"(30 / 120)";
  275. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  276. };
  277. class NarrowX60: Wide
  278. {
  279. opticsDisplayName = "NFOV";
  280. initFov="0.42/60";//"(30 / 120)";
  281. minFov="0.42/60";//"(30 / 120)";
  282. maxFov="0.42/60";//"(30 / 120)";
  283. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  284. };
  285. class NarrowX80: Wide
  286. {
  287. opticsDisplayName = "NFOV";
  288. initFov="0.42/80";//"(30 / 120)";
  289. minFov="0.42/80";//"(30 / 120)";
  290. maxFov="0.42/80";//"(30 / 120)";
  291. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  292. };
  293. class NarrowX100: Wide
  294. {
  295. opticsDisplayName = "NFOV";
  296. initFov="0.42/100";//"(30 / 120)";
  297. minFov="0.42/100";//"(30 / 120)";
  298. maxFov="0.42/100";//"(30 / 120)";
  299. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  300. };
  301. showMiniMapInOptics = 1;
  302. showUAVViewInOptics = 0;
  303. showSlingLoadManagerInOptics = 0;
  304. };
  305. minTurn = -190;
  306. maxTurn = 180;
  307. initTurn = 0;
  308. minElev = -10;
  309. maxElev = 90;
  310. initElev = 0;
  311. maxXRotSpeed = 0.3;
  312. maxYRotSpeed = 0.3;
  313. pilotOpticsShowCursor = 1;
  314. controllable = 1;
  315. };
  316. class EventHandlers
  317. {
  318. class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base
  319. {};
  320. };
  321. class Components:Components
  322. {};
  323. class GunClouds:GunClouds
  324. {};
  325. class GunFire:GunFire
  326. {};
  327. class HitPoints:HitPoints
  328. {};
  329. class MGunClouds:MGunClouds
  330. {};
  331. class OpticsIn:OpticsIn
  332. {};
  333. class OpticsOut:OpticsOut
  334. {};
  335. class Reflectors:Reflectors
  336. {};
  337. class TurnIn:TurnIn
  338. {};
  339. class TurnOut:TurnOut
  340. {};
  341. class Turrets:Turrets
  342. {
  343. class MainTurret:MainTurret
  344. {};
  345. };
  346. class TurretSpec:TurretSpec
  347. {};
  348. class ViewGunner:ViewGunner
  349. {};
  350. class ViewOptics:ViewOptics
  351. {};
  352. };
  353. class macro_new_vehicle(drone,razor_stealth_fixedwing): macro_new_vehicle(drone,rep_stealth_fixedwing)
  354. {
  355. displayname = "GAR Phantom (Razor)";
  356. hiddenSelectionsTextures[] = {"\RD501_Vehicles\textures\sentinel\phantom_fuselage_01_razor_co.paa",""};
  357. };
  358. class macro_new_vehicle(drone,cis_stealth_fixedwing):B_UAV_05_F
  359. {
  360. displayname = "CIS Phantom";
  361. scope=2;
  362. forceInGarage = 1;
  363. side=0;
  364. author = "RD501";
  365. faction = macro_cis_faction
  366. crew = "SWOP_CIS_droid_crew";
  367. hiddenSelections[] = {"camo1","camo2"};
  368. hiddenSelectionsMaterials[] = {"\RD501_Vehicles\textures\sentinel\phantom_fuselage_01.rvmat",""};
  369. hiddenSelectionsTextures[] = {"\RD501_Vehicles\textures\sentinel\phantom_fuselage_01_cis_co",""};
  370. weapons[] = {
  371. macro_basic_air_weapons,
  372. macro_new_weapon(generic,cis_aircraft_cannon)
  373. };
  374. magazines[] = {
  375. macro_basic_air_mags,
  376. macro_new_mag(generic_aircraft_cannon_red,1000),
  377. macro_new_mag(generic_aircraft_cannon_red,1000),
  378. };
  379. class EventHandlers
  380. {
  381. class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base
  382. {};
  383. };
  384. class Components:Components
  385. {};
  386. class GunClouds:GunClouds
  387. {};
  388. class GunFire:GunFire
  389. {};
  390. class HitPoints:HitPoints
  391. {};
  392. class MGunClouds:MGunClouds
  393. {};
  394. class OpticsIn:OpticsIn
  395. {};
  396. class OpticsOut:OpticsOut
  397. {};
  398. class Reflectors:Reflectors
  399. {};
  400. class TurnIn:TurnIn
  401. {};
  402. class TurnOut:TurnOut
  403. {};
  404. class Turrets:Turrets
  405. {
  406. class MainTurret:MainTurret
  407. {};
  408. };
  409. class TurretSpec:TurretSpec
  410. {};
  411. class ViewGunner:ViewGunner
  412. {};
  413. class ViewOptics:ViewOptics
  414. {};
  415. };
  416. class macro_new_vehicle(drone,razor_recon_bag):JLTS_UAV_prowler_gar_backpack
  417. {
  418. displayName="Hummingbird Recon Drone";
  419. hiddenSelectionsTextures[]=
  420. {
  421. "\RD501_Vehicles\air\drones\Clone_backpack_uav.paa"
  422. };
  423. class assembleInfo: assembleInfo
  424. {
  425. displayName="Hummingbird Drone Bag";
  426. assembleTo = macro_new_vehicle(drone,razor_recon)
  427. };
  428. };
  429. class macro_new_vehicle(blufor,eweb_bag): JLTS_UAV_prowler_gar_backpack
  430. {
  431. scope = 2;
  432. displayName = "E-WEB Bag";
  433. descriptionShort = "E-WEB Bag";
  434. side = 0;
  435. //faction = "RD501FactionOpfor";
  436. picture = "\MRC\JLTS\characters\CloneArmor\data\ui\Clone_backpack_ui_ca.paa";
  437. model = "\MRC\JLTS\characters\CloneArmor\CloneBackpack.p3d";
  438. hiddenSelections[] = {"camo1"};
  439. hiddenSelectionsTextures[]=
  440. {
  441. "\RD501_Vehicles\air\drones\Clone_backpack_uav.paa"
  442. };
  443. maximumLoad = 0;
  444. mass = 300;
  445. class assembleInfo: assembleInfo
  446. {
  447. base = "";
  448. displayName = "E-WEB";
  449. assembleTo = macro_new_vehicle(e_web,cis);
  450. };
  451. };
  452. class macro_new_vehicle(drone,razor_recon): JLTS_UAV_prowler_gar
  453. {
  454. displayName = "Hummingbird Recon Drone"
  455. faction = macro_republic_faction
  456. scope=2;
  457. forceInGarage = 1;
  458. altFullForce = 1000;
  459. altNoForce = 1100;
  460. hiddenSelectionsTextures[]=
  461. {
  462. "\RD501_Vehicles\air\drones\prowler_co.paa"
  463. };
  464. class assembleInfo
  465. {
  466. dissasembleTo[]=
  467. {
  468. macro_new_vehicle(drone,razor_recon_bag)
  469. };
  470. };
  471. };
  472. class macro_new_vehicle(drone,razor_medical): B_UAV_06_F
  473. {
  474. displayName = "Prime Medical Drone"
  475. faction = macro_republic_faction
  476. scope=2;
  477. forceInGarage = 1;
  478. altFullForce = 1000;
  479. altNoForce = 1100;
  480. hiddenSelectionsTextures[]=
  481. {
  482. "\RD501_Vehicles\air\drones\data\b_uav_06_medical_co.paa"
  483. };
  484. typicalCargo[]=
  485. {
  486. ""
  487. };
  488. class TransportItems
  489. {
  490. #include "medical_drone_items.hpp"
  491. };
  492. };
  493. class macro_new_vehicle(drone,razor_ammo): B_UAV_06_F
  494. {
  495. displayName = "Prime Ammo Drone"
  496. faction = macro_republic_faction
  497. scope=2;
  498. forceInGarage = 1;
  499. altFullForce = 1000;
  500. altNoForce = 1100;
  501. hiddenSelectionsTextures[]=
  502. {
  503. "\RD501_Vehicles\air\drones\data\b_uav_06_ammo_co.paa"
  504. };
  505. typicalCargo[]=
  506. {
  507. ""
  508. };
  509. class TransportItems{};
  510. class TransportMagazines
  511. {
  512. #include"ammo_drone_mag.hpp"
  513. };
  514. };
  515. };