config.cpp 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441
  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,republic),
  26. macro_new_vehicle(Praetorian_Variant,imperial),
  27. macro_new_vehicle(Praetorian_Variant,Ion),
  28. macro_new_vehicle(Praetorian_Variant,Purple)
  29. };
  30. weapons[]=
  31. {
  32. };
  33. };
  34. };
  35. #include "../../common/sensor_templates.hpp"
  36. class DefaultEventhandlers;
  37. class CfgVehicles
  38. {
  39. class LandVehicle;
  40. class StaticWeapon: LandVehicle
  41. {
  42. class Turrets;
  43. };
  44. class StaticMGWeapon: StaticWeapon
  45. {
  46. class Turrets: Turrets
  47. {
  48. class MainTurret;
  49. };
  50. class Components;
  51. };
  52. class AAA_System_01_base_F:StaticMGWeapon
  53. {
  54. class Components:Components{};
  55. class Turrets: Turrets
  56. {
  57. class MainTurret:MainTurret{};
  58. };
  59. };
  60. class B_AAA_System_01_F:AAA_System_01_base_F
  61. {
  62. class Components:Components{};
  63. class Turrets: Turrets
  64. {
  65. class MainTurret:MainTurret{};
  66. };
  67. };
  68. class macro_new_vehicle(Praetorian_Variant,normal): B_AAA_System_01_F
  69. {
  70. scope = 2;
  71. forceInGarage=1;
  72. allowTabLock = 1;
  73. canUseScanner = 1;
  74. driverCanSee = 31;
  75. gunnerCanSee = 31;
  76. commanderCanSee = 31;
  77. canLock = 2;
  78. cmImmunity = 1;
  79. lockAcquire = 0;
  80. weaponLockDelay = 0;
  81. radarType = 2;
  82. irScanToEyeFactor = 1;
  83. irScanRangeMin = 0;
  84. irScanRangeMax = 100000;
  85. irScanGround = 1;
  86. laserScanner = 1;
  87. weaponLockSystem = "0";
  88. radarTarget = 0;
  89. receiveRemoteTargets = true;
  90. reportRemoteTargets = true;
  91. reportOwnPosition = true;
  92. scopecurator = 2;
  93. displayName = "CIS B.E.A.R.D AA";
  94. side = 0;
  95. editorPreview = "";
  96. author = "RD501";
  97. visualTarget = 0;
  98. visualTargetSize = 0;
  99. reportOwnPosition = true;
  100. radarTargetSize = 0;
  101. radarTarget = 0;
  102. nvTarget = 0;
  103. laserTarget = 0;
  104. laserScanner = 0;
  105. irTarget = 0;
  106. irTargetSize = 0;
  107. countermeasureActivationRadius = 2000;
  108. faction = macro_cis_faction
  109. editorSubcategory = macro_editor_cat(AA)
  110. vehicleClass = macro_editor_vehicle_type(AA)
  111. //faction = "RD501FactionOpfor";
  112. /*hiddenSelectionsTextures[] =
  113. {
  114. "awing\t_awing_03_cw.paa",
  115. "awing\t_awing_03_cw.paa"
  116. };*/
  117. class Turrets: Turrets
  118. {
  119. class MainTurret: MainTurret
  120. {
  121. canUseScanner = 1;
  122. weapons[] = {
  123. macro_new_weapon(generic,preatorian_gun_opfor)
  124. };
  125. magazines[] = {
  126. macro_new_mag(generic_aircraft_gun_preatorian,1000),
  127. macro_new_mag(generic_aircraft_gun_preatorian,1000)
  128. };
  129. };
  130. };
  131. class components: Components
  132. {
  133. class SensorsManagerComponent
  134. {
  135. class components
  136. {
  137. class IRSensorComponent: SensorTemplateIR
  138. {
  139. typeRecognitionDistance = 16000;
  140. angleRangeHorizontal = 360;
  141. angleRangeVertical = 360;
  142. groundNoiseDistanceCoef = -1;
  143. maxGroundNoiseDistance = 1600;
  144. minSpeedThreshold = 0;
  145. maxSpeedThreshold = 2000;
  146. maxFogSeeThrough= -1;
  147. nightRangeCoef = 1;
  148. class AirTarget
  149. {
  150. minRange = 0;
  151. maxRange = 16000;
  152. objectDistanceLimitCoef = -1;
  153. viewDistanceLimitCoef = -1;
  154. maxFogSeeThrough= -1;
  155. nightRangeCoef = 1;
  156. };
  157. class GroundTarget
  158. {
  159. minRange = 0;
  160. maxRange = 16000;
  161. objectDistanceLimitCoef = -1;
  162. viewDistanceLimitCoef = -1;
  163. maxFogSeeThrough= -1;
  164. nightRangeCoef = 1;
  165. };
  166. };
  167. class NVSensorComponent: SensorTemplateNV
  168. {
  169. typeRecognitionDistance = 16000;
  170. angleRangeHorizontal = 360;
  171. angleRangeVertical = 360;
  172. groundNoiseDistanceCoef = -1;
  173. maxGroundNoiseDistance = 1600;
  174. minSpeedThreshold = 0;
  175. maxSpeedThreshold = 2000;
  176. class AirTarget
  177. {
  178. minRange = 0;
  179. maxRange = 16000;
  180. objectDistanceLimitCoef = -1;
  181. viewDistanceLimitCoef = -1;
  182. };
  183. class GroundTarget
  184. {
  185. minRange = 0;
  186. maxRange = 16000;
  187. objectDistanceLimitCoef = -1;
  188. viewDistanceLimitCoef = -1;
  189. };
  190. };
  191. class LaserSensorComponent: SensorTemplateLaser
  192. {
  193. typeRecognitionDistance = 16000;
  194. angleRangeHorizontal = 360;
  195. angleRangeVertical = 360;
  196. groundNoiseDistanceCoef = -1;
  197. maxGroundNoiseDistance = 1600;
  198. minSpeedThreshold = 0;
  199. maxSpeedThreshold = 2000;
  200. class AirTarget
  201. {
  202. minRange = 0;
  203. maxRange = 16000;
  204. objectDistanceLimitCoef = -1;
  205. viewDistanceLimitCoef = -1;
  206. };
  207. class GroundTarget
  208. {
  209. minRange = 0;
  210. maxRange = 16000;
  211. objectDistanceLimitCoef = -1;
  212. viewDistanceLimitCoef = -1;
  213. };
  214. };
  215. class PassiveRadarSensorComponent: SensorTemplatePassiveRadar
  216. {
  217. typeRecognitionDistance = 16000;
  218. angleRangeHorizontal = 360;
  219. angleRangeVertical = 360;
  220. groundNoiseDistanceCoef = -1;
  221. maxGroundNoiseDistance = 1600;
  222. minSpeedThreshold = 0;
  223. maxSpeedThreshold = 2000;
  224. class AirTarget
  225. {
  226. minRange = 0;
  227. maxRange = 16000;
  228. objectDistanceLimitCoef = -1;
  229. viewDistanceLimitCoef = -1;
  230. };
  231. class GroundTarget
  232. {
  233. minRange = 0;
  234. maxRange = 16000;
  235. objectDistanceLimitCoef = -1;
  236. viewDistanceLimitCoef = -1;
  237. };
  238. };
  239. class VisualSensorComponent: SensorTemplateVisual
  240. {
  241. typeRecognitionDistance = 16000;
  242. angleRangeHorizontal = 360;
  243. angleRangeVertical = 360;
  244. groundNoiseDistanceCoef = -1;
  245. maxGroundNoiseDistance = 1600;
  246. minSpeedThreshold = 0;
  247. maxSpeedThreshold = 2000;
  248. class AirTarget
  249. {
  250. minRange = 0;
  251. maxRange = 16000;
  252. objectDistanceLimitCoef = -1;
  253. viewDistanceLimitCoef = -1;
  254. };
  255. class GroundTarget
  256. {
  257. minRange = 0;
  258. maxRange = 16000;
  259. objectDistanceLimitCoef = -1;
  260. viewDistanceLimitCoef = -1;
  261. };
  262. };
  263. class ManSensorComponent: SensorTemplateMan
  264. {
  265. typeRecognitionDistance = 16000;
  266. angleRangeHorizontal = 360;
  267. angleRangeVertical = 360;
  268. groundNoiseDistanceCoef = -1;
  269. maxGroundNoiseDistance = 1600;
  270. minSpeedThreshold = 0;
  271. maxSpeedThreshold = 2000;
  272. class AirTarget
  273. {
  274. minRange = 0;
  275. maxRange = 16000;
  276. objectDistanceLimitCoef = -1;
  277. viewDistanceLimitCoef = -1;
  278. };
  279. class GroundTarget
  280. {
  281. minRange = 0;
  282. maxRange = 16000;
  283. objectDistanceLimitCoef = -1;
  284. viewDistanceLimitCoef = -1;
  285. };
  286. };
  287. class DataLinkSensorComponent: SensorTemplateDataLink
  288. {
  289. typeRecognitionDistance = 16000;
  290. angleRangeHorizontal = 360;
  291. angleRangeVertical = 360;
  292. groundNoiseDistanceCoef = -1;
  293. maxGroundNoiseDistance = 1600;
  294. minSpeedThreshold = 0;
  295. maxSpeedThreshold = 2000;
  296. class AirTarget
  297. {
  298. minRange = 0;
  299. maxRange = 16000;
  300. objectDistanceLimitCoef = -1;
  301. viewDistanceLimitCoef = -1;
  302. };
  303. class GroundTarget
  304. {
  305. minRange = 0;
  306. maxRange = 16000;
  307. objectDistanceLimitCoef = -1;
  308. viewDistanceLimitCoef = -1;
  309. };
  310. };
  311. };
  312. };
  313. };
  314. class EventHandlers :DefaultEventhandlers{};
  315. };
  316. class macro_new_vehicle(Praetorian_Variant,blufor) : macro_new_vehicle(Praetorian_Variant,normal)
  317. {
  318. side = 1;
  319. displayName = "Laser Turret (AA)";
  320. faction = macro_republic_faction
  321. //editorSubcategory = macro_editor_cat(AA)
  322. //vehicleClass = macro_editor_vehicle_type(AA)
  323. //faction = "RD501Faction";
  324. hiddenSelectionsTextures[] =
  325. {
  326. macro_vehicle_textures\Fast_Infantry_Transport\FAT.paa,
  327. macro_vehicle_textures\Fast_Infantry_Transport\FAT.paa
  328. };
  329. class Turrets: Turrets
  330. {
  331. class MainTurret: MainTurret
  332. {
  333. weapons[] = {
  334. macro_new_weapon(generic,preatorian_gun_opfor)
  335. };
  336. magazines[] = {
  337. macro_new_mag(generic_aircraft_gun_preatorian,1000),
  338. macro_new_mag(generic_aircraft_gun_preatorian,1000)
  339. };
  340. };
  341. };
  342. };
  343. class macro_new_vehicle(Praetorian_Variant,opfor): macro_new_vehicle(Praetorian_Variant,normal)
  344. {
  345. displayName = "Laser Cannons (opfor)";
  346. faction = "";
  347. scope = 1;//?
  348. scopecurator = 1;
  349. weaponLockSystem = "2+4+8";
  350. /*hiddenSelectionsTextures[] =
  351. {
  352. "awing\t_awing_03_cw.paa",
  353. "awing\t_awing_03_cw.paa"
  354. };*/
  355. class Turrets: Turrets
  356. {
  357. class MainTurret: MainTurret
  358. {
  359. weapons[] = {
  360. macro_new_weapon(generic,aircraft_laser)
  361. };
  362. magazines[] = {
  363. macro_new_mag(generic_aircraft_gun,1000),
  364. macro_new_mag(generic_aircraft_gun,1000)
  365. };
  366. minTurn=-45;
  367. maxTurn=45;
  368. minElev = -45;
  369. maxElev = +45;
  370. aiRateOfFire = 0.0001;
  371. maxHorizontalRotSpeed = 3000;
  372. maxVerticalRotSpeed = 3000;
  373. stabilizedInAxes = 4;
  374. };
  375. };
  376. };
  377. class macro_new_vehicle(Praetorian_Variant,Ion): macro_new_vehicle(Praetorian_Variant,normal)//
  378. {
  379. side = 1;
  380. faction = macro_resistance_faction
  381. editorSubcategory = macro_editor_cat(AA)
  382. vehicleClass = macro_editor_vehicle_type(AA)
  383. displayName = "Laser Cannons (I.O.N)";
  384. class Turrets: Turrets
  385. {
  386. class MainTurret: MainTurret
  387. {
  388. weapons[] = {
  389. macro_new_weapon(generic,ion_aircraft_laser)
  390. };
  391. magazines[] = {
  392. macro_new_mag(generic_aircraft_gun_blue,1000),
  393. macro_new_mag(generic_aircraft_gun_blue,1000)
  394. };
  395. };
  396. };
  397. };
  398. class macro_new_vehicle(Praetorian_Variant,Purple): macro_new_vehicle(Praetorian_Variant,normal)//
  399. {
  400. displayName = "Laser Cannons (PURPLEE)";
  401. 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,purple_aircraft_laser)
  410. };
  411. magazines[] = {
  412. macro_new_mag(generic_aircraft_gun_purple,1000),
  413. macro_new_mag(generic_aircraft_gun_purple,1000)
  414. };
  415. };
  416. };
  417. };
  418. };