config.cpp 11 KB

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