config.cpp 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491
  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. radarTarget = 0;
  74. receiveRemoteTargets = true;
  75. reportRemoteTargets = true;
  76. reportOwnPosition = true;
  77. scopecurator = 2;
  78. displayName = "CIS B.E.A.R.D AA";
  79. side = 0;
  80. editorPreview = "";
  81. author = "RD501";
  82. visualTarget = 0;
  83. visualTargetSize = 0;
  84. reportOwnPosition = true;
  85. radarTargetSize = 0;
  86. radarTarget = 0;
  87. nvTarget = 0;
  88. laserTarget = 0;
  89. laserScanner = 0;
  90. irTarget = 0;
  91. irTargetSize = 0;
  92. countermeasureActivationRadius = 2000;
  93. faction = macro_cis_faction
  94. editorSubcategory = macro_editor_cat(AA)
  95. vehicleClass = macro_editor_vehicle_type(AA)
  96. //faction = "RD501FactionOpfor";
  97. hiddenSelectionsTextures[] =
  98. {
  99. "awing\t_awing_03_cw.paa",
  100. "awing\t_awing_03_cw.paa"
  101. };
  102. class Turrets: Turrets
  103. {
  104. class MainTurret: MainTurret
  105. {
  106. canUseScanner = 1;
  107. weapons[] = {
  108. macro_new_weapon(generic,preatorian_gun_opfor)
  109. };
  110. magazines[] = {
  111. macro_new_mag(generic_aircraft_gun_preatorian,1000),
  112. macro_new_mag(generic_aircraft_gun_preatorian,1000)
  113. };
  114. };
  115. };
  116. class components: Components
  117. {
  118. class SensorsManagerComponent
  119. {
  120. class components
  121. {
  122. class IRSensorComponent: SensorTemplateIR
  123. {
  124. typeRecognitionDistance = 16000;
  125. angleRangeHorizontal = 360;
  126. angleRangeVertical = 360;
  127. groundNoiseDistanceCoef = -1;
  128. maxGroundNoiseDistance = 1600;
  129. minSpeedThreshold = 0;
  130. maxSpeedThreshold = 2000;
  131. maxFogSeeThrough= -1;
  132. nightRangeCoef = 1;
  133. class AirTarget
  134. {
  135. minRange = 0;
  136. maxRange = 16000;
  137. objectDistanceLimitCoef = -1;
  138. viewDistanceLimitCoef = -1;
  139. maxFogSeeThrough= -1;
  140. nightRangeCoef = 1;
  141. };
  142. class GroundTarget
  143. {
  144. minRange = 0;
  145. maxRange = 16000;
  146. objectDistanceLimitCoef = -1;
  147. viewDistanceLimitCoef = -1;
  148. maxFogSeeThrough= -1;
  149. nightRangeCoef = 1;
  150. };
  151. };
  152. class NVSensorComponent: SensorTemplateNV
  153. {
  154. typeRecognitionDistance = 16000;
  155. angleRangeHorizontal = 360;
  156. angleRangeVertical = 360;
  157. groundNoiseDistanceCoef = -1;
  158. maxGroundNoiseDistance = 1600;
  159. minSpeedThreshold = 0;
  160. maxSpeedThreshold = 2000;
  161. class AirTarget
  162. {
  163. minRange = 0;
  164. maxRange = 16000;
  165. objectDistanceLimitCoef = -1;
  166. viewDistanceLimitCoef = -1;
  167. };
  168. class GroundTarget
  169. {
  170. minRange = 0;
  171. maxRange = 16000;
  172. objectDistanceLimitCoef = -1;
  173. viewDistanceLimitCoef = -1;
  174. };
  175. };
  176. class LaserSensorComponent: SensorTemplateLaser
  177. {
  178. typeRecognitionDistance = 16000;
  179. angleRangeHorizontal = 360;
  180. angleRangeVertical = 360;
  181. groundNoiseDistanceCoef = -1;
  182. maxGroundNoiseDistance = 1600;
  183. minSpeedThreshold = 0;
  184. maxSpeedThreshold = 2000;
  185. class AirTarget
  186. {
  187. minRange = 0;
  188. maxRange = 16000;
  189. objectDistanceLimitCoef = -1;
  190. viewDistanceLimitCoef = -1;
  191. };
  192. class GroundTarget
  193. {
  194. minRange = 0;
  195. maxRange = 16000;
  196. objectDistanceLimitCoef = -1;
  197. viewDistanceLimitCoef = -1;
  198. };
  199. };
  200. class PassiveRadarSensorComponent: SensorTemplatePassiveRadar
  201. {
  202. typeRecognitionDistance = 16000;
  203. angleRangeHorizontal = 360;
  204. angleRangeVertical = 360;
  205. groundNoiseDistanceCoef = -1;
  206. maxGroundNoiseDistance = 1600;
  207. minSpeedThreshold = 0;
  208. maxSpeedThreshold = 2000;
  209. class AirTarget
  210. {
  211. minRange = 0;
  212. maxRange = 16000;
  213. objectDistanceLimitCoef = -1;
  214. viewDistanceLimitCoef = -1;
  215. };
  216. class GroundTarget
  217. {
  218. minRange = 0;
  219. maxRange = 16000;
  220. objectDistanceLimitCoef = -1;
  221. viewDistanceLimitCoef = -1;
  222. };
  223. };
  224. class VisualSensorComponent: SensorTemplateVisual
  225. {
  226. typeRecognitionDistance = 16000;
  227. angleRangeHorizontal = 360;
  228. angleRangeVertical = 360;
  229. groundNoiseDistanceCoef = -1;
  230. maxGroundNoiseDistance = 1600;
  231. minSpeedThreshold = 0;
  232. maxSpeedThreshold = 2000;
  233. class AirTarget
  234. {
  235. minRange = 0;
  236. maxRange = 16000;
  237. objectDistanceLimitCoef = -1;
  238. viewDistanceLimitCoef = -1;
  239. };
  240. class GroundTarget
  241. {
  242. minRange = 0;
  243. maxRange = 16000;
  244. objectDistanceLimitCoef = -1;
  245. viewDistanceLimitCoef = -1;
  246. };
  247. };
  248. class ManSensorComponent: SensorTemplateMan
  249. {
  250. typeRecognitionDistance = 16000;
  251. angleRangeHorizontal = 360;
  252. angleRangeVertical = 360;
  253. groundNoiseDistanceCoef = -1;
  254. maxGroundNoiseDistance = 1600;
  255. minSpeedThreshold = 0;
  256. maxSpeedThreshold = 2000;
  257. class AirTarget
  258. {
  259. minRange = 0;
  260. maxRange = 16000;
  261. objectDistanceLimitCoef = -1;
  262. viewDistanceLimitCoef = -1;
  263. };
  264. class GroundTarget
  265. {
  266. minRange = 0;
  267. maxRange = 16000;
  268. objectDistanceLimitCoef = -1;
  269. viewDistanceLimitCoef = -1;
  270. };
  271. };
  272. class DataLinkSensorComponent: SensorTemplateDataLink
  273. {
  274. typeRecognitionDistance = 16000;
  275. angleRangeHorizontal = 360;
  276. angleRangeVertical = 360;
  277. groundNoiseDistanceCoef = -1;
  278. maxGroundNoiseDistance = 1600;
  279. minSpeedThreshold = 0;
  280. maxSpeedThreshold = 2000;
  281. class AirTarget
  282. {
  283. minRange = 0;
  284. maxRange = 16000;
  285. objectDistanceLimitCoef = -1;
  286. viewDistanceLimitCoef = -1;
  287. };
  288. class GroundTarget
  289. {
  290. minRange = 0;
  291. maxRange = 16000;
  292. objectDistanceLimitCoef = -1;
  293. viewDistanceLimitCoef = -1;
  294. };
  295. };
  296. };
  297. };
  298. };
  299. class EventHandlers :DefaultEventhandlers{};
  300. };
  301. class macro_new_vehicle(Praetorian_Variant,blufor) : macro_new_vehicle(Praetorian_Variant,normal)
  302. {
  303. side = 1;
  304. displayName = "Laser Turret (AA)";
  305. faction = macro_republic_faction
  306. //editorSubcategory = macro_editor_cat(AA)
  307. //vehicleClass = macro_editor_vehicle_type(AA)
  308. //faction = "RD501Faction";
  309. hiddenSelectionsTextures[] =
  310. {
  311. macro_vehicle_textures\Fast_Infantry_Transport\FAT.paa,
  312. macro_vehicle_textures\Fast_Infantry_Transport\FAT.paa
  313. };
  314. class Turrets: Turrets
  315. {
  316. class MainTurret: MainTurret
  317. {
  318. weapons[] = {
  319. macro_new_weapon(generic,preatorian_gun_opfor)
  320. };
  321. magazines[] = {
  322. macro_new_mag(generic_aircraft_gun_preatorian,1000),
  323. macro_new_mag(generic_aircraft_gun_preatorian,1000)
  324. };
  325. };
  326. };
  327. };
  328. class macro_new_vehicle(Praetorian_Variant,opfor): macro_new_vehicle(Praetorian_Variant,normal)
  329. {
  330. displayName = "Laser Cannons (opfor)";
  331. faction = "";
  332. scope = 1;//?
  333. scopecurator = 1;
  334. weaponLockSystem = "2+4+8";
  335. hiddenSelectionsTextures[] =
  336. {
  337. "awing\t_awing_03_cw.paa",
  338. "awing\t_awing_03_cw.paa"
  339. };
  340. class Turrets: Turrets
  341. {
  342. class MainTurret: MainTurret
  343. {
  344. weapons[] = {
  345. macro_new_weapon(generic,aircraft_laser)
  346. };
  347. magazines[] = {
  348. macro_new_mag(generic_aircraft_gun,1000),
  349. macro_new_mag(generic_aircraft_gun,1000)
  350. };
  351. minTurn=-45;
  352. maxTurn=45;
  353. minElev = -45;
  354. maxElev = +45;
  355. aiRateOfFire = 0.0001;
  356. maxHorizontalRotSpeed = 3000;
  357. maxVerticalRotSpeed = 3000;
  358. stabilizedInAxes = 4;
  359. };
  360. };
  361. };
  362. class macro_new_vehicle(Praetorian_Variant,rebel): macro_new_vehicle(Praetorian_Variant,normal)//
  363. {
  364. side = 1;
  365. displayName = "Laser Cannons (rebel)";
  366. faction = macro_rebel_faction
  367. editorSubcategory = macro_editor_cat(AA)
  368. vehicleClass = macro_editor_vehicle_type(AA)
  369. class Turrets: Turrets
  370. {
  371. class MainTurret: MainTurret
  372. {
  373. weapons[] = {
  374. macro_new_weapon(generic,rebel_aircraft_laser)
  375. };
  376. magazines[] = {
  377. macro_new_mag(generic_aircraft_gun,1000),
  378. macro_new_mag(generic_aircraft_gun,1000)
  379. };
  380. };
  381. };
  382. };
  383. class macro_new_vehicle(Praetorian_Variant,republic): macro_new_vehicle(Praetorian_Variant,normal)//
  384. {
  385. displayName = "Laser Cannons (republic)";
  386. side = 1;
  387. faction =
  388. editorSubcategory = macro_editor_cat(AA)
  389. vehicleClass = macro_editor_vehicle_type(AA)
  390. class Turrets: Turrets
  391. {
  392. class MainTurret: MainTurret
  393. {
  394. weapons[] = {
  395. macro_new_weapon(generic,tie_aircraft_laser)
  396. };
  397. magazines[] = {
  398. macro_new_mag(generic_aircraft_gun_green,1000),
  399. macro_new_mag(generic_aircraft_gun_green,1000)
  400. };
  401. };
  402. };
  403. };
  404. class macro_new_vehicle(Praetorian_Variant,imperial): macro_new_vehicle(Praetorian_Variant,normal)//
  405. {
  406. displayName = "Laser Cannons (Imperial)";
  407. faction = macro_empire_faction
  408. editorSubcategory = macro_editor_cat(AA)
  409. vehicleClass = macro_editor_vehicle_type(AA)
  410. class Turrets: Turrets
  411. {
  412. class MainTurret: MainTurret
  413. {
  414. weapons[] = {
  415. macro_new_weapon(generic,tie_aircraft_laser)
  416. };
  417. magazines[] = {
  418. macro_new_mag(generic_aircraft_gun_green,1000),
  419. macro_new_mag(generic_aircraft_gun_green,1000)
  420. };
  421. };
  422. };
  423. };
  424. class macro_new_vehicle(Praetorian_Variant,Ion): macro_new_vehicle(Praetorian_Variant,normal)//
  425. {
  426. side = 1;
  427. faction = macro_resistance_faction
  428. editorSubcategory = macro_editor_cat(AA)
  429. vehicleClass = macro_editor_vehicle_type(AA)
  430. displayName = "Laser Cannons (I.O.N)";
  431. class Turrets: Turrets
  432. {
  433. class MainTurret: MainTurret
  434. {
  435. weapons[] = {
  436. macro_new_weapon(generic,ion_aircraft_laser)
  437. };
  438. magazines[] = {
  439. macro_new_mag(generic_aircraft_gun_blue,1000),
  440. macro_new_mag(generic_aircraft_gun_blue,1000)
  441. };
  442. };
  443. };
  444. };
  445. class macro_new_vehicle(Praetorian_Variant,Purple): macro_new_vehicle(Praetorian_Variant,normal)//
  446. {
  447. displayName = "Laser Cannons (PURPLEE)";
  448. faction = "";
  449. // editorSubcategory = macro_editor_cat(AA)
  450. // vehicleClass = macro_editor_vehicle_type(AA)
  451. class Turrets: Turrets
  452. {
  453. class MainTurret: MainTurret
  454. {
  455. weapons[] = {
  456. macro_new_weapon(generic,purple_aircraft_laser)
  457. };
  458. magazines[] = {
  459. macro_new_mag(generic_aircraft_gun_purple,1000),
  460. macro_new_mag(generic_aircraft_gun_purple,1000)
  461. };
  462. };
  463. };
  464. };
  465. };