config.cpp 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446
  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,Clone_Recon_Droid),
  28. macro_new_vehicle(drone,Clone_Recon_Droid_ATTE),
  29. macro_new_vehicle(drone,rep_stealth_fixedwing),
  30. macro_new_vehicle(drone,razor_stealth_fixedwing),
  31. macro_new_vehicle(drone,razor_recon),
  32. macro_new_vehicle(drone,razor_recon_bag),
  33. macro_new_vehicle(drone,Clone_Recon_bag),
  34. macro_new_vehicle(drone,razor_medical),
  35. macro_new_vehicle(drone,razor_ammo),
  36. macro_new_vehicle(blufor,eweb_bag),
  37. macro_new_vehicle(drone,razor_turret)
  38. };
  39. weapons[]=
  40. {
  41. };
  42. };
  43. };
  44. #include "../../common/sensor_templates.hpp"
  45. class CBA_Extended_EventHandlers_base;
  46. class CfgVehicles
  47. {
  48. #include "inheritance.hpp"
  49. class 3as_CIS_ScavDroid;
  50. class macro_new_vehicle(drone,cis_Hover_Droid): 3as_CIS_ScavDroid
  51. {
  52. scope=2
  53. side=0;
  54. forceInGarage = 1;
  55. displayName = "CIS Hover Droid MK.II";
  56. armor = 0.1;
  57. cost = 20000;
  58. altFullForce = 1000;
  59. altNoForce = 1100;
  60. LODTurnedIn = -1;
  61. faction = macro_cis_faction
  62. editorSubcategory="EdSubcat_Drones";
  63. vehicleClass="Autonomous";
  64. };
  65. class macro_new_vehicle(drone,Clone_Recon_bag):JLTS_UAV_prowler_gar_backpack
  66. {
  67. displayName="R-2 Drone Bag";
  68. hiddenSelectionsTextures[]=
  69. {
  70. "\RD501_Vehicles\air\drones\Clone_backpack_uav.paa"
  71. };
  72. class assembleInfo: assembleInfo
  73. {
  74. displayName="R2 Drone Bag";
  75. assembleTo = macro_new_vehicle(drone,Clone_Recon_Droid)
  76. };
  77. };
  78. #define ARR_2(a,b) a,b
  79. class macro_new_vehicle(drone,Clone_Recon_Droid): JLTS_UAV_prowler_gar
  80. {
  81. author = "RD501";
  82. scope=2
  83. forceInGarage = 1;
  84. displayName = "R-2 Recon Droid";
  85. altFullForce = 100;
  86. altNoForce = 1000;
  87. fuelCapacity = 90;
  88. fuelConsumptionRate = 1;
  89. faction = macro_republic_faction;
  90. /* model = "\SW_CloneWarsWeapons\Recon\swclonerecon.p3d";
  91. hiddenSelections[]=
  92. {
  93. "camo"
  94. };
  95. hiddenSelectionsTextures[]=
  96. {
  97. "\SW_CloneWarsWeapons\Recon\com_weap_probedroid.paa"
  98. };*/
  99. class ACE_Actions {
  100. distance = 4;
  101. condition = macro_quote(true);
  102. class ACE_MainActions {
  103. condition = macro_quote(true);
  104. class RD501_Drone_Refuel
  105. {
  106. displayName = "Refuel Drone";
  107. distance = 4;
  108. condition = macro_quote([ARR_2(_player,_target)] call macro_fnc_name(canRefuel));
  109. statement = macro_quote([ARR_2(_player,_target)] call macro_fnc_name(refuelUAVDrone));
  110. position = macro_quote(call ace_interaction_fnc_getVehiclePos);
  111. };
  112. };
  113. };
  114. class assembleInfo
  115. {
  116. dissasembleTo[]=
  117. {
  118. macro_new_vehicle(drone,Clone_Recon_bag)
  119. };
  120. };
  121. };
  122. class macro_new_vehicle(drone,rep_stealth_fixedwing):B_UAV_05_F
  123. {
  124. displayname = "GAR Phantom";
  125. scope=2;
  126. forceInGarage = 1;
  127. author = "RD501";
  128. faction = macro_republic_faction
  129. RD501_magclamp_large_offset[]={0.0,0.0,-3.0};
  130. hiddenSelections[] = {"camo1","camo2"};
  131. hiddenSelectionsMaterials[] = {"\RD501_Vehicles\textures\sentinel\phantom_fuselage_01.rvmat",""};
  132. hiddenSelectionsTextures[] = {"\RD501_Vehicles\textures\sentinel\phantom_fuselage_01_gar_co.paa",""};
  133. weapons[] = {
  134. macro_basic_air_weapons,
  135. macro_new_weapon(generic,republic_aircraft_cannon)
  136. };
  137. magazines[] = {
  138. macro_basic_air_mags,
  139. macro_new_mag(generic_aircraft_gun_green,1000),
  140. macro_new_mag(generic_aircraft_gun_green,1000)
  141. };
  142. class pilotCamera
  143. {
  144. class OpticsIn
  145. {
  146. class Wide
  147. {
  148. opticsDisplayName = "WFOV";
  149. initAngleX = 0;
  150. minAngleX = 0;
  151. maxAngleX = 0;
  152. initAngleY = 0;
  153. minAngleY = 0;
  154. maxAngleY = 0;
  155. initFov=0.42;//"(30 / 120)";
  156. minFov=0.42;//"(30 / 120)";
  157. maxFov=0.42;//"(30 / 120)";
  158. directionStabilized = 1;
  159. visionMode[] = {"Normal","NVG", "Ti"};
  160. thermalMode[] = {0,1,2,3,4,5};
  161. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_wide_F.p3d";
  162. opticsPPEffects[] = {"OpticsCHAbera2", "OpticsBlur2"};
  163. };
  164. class Medium: Wide
  165. {
  166. opticsDisplayName = "MFOV";
  167. initFov="0.42/4";//"(30 / 120)";
  168. minFov="0.42/4";//"(30 / 120)";
  169. maxFov="0.42/4";//"(30 / 120)";
  170. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_medium_F.p3d";
  171. };
  172. class Narrow: Wide
  173. {
  174. opticsDisplayName = "NFOV";
  175. initFov="0.42/8";//"(30 / 120)";
  176. minFov="0.42/8";//"(30 / 120)";
  177. maxFov="0.42/8";//"(30 / 120)";
  178. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  179. };
  180. class NarrowX16: Wide
  181. {
  182. opticsDisplayName = "NFOV";
  183. initFov="0.42/16";//"(30 / 120)";
  184. minFov="0.42/16";//"(30 / 120)";
  185. maxFov="0.42/16";//"(30 / 120)";
  186. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  187. };
  188. class NarrowX24: Wide
  189. {
  190. opticsDisplayName = "NFOV";
  191. initFov="0.42/24";//"(30 / 120)";
  192. minFov="0.42/24";//"(30 / 120)";
  193. maxFov="0.42/24";//"(30 / 120)";
  194. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  195. };
  196. class NarrowX36: Wide
  197. {
  198. opticsDisplayName = "NFOV";
  199. initFov="0.42/36";//"(30 / 120)";
  200. minFov="0.42/36";//"(30 / 120)";
  201. maxFov="0.42/36";//"(30 / 120)";
  202. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  203. };
  204. class NarrowX48: Wide
  205. {
  206. opticsDisplayName = "NFOV";
  207. initFov="0.42/48";//"(30 / 120)";
  208. minFov="0.42/48";//"(30 / 120)";
  209. maxFov="0.42/48";//"(30 / 120)";
  210. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  211. };
  212. class NarrowX60: Wide
  213. {
  214. opticsDisplayName = "NFOV";
  215. initFov="0.42/60";//"(30 / 120)";
  216. minFov="0.42/60";//"(30 / 120)";
  217. maxFov="0.42/60";//"(30 / 120)";
  218. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  219. };
  220. class NarrowX80: Wide
  221. {
  222. opticsDisplayName = "NFOV";
  223. initFov="0.42/80";//"(30 / 120)";
  224. minFov="0.42/80";//"(30 / 120)";
  225. maxFov="0.42/80";//"(30 / 120)";
  226. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  227. };
  228. class NarrowX100: Wide
  229. {
  230. opticsDisplayName = "NFOV";
  231. initFov="0.42/100";//"(30 / 120)";
  232. minFov="0.42/100";//"(30 / 120)";
  233. maxFov="0.42/100";//"(30 / 120)";
  234. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  235. };
  236. showMiniMapInOptics = 1;
  237. showUAVViewInOptics = 0;
  238. showSlingLoadManagerInOptics = 0;
  239. };
  240. minTurn = -190;
  241. maxTurn = 180;
  242. initTurn = 0;
  243. minElev = -10;
  244. maxElev = 90;
  245. initElev = 0;
  246. maxXRotSpeed = 0.3;
  247. maxYRotSpeed = 0.3;
  248. pilotOpticsShowCursor = 1;
  249. controllable = 1;
  250. };
  251. class EventHandlers
  252. {
  253. class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base
  254. {};
  255. };
  256. class Components:Components
  257. {};
  258. class GunClouds:GunClouds
  259. {};
  260. class GunFire:GunFire
  261. {};
  262. class HitPoints:HitPoints
  263. {};
  264. class MGunClouds:MGunClouds
  265. {};
  266. class OpticsIn:OpticsIn
  267. {};
  268. class OpticsOut:OpticsOut
  269. {};
  270. class Reflectors:Reflectors
  271. {};
  272. class TurnIn:TurnIn
  273. {};
  274. class TurnOut:TurnOut
  275. {};
  276. class Turrets:Turrets
  277. {
  278. class MainTurret:MainTurret
  279. {};
  280. };
  281. class TurretSpec:TurretSpec
  282. {};
  283. class ViewGunner:ViewGunner
  284. {};
  285. class ViewOptics:ViewOptics
  286. {};
  287. };
  288. class macro_new_vehicle(drone,razor_stealth_fixedwing): macro_new_vehicle(drone,rep_stealth_fixedwing)
  289. {
  290. displayname = "GAR Phantom (Razor)";
  291. hiddenSelectionsTextures[] = {"\RD501_Vehicles\textures\sentinel\phantom_fuselage_01_razor_co.paa",""};
  292. };
  293. class macro_new_vehicle(drone,razor_recon_bag):JLTS_UAV_prowler_gar_backpack
  294. {
  295. displayName="Hummingbird Recon Drone";
  296. hiddenSelectionsTextures[]=
  297. {
  298. "\RD501_Vehicles\air\drones\Clone_backpack_uav.paa"
  299. };
  300. class assembleInfo: assembleInfo
  301. {
  302. displayName="Hummingbird Drone Bag";
  303. assembleTo = macro_new_vehicle(drone,razor_recon)
  304. };
  305. };
  306. class macro_new_vehicle(blufor,eweb_bag): JLTS_UAV_prowler_gar_backpack
  307. {
  308. scope = 2;
  309. displayName = "E-WEB Bag";
  310. descriptionShort = "E-WEB Bag";
  311. side = 0;
  312. //faction = "RD501FactionOpfor";
  313. picture = "\MRC\JLTS\characters\CloneArmor\data\ui\Clone_backpack_ui_ca.paa";
  314. model = "\MRC\JLTS\characters\CloneArmor\CloneBackpack.p3d";
  315. hiddenSelections[] = {"camo1"};
  316. hiddenSelectionsTextures[]=
  317. {
  318. "\RD501_Vehicles\air\drones\Clone_backpack_uav.paa"
  319. };
  320. maximumLoad = 0;
  321. mass = 300;
  322. class assembleInfo: assembleInfo
  323. {
  324. base = "";
  325. displayName = "E-WEB";
  326. assembleTo = macro_new_vehicle(e_web,cis);
  327. };
  328. };
  329. class macro_new_vehicle(drone,razor_recon): JLTS_UAV_prowler_gar
  330. {
  331. displayName = "Hummingbird Recon Drone"
  332. faction = macro_republic_faction
  333. scope=2;
  334. forceInGarage = 1;
  335. altFullForce = 1000;
  336. altNoForce = 1100;
  337. hiddenSelectionsTextures[]=
  338. {
  339. "\RD501_Vehicles\air\drones\prowler_co.paa"
  340. };
  341. class assembleInfo
  342. {
  343. dissasembleTo[]=
  344. {
  345. macro_new_vehicle(drone,razor_recon_bag)
  346. };
  347. };
  348. };
  349. class macro_new_vehicle(drone,razor_medical): B_UAV_06_F
  350. {
  351. displayName = "Prime Medical Drone"
  352. faction = macro_republic_faction
  353. scope=2;
  354. forceInGarage = 1;
  355. altFullForce = 1000;
  356. altNoForce = 1100;
  357. hiddenSelectionsTextures[]=
  358. {
  359. "\RD501_Vehicles\air\drones\data\b_uav_06_medical_co.paa"
  360. };
  361. typicalCargo[]=
  362. {
  363. ""
  364. };
  365. class TransportItems
  366. {
  367. #include "medical_drone_items.hpp"
  368. };
  369. };
  370. class macro_new_vehicle(drone,razor_ammo): B_UAV_06_F
  371. {
  372. displayName = "Prime Ammo Drone"
  373. faction = macro_republic_faction
  374. scope=2;
  375. forceInGarage = 1;
  376. altFullForce = 1000;
  377. altNoForce = 1100;
  378. hiddenSelectionsTextures[]=
  379. {
  380. "\RD501_Vehicles\air\drones\data\b_uav_06_ammo_co.paa"
  381. };
  382. typicalCargo[]=
  383. {
  384. ""
  385. };
  386. class TransportItems{};
  387. class TransportMagazines
  388. {
  389. #include"ammo_drone_mag.hpp"
  390. };
  391. };
  392. class macro_new_vehicle(drone,razor_turret): B_UAV_06_F
  393. {
  394. displayName = "Prime Turret Drone"
  395. faction = macro_republic_faction
  396. scope=2;
  397. forceInGarage = 1;
  398. altFullForce = 1000;
  399. altNoForce = 1100;
  400. hiddenSelectionsTextures[]=
  401. {
  402. "\RD501_Vehicles\air\drones\data\b_uav_06_ammo_co.paa"
  403. };
  404. typicalCargo[]=
  405. {
  406. ""
  407. };
  408. class TransportItems{};
  409. class TransportMagazines{};
  410. class TransportBackpacks
  411. {
  412. class _transport_ewebbag
  413. {
  414. backpack=macro_new_vehicle(stat,reweb_bag);
  415. count=1;
  416. };
  417. class _transport_raglbag
  418. {
  419. backpack=macro_new_vehicle(stat,ragl40_bag);
  420. count=1;
  421. };
  422. class _transport_strikbag
  423. {
  424. backpack=macro_new_vehicle(stat,Striker_bag);
  425. count=1;
  426. };
  427. class _transport_railbag
  428. {
  429. backpack=macro_new_vehicle(stat,Railgun_bag);
  430. count=1;
  431. };
  432. };
  433. };
  434. };