config.cpp 11 KB

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