config.cpp 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504
  1. //Get this addons macro
  2. //get the macro for the air macro_patch_name(vehicles)
  3. //get generlized macros
  4. #include "../../../RD501_main/config_macros.hpp"
  5. //General name of the vehicle
  6. #define vehicle_addon Praetorian_Variant
  7. #define patch_name MODNAME##vehicle_addon##_Patches
  8. #define vehicle_classname MODNAME##_##vehicle_addon
  9. #define macro_new_prea_class(name) vehicle_classname##_##name
  10. class CfgPatches
  11. {
  12. class macro_patch_name(Praetorian_Variants)
  13. {
  14. addonRootClass=macro_patch_name(vehicles)
  15. requiredAddons[]=
  16. {
  17. macro_patch_name(vehicles)
  18. };
  19. requiredVersion=0.1;
  20. units[]=
  21. {
  22. macro_new_vehicle(Praetorian_Variant,normal),
  23. macro_new_vehicle(Praetorian_Variant,blufor),
  24. macro_new_vehicle(Praetorian_Variant,opfor),
  25. macro_new_vehicle(Praetorian_Variant,rebel),
  26. macro_new_vehicle(Praetorian_Variant,republic),
  27. macro_new_vehicle(Praetorian_Variant,imperial),
  28. macro_new_vehicle(Praetorian_Variant,Ion),
  29. macro_new_vehicle(Praetorian_Variant,Purple)
  30. };
  31. weapons[]=
  32. {
  33. };
  34. };
  35. };
  36. #include "../../common/sensor_templates.hpp"
  37. class DefaultEventhandlers;
  38. class CfgVehicles
  39. {
  40. class StaticMGWeapon;
  41. class AAA_System_01_base_F:StaticMGWeapon
  42. {
  43. class Turrets;
  44. };
  45. class B_AAA_System_01_F:AAA_System_01_base_F
  46. {
  47. class Components;
  48. class Turrets: Turrets
  49. {
  50. class MainTurret;
  51. };
  52. };
  53. class macro_new_vehicle(Praetorian_Variant,normal): B_AAA_System_01_F
  54. {
  55. scope = 2;
  56. forceInGarage=1;
  57. allowTabLock = 1;
  58. canUseScanner = 1;
  59. driverCanSee = 31;
  60. gunnerCanSee = 31;
  61. commanderCanSee = 31;
  62. canLock = 2;
  63. cmImmunity = 1;
  64. lockAcquire = 0;
  65. weaponLockDelay = 0;
  66. radarType = 2;
  67. irScanToEyeFactor = 1;
  68. irScanRangeMin = 0;
  69. irScanRangeMax = 100000;
  70. irScanGround = 1;
  71. laserScanner = 1;
  72. weaponLockSystem = "0";
  73. nvScanner = 1;
  74. radarTarget = 0;
  75. receiveRemoteTargets = true;
  76. reportRemoteTargets = true;
  77. reportOwnPosition = true;
  78. scopecurator = 2;
  79. displayName = "CIS B.E.A.R.D AA";
  80. side = 0;
  81. editorPreview = "";
  82. author = "RD501";
  83. faction = macro_cis_faction
  84. editorSubcategory = macro_editor_cat(AA)
  85. vehicleClass = macro_editor_vehicle_type(AA)
  86. //faction = "RD501FactionOpfor";
  87. hiddenSelectionsTextures[] =
  88. {
  89. "awing\t_awing_03_cw.paa",
  90. "awing\t_awing_03_cw.paa"
  91. };
  92. class Turrets: Turrets
  93. {
  94. class MainTurret: MainTurret
  95. {
  96. canUseScanner = 1;
  97. weapons[] = {
  98. macro_new_weapon(generic,preatorian_gun_opfor)
  99. };
  100. magazines[] = {
  101. macro_new_mag(generic_aircraft_gun_preatorian,1000),
  102. macro_new_mag(generic_aircraft_gun_preatorian,1000)
  103. };
  104. };
  105. };
  106. class components: Components
  107. {
  108. class SensorsManagerComponent
  109. {
  110. class components
  111. {
  112. class IRSensorComponent: SensorTemplateIR
  113. {
  114. typeRecognitionDistance = 16000;
  115. angleRangeHorizontal = 360;
  116. angleRangeVertical = 360;
  117. groundNoiseDistanceCoef = -1;
  118. maxGroundNoiseDistance = 1600;
  119. minSpeedThreshold = 0;
  120. maxSpeedThreshold = 2000;
  121. maxFogSeeThrough= -1;
  122. nightRangeCoef = 1;
  123. class AirTarget
  124. {
  125. minRange = 0;
  126. maxRange = 16000;
  127. objectDistanceLimitCoef = -1;
  128. viewDistanceLimitCoef = -1;
  129. maxFogSeeThrough= -1;
  130. nightRangeCoef = 1;
  131. };
  132. class GroundTarget
  133. {
  134. minRange = 0;
  135. maxRange = 16000;
  136. objectDistanceLimitCoef = -1;
  137. viewDistanceLimitCoef = -1;
  138. maxFogSeeThrough= -1;
  139. nightRangeCoef = 1;
  140. };
  141. };
  142. class NVSensorComponent: SensorTemplateNV
  143. {
  144. typeRecognitionDistance = 16000;
  145. angleRangeHorizontal = 360;
  146. angleRangeVertical = 360;
  147. groundNoiseDistanceCoef = -1;
  148. maxGroundNoiseDistance = 1600;
  149. minSpeedThreshold = 0;
  150. maxSpeedThreshold = 2000;
  151. class AirTarget
  152. {
  153. minRange = 0;
  154. maxRange = 16000;
  155. objectDistanceLimitCoef = -1;
  156. viewDistanceLimitCoef = -1;
  157. };
  158. class GroundTarget
  159. {
  160. minRange = 0;
  161. maxRange = 16000;
  162. objectDistanceLimitCoef = -1;
  163. viewDistanceLimitCoef = -1;
  164. };
  165. };
  166. class LaserSensorComponent: SensorTemplateLaser
  167. {
  168. typeRecognitionDistance = 16000;
  169. angleRangeHorizontal = 360;
  170. angleRangeVertical = 360;
  171. groundNoiseDistanceCoef = -1;
  172. maxGroundNoiseDistance = 1600;
  173. minSpeedThreshold = 0;
  174. maxSpeedThreshold = 2000;
  175. class AirTarget
  176. {
  177. minRange = 0;
  178. maxRange = 16000;
  179. objectDistanceLimitCoef = -1;
  180. viewDistanceLimitCoef = -1;
  181. };
  182. class GroundTarget
  183. {
  184. minRange = 0;
  185. maxRange = 16000;
  186. objectDistanceLimitCoef = -1;
  187. viewDistanceLimitCoef = -1;
  188. };
  189. };
  190. class ActiveRadarSensorComponent: SensorTemplateActiveRadar
  191. {
  192. typeRecognitionDistance = 16000;
  193. angleRangeHorizontal = 360;
  194. angleRangeVertical = 360;
  195. groundNoiseDistanceCoef = -1;
  196. maxGroundNoiseDistance = 1600;
  197. minSpeedThreshold = 0;
  198. maxSpeedThreshold = 2000;
  199. class AirTarget
  200. {
  201. minRange = 0;
  202. maxRange = 16000;
  203. objectDistanceLimitCoef = -1;
  204. viewDistanceLimitCoef = -1;
  205. };
  206. class GroundTarget
  207. {
  208. minRange = 0;
  209. maxRange = 16000;
  210. objectDistanceLimitCoef = -1;
  211. viewDistanceLimitCoef = -1;
  212. };
  213. };
  214. class PassiveRadarSensorComponent: SensorTemplatePassiveRadar
  215. {
  216. typeRecognitionDistance = 16000;
  217. angleRangeHorizontal = 360;
  218. angleRangeVertical = 360;
  219. groundNoiseDistanceCoef = -1;
  220. maxGroundNoiseDistance = 1600;
  221. minSpeedThreshold = 0;
  222. maxSpeedThreshold = 2000;
  223. class AirTarget
  224. {
  225. minRange = 0;
  226. maxRange = 16000;
  227. objectDistanceLimitCoef = -1;
  228. viewDistanceLimitCoef = -1;
  229. };
  230. class GroundTarget
  231. {
  232. minRange = 0;
  233. maxRange = 16000;
  234. objectDistanceLimitCoef = -1;
  235. viewDistanceLimitCoef = -1;
  236. };
  237. };
  238. class VisualSensorComponent: SensorTemplateVisual
  239. {
  240. typeRecognitionDistance = 16000;
  241. angleRangeHorizontal = 360;
  242. angleRangeVertical = 360;
  243. groundNoiseDistanceCoef = -1;
  244. maxGroundNoiseDistance = 1600;
  245. minSpeedThreshold = 0;
  246. maxSpeedThreshold = 2000;
  247. class AirTarget
  248. {
  249. minRange = 0;
  250. maxRange = 16000;
  251. objectDistanceLimitCoef = -1;
  252. viewDistanceLimitCoef = -1;
  253. };
  254. class GroundTarget
  255. {
  256. minRange = 0;
  257. maxRange = 16000;
  258. objectDistanceLimitCoef = -1;
  259. viewDistanceLimitCoef = -1;
  260. };
  261. };
  262. class ManSensorComponent: SensorTemplateMan
  263. {
  264. typeRecognitionDistance = 16000;
  265. angleRangeHorizontal = 360;
  266. angleRangeVertical = 360;
  267. groundNoiseDistanceCoef = -1;
  268. maxGroundNoiseDistance = 1600;
  269. minSpeedThreshold = 0;
  270. maxSpeedThreshold = 2000;
  271. class AirTarget
  272. {
  273. minRange = 0;
  274. maxRange = 16000;
  275. objectDistanceLimitCoef = -1;
  276. viewDistanceLimitCoef = -1;
  277. };
  278. class GroundTarget
  279. {
  280. minRange = 0;
  281. maxRange = 16000;
  282. objectDistanceLimitCoef = -1;
  283. viewDistanceLimitCoef = -1;
  284. };
  285. };
  286. class DataLinkSensorComponent: SensorTemplateDataLink
  287. {
  288. typeRecognitionDistance = 16000;
  289. angleRangeHorizontal = 360;
  290. angleRangeVertical = 360;
  291. groundNoiseDistanceCoef = -1;
  292. maxGroundNoiseDistance = 1600;
  293. minSpeedThreshold = 0;
  294. maxSpeedThreshold = 2000;
  295. class AirTarget
  296. {
  297. minRange = 0;
  298. maxRange = 16000;
  299. objectDistanceLimitCoef = -1;
  300. viewDistanceLimitCoef = -1;
  301. };
  302. class GroundTarget
  303. {
  304. minRange = 0;
  305. maxRange = 16000;
  306. objectDistanceLimitCoef = -1;
  307. viewDistanceLimitCoef = -1;
  308. };
  309. };
  310. };
  311. };
  312. };
  313. class EventHandlers :DefaultEventhandlers{};
  314. };
  315. class macro_new_vehicle(Praetorian_Variant,blufor) : macro_new_vehicle(Praetorian_Variant,normal)
  316. {
  317. side = 1;
  318. displayName = "Laser Cannons (Blufor)";
  319. faction = macro_republic_faction
  320. editorSubcategory = macro_editor_cat(AA)
  321. vehicleClass = macro_editor_vehicle_type(AA)
  322. //faction = "RD501Faction";
  323. hiddenSelectionsTextures[] =
  324. {
  325. macro_vehicle_textures\Fast_Infantry_Transport\FAT.paa,
  326. macro_vehicle_textures\Fast_Infantry_Transport\FAT.paa
  327. };
  328. class Turrets: Turrets
  329. {
  330. class MainTurret: MainTurret
  331. {
  332. weapons[] = {
  333. macro_new_weapon(generic,preatorian_gun_opfor)
  334. };
  335. magazines[] = {
  336. macro_new_mag(generic_aircraft_gun_preatorian,1000),
  337. macro_new_mag(generic_aircraft_gun_preatorian,1000)
  338. };
  339. };
  340. };
  341. };
  342. class macro_new_vehicle(Praetorian_Variant,opfor): macro_new_vehicle(Praetorian_Variant,normal)
  343. {
  344. displayName = "Laser Cannons (opfor)";
  345. faction = "";
  346. scope = 1;//?
  347. scopecurator = 1;
  348. weaponLockSystem = "2+4+8";
  349. hiddenSelectionsTextures[] =
  350. {
  351. "awing\t_awing_03_cw.paa",
  352. "awing\t_awing_03_cw.paa"
  353. };
  354. class Turrets: Turrets
  355. {
  356. class MainTurret: MainTurret
  357. {
  358. weapons[] = {
  359. macro_new_weapon(generic,aircraft_laser)
  360. };
  361. magazines[] = {
  362. macro_new_mag(generic_aircraft_gun,1000),
  363. macro_new_mag(generic_aircraft_gun,1000)
  364. };
  365. minTurn=-45;
  366. maxTurn=45;
  367. minElev = -45;
  368. maxElev = +45;
  369. aiRateOfFire = 0.0001;
  370. maxHorizontalRotSpeed = 3000;
  371. maxVerticalRotSpeed = 3000;
  372. stabilizedInAxes = 4;
  373. };
  374. };
  375. };
  376. class macro_new_vehicle(Praetorian_Variant,rebel): macro_new_vehicle(Praetorian_Variant,normal)//
  377. {
  378. side = 1;
  379. displayName = "Laser Cannons (rebel)";
  380. faction = macro_rebel_faction
  381. editorSubcategory = macro_editor_cat(AA)
  382. vehicleClass = macro_editor_vehicle_type(AA)
  383. class Turrets: Turrets
  384. {
  385. class MainTurret: MainTurret
  386. {
  387. weapons[] = {
  388. macro_new_weapon(generic,rebel_aircraft_laser)
  389. };
  390. magazines[] = {
  391. macro_new_mag(generic_aircraft_gun,1000),
  392. macro_new_mag(generic_aircraft_gun,1000)
  393. };
  394. };
  395. };
  396. };
  397. class macro_new_vehicle(Praetorian_Variant,republic): macro_new_vehicle(Praetorian_Variant,normal)//
  398. {
  399. displayName = "Laser Cannons (republic)";
  400. side = 1;
  401. faction = macro_republic_faction
  402. editorSubcategory = macro_editor_cat(AA)
  403. vehicleClass = macro_editor_vehicle_type(AA)
  404. class Turrets: Turrets
  405. {
  406. class MainTurret: MainTurret
  407. {
  408. weapons[] = {
  409. macro_new_weapon(generic,tie_aircraft_laser)
  410. };
  411. magazines[] = {
  412. macro_new_mag(generic_aircraft_gun_green,1000),
  413. macro_new_mag(generic_aircraft_gun_green,1000)
  414. };
  415. };
  416. };
  417. };
  418. class macro_new_vehicle(Praetorian_Variant,imperial): macro_new_vehicle(Praetorian_Variant,normal)//
  419. {
  420. displayName = "Laser Cannons (Imperial)";
  421. faction = macro_empire_faction
  422. editorSubcategory = macro_editor_cat(AA)
  423. vehicleClass = macro_editor_vehicle_type(AA)
  424. class Turrets: Turrets
  425. {
  426. class MainTurret: MainTurret
  427. {
  428. weapons[] = {
  429. macro_new_weapon(generic,tie_aircraft_laser)
  430. };
  431. magazines[] = {
  432. macro_new_mag(generic_aircraft_gun_green,1000),
  433. macro_new_mag(generic_aircraft_gun_green,1000)
  434. };
  435. };
  436. };
  437. };
  438. class macro_new_vehicle(Praetorian_Variant,Ion): macro_new_vehicle(Praetorian_Variant,normal)//
  439. {
  440. side = 1;
  441. faction = macro_resistance_faction
  442. editorSubcategory = macro_editor_cat(AA)
  443. vehicleClass = macro_editor_vehicle_type(AA)
  444. displayName = "Laser Cannons (I.O.N)";
  445. class Turrets: Turrets
  446. {
  447. class MainTurret: MainTurret
  448. {
  449. weapons[] = {
  450. macro_new_weapon(generic,ion_aircraft_laser)
  451. };
  452. magazines[] = {
  453. macro_new_mag(generic_aircraft_gun_blue,1000),
  454. macro_new_mag(generic_aircraft_gun_blue,1000)
  455. };
  456. };
  457. };
  458. };
  459. class macro_new_vehicle(Praetorian_Variant,Purple): macro_new_vehicle(Praetorian_Variant,normal)//
  460. {
  461. displayName = "Laser Cannons (PURPLEE)";
  462. faction = macro_cis_faction
  463. editorSubcategory = macro_editor_cat(AA)
  464. vehicleClass = macro_editor_vehicle_type(AA)
  465. class Turrets: Turrets
  466. {
  467. class MainTurret: MainTurret
  468. {
  469. weapons[] = {
  470. macro_new_weapon(generic,purple_aircraft_laser)
  471. };
  472. magazines[] = {
  473. macro_new_mag(generic_aircraft_gun_purple,1000),
  474. macro_new_mag(generic_aircraft_gun_purple,1000)
  475. };
  476. };
  477. };
  478. };
  479. };