config.cpp 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417
  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. RD501_magclamp_large_offset[]={0.0,0.0,-3.0};
  140. hiddenSelections[] = {"camo1","camo2"};
  141. hiddenSelectionsMaterials[] = {"\RD501_Vehicles\textures\sentinel\phantom_fuselage_01.rvmat",""};
  142. hiddenSelectionsTextures[] = {"\RD501_Vehicles\textures\sentinel\phantom_fuselage_01_gar_co.paa",""};
  143. weapons[] = {
  144. macro_basic_air_weapons,
  145. macro_new_weapon(generic,republic_aircraft_cannon)
  146. };
  147. magazines[] = {
  148. macro_basic_air_mags,
  149. macro_new_mag(generic_aircraft_gun_green,1000),
  150. macro_new_mag(generic_aircraft_gun_green,1000)
  151. };
  152. class pilotCamera
  153. {
  154. class OpticsIn
  155. {
  156. class Wide
  157. {
  158. opticsDisplayName = "WFOV";
  159. initAngleX = 0;
  160. minAngleX = 0;
  161. maxAngleX = 0;
  162. initAngleY = 0;
  163. minAngleY = 0;
  164. maxAngleY = 0;
  165. initFov=0.42;//"(30 / 120)";
  166. minFov=0.42;//"(30 / 120)";
  167. maxFov=0.42;//"(30 / 120)";
  168. directionStabilized = 1;
  169. visionMode[] = {"Normal","NVG", "Ti"};
  170. thermalMode[] = {0,1,2,3,4,5};
  171. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_wide_F.p3d";
  172. opticsPPEffects[] = {"OpticsCHAbera2", "OpticsBlur2"};
  173. };
  174. class Medium: Wide
  175. {
  176. opticsDisplayName = "MFOV";
  177. initFov="0.42/4";//"(30 / 120)";
  178. minFov="0.42/4";//"(30 / 120)";
  179. maxFov="0.42/4";//"(30 / 120)";
  180. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_medium_F.p3d";
  181. };
  182. class Narrow: Wide
  183. {
  184. opticsDisplayName = "NFOV";
  185. initFov="0.42/8";//"(30 / 120)";
  186. minFov="0.42/8";//"(30 / 120)";
  187. maxFov="0.42/8";//"(30 / 120)";
  188. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  189. };
  190. class NarrowX16: Wide
  191. {
  192. opticsDisplayName = "NFOV";
  193. initFov="0.42/16";//"(30 / 120)";
  194. minFov="0.42/16";//"(30 / 120)";
  195. maxFov="0.42/16";//"(30 / 120)";
  196. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  197. };
  198. class NarrowX24: Wide
  199. {
  200. opticsDisplayName = "NFOV";
  201. initFov="0.42/24";//"(30 / 120)";
  202. minFov="0.42/24";//"(30 / 120)";
  203. maxFov="0.42/24";//"(30 / 120)";
  204. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  205. };
  206. class NarrowX36: Wide
  207. {
  208. opticsDisplayName = "NFOV";
  209. initFov="0.42/36";//"(30 / 120)";
  210. minFov="0.42/36";//"(30 / 120)";
  211. maxFov="0.42/36";//"(30 / 120)";
  212. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  213. };
  214. class NarrowX48: Wide
  215. {
  216. opticsDisplayName = "NFOV";
  217. initFov="0.42/48";//"(30 / 120)";
  218. minFov="0.42/48";//"(30 / 120)";
  219. maxFov="0.42/48";//"(30 / 120)";
  220. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  221. };
  222. class NarrowX60: Wide
  223. {
  224. opticsDisplayName = "NFOV";
  225. initFov="0.42/60";//"(30 / 120)";
  226. minFov="0.42/60";//"(30 / 120)";
  227. maxFov="0.42/60";//"(30 / 120)";
  228. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  229. };
  230. class NarrowX80: Wide
  231. {
  232. opticsDisplayName = "NFOV";
  233. initFov="0.42/80";//"(30 / 120)";
  234. minFov="0.42/80";//"(30 / 120)";
  235. maxFov="0.42/80";//"(30 / 120)";
  236. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  237. };
  238. class NarrowX100: Wide
  239. {
  240. opticsDisplayName = "NFOV";
  241. initFov="0.42/100";//"(30 / 120)";
  242. minFov="0.42/100";//"(30 / 120)";
  243. maxFov="0.42/100";//"(30 / 120)";
  244. gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  245. };
  246. showMiniMapInOptics = 1;
  247. showUAVViewInOptics = 0;
  248. showSlingLoadManagerInOptics = 0;
  249. };
  250. minTurn = -190;
  251. maxTurn = 180;
  252. initTurn = 0;
  253. minElev = -10;
  254. maxElev = 90;
  255. initElev = 0;
  256. maxXRotSpeed = 0.3;
  257. maxYRotSpeed = 0.3;
  258. pilotOpticsShowCursor = 1;
  259. controllable = 1;
  260. };
  261. class EventHandlers
  262. {
  263. class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base
  264. {};
  265. };
  266. class Components:Components
  267. {};
  268. class GunClouds:GunClouds
  269. {};
  270. class GunFire:GunFire
  271. {};
  272. class HitPoints:HitPoints
  273. {};
  274. class MGunClouds:MGunClouds
  275. {};
  276. class OpticsIn:OpticsIn
  277. {};
  278. class OpticsOut:OpticsOut
  279. {};
  280. class Reflectors:Reflectors
  281. {};
  282. class TurnIn:TurnIn
  283. {};
  284. class TurnOut:TurnOut
  285. {};
  286. class Turrets:Turrets
  287. {
  288. class MainTurret:MainTurret
  289. {};
  290. };
  291. class TurretSpec:TurretSpec
  292. {};
  293. class ViewGunner:ViewGunner
  294. {};
  295. class ViewOptics:ViewOptics
  296. {};
  297. };
  298. class macro_new_vehicle(drone,razor_stealth_fixedwing): macro_new_vehicle(drone,rep_stealth_fixedwing)
  299. {
  300. displayname = "GAR Phantom (Razor)";
  301. hiddenSelectionsTextures[] = {"\RD501_Vehicles\textures\sentinel\phantom_fuselage_01_razor_co.paa",""};
  302. };
  303. class macro_new_vehicle(drone,razor_recon_bag):JLTS_UAV_prowler_gar_backpack
  304. {
  305. displayName="Hummingbird Recon Drone";
  306. hiddenSelectionsTextures[]=
  307. {
  308. "\RD501_Vehicles\air\drones\Clone_backpack_uav.paa"
  309. };
  310. class assembleInfo: assembleInfo
  311. {
  312. displayName="Hummingbird Drone Bag";
  313. assembleTo = macro_new_vehicle(drone,razor_recon)
  314. };
  315. };
  316. class macro_new_vehicle(blufor,eweb_bag): JLTS_UAV_prowler_gar_backpack
  317. {
  318. scope = 2;
  319. displayName = "E-WEB Bag";
  320. descriptionShort = "E-WEB Bag";
  321. side = 0;
  322. //faction = "RD501FactionOpfor";
  323. picture = "\MRC\JLTS\characters\CloneArmor\data\ui\Clone_backpack_ui_ca.paa";
  324. model = "\MRC\JLTS\characters\CloneArmor\CloneBackpack.p3d";
  325. hiddenSelections[] = {"camo1"};
  326. hiddenSelectionsTextures[]=
  327. {
  328. "\RD501_Vehicles\air\drones\Clone_backpack_uav.paa"
  329. };
  330. maximumLoad = 0;
  331. mass = 300;
  332. class assembleInfo: assembleInfo
  333. {
  334. base = "";
  335. displayName = "E-WEB";
  336. assembleTo = macro_new_vehicle(e_web,cis);
  337. };
  338. };
  339. class macro_new_vehicle(drone,razor_recon): JLTS_UAV_prowler_gar
  340. {
  341. displayName = "Hummingbird Recon Drone"
  342. faction = macro_republic_faction
  343. scope=2;
  344. forceInGarage = 1;
  345. altFullForce = 1000;
  346. altNoForce = 1100;
  347. hiddenSelectionsTextures[]=
  348. {
  349. "\RD501_Vehicles\air\drones\prowler_co.paa"
  350. };
  351. class assembleInfo
  352. {
  353. dissasembleTo[]=
  354. {
  355. macro_new_vehicle(drone,razor_recon_bag)
  356. };
  357. };
  358. };
  359. class macro_new_vehicle(drone,razor_medical): B_UAV_06_F
  360. {
  361. displayName = "Prime Medical Drone"
  362. faction = macro_republic_faction
  363. scope=2;
  364. forceInGarage = 1;
  365. altFullForce = 1000;
  366. altNoForce = 1100;
  367. hiddenSelectionsTextures[]=
  368. {
  369. "\RD501_Vehicles\air\drones\data\b_uav_06_medical_co.paa"
  370. };
  371. typicalCargo[]=
  372. {
  373. ""
  374. };
  375. class TransportItems
  376. {
  377. #include "medical_drone_items.hpp"
  378. };
  379. };
  380. class macro_new_vehicle(drone,razor_ammo): B_UAV_06_F
  381. {
  382. displayName = "Prime Ammo Drone"
  383. faction = macro_republic_faction
  384. scope=2;
  385. forceInGarage = 1;
  386. altFullForce = 1000;
  387. altNoForce = 1100;
  388. hiddenSelectionsTextures[]=
  389. {
  390. "\RD501_Vehicles\air\drones\data\b_uav_06_ammo_co.paa"
  391. };
  392. typicalCargo[]=
  393. {
  394. ""
  395. };
  396. class TransportItems{};
  397. class TransportMagazines
  398. {
  399. #include"ammo_drone_mag.hpp"
  400. };
  401. };
  402. };