config.cpp 11 KB

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