config.cpp 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459
  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 warden
  7. #define patch_name MODNAME##vehicle_addon##_Patches
  8. #define vehicle_classname MODNAME##_##vehicle_addon
  9. #define new_warden_class(name) vehicle_classname##_##name
  10. class CfgPatches
  11. {
  12. class macro_patch_name(warden_tank)
  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(warden_tank,mobile),
  23. macro_new_vehicle(warden_tank,field)
  24. };
  25. weapons[]=
  26. {
  27. };
  28. };
  29. };
  30. #include "../../common/sensor_templates.hpp"
  31. class DefaultEventhandlers;
  32. class CfgVehicles
  33. {
  34. class APC_Tracked_01_base_F;
  35. class B_APC_Tracked_01_base_F:APC_Tracked_01_base_F
  36. {
  37. class Turrets;
  38. };
  39. class B_APC_Tracked_01_CRV_F:B_APC_Tracked_01_base_F
  40. {
  41. class Turrets:Turrets
  42. {
  43. class MainTurret;
  44. class CommanderOptics;
  45. };
  46. class Components;
  47. };
  48. class macro_new_vehicle(warden_tank,mobile) : B_APC_Tracked_01_CRV_F
  49. {
  50. displayName = "Republic Overseer ASV";
  51. ace_refuel_fuelCargo = 999999999999;
  52. ace_rearm_defaultSupply = 999999999999;
  53. ace_cargo_space = 170;
  54. ace_repair_canRepair =1;
  55. ace_refuel_hooks[] = {{0.38, -3.17, -0.7}, {-0.41, -3.17, -0.7}};
  56. scopeCurator = 2;
  57. transportSoldier=8;
  58. LESH_canTow = 1;
  59. crew = "SWOP_Clonetrooper_P1";
  60. LESH_AxisOffsetTower[] = {0,-6,1};
  61. driverCanSee = 31;
  62. gunnerCanSee = 31;
  63. commanderCanSee = 31;
  64. canUseScanner = 1;
  65. incomingMissileDetectionSystem = 16;
  66. weaponLockSystem = "2+4+8";
  67. receiveRemoteTargets = true;
  68. reportRemoteTargets = true;
  69. reportOwnPosition = true;
  70. faction = macro_republic_faction
  71. editorSubcategory = macro_editor_cat(APC)
  72. vehicleClass = macro_editor_vehicle_type(APC)
  73. #include "../Mynock/common_stuff_mynock.hpp"
  74. #include "../../common/smallvehiclekit.hpp"
  75. author = "RD501";
  76. //faction = "RD501Faction";
  77. scope = 2;
  78. side = 1;
  79. hiddenSelections[] = {"camo1", "camo2", "camo3", "camo4", "CamoNet"};
  80. hiddenSelectionsTextures[]=
  81. {
  82. "RD501_Vehicles\textures\warden\overseer_ext1_cream_blue_co.paa",
  83. "RD501_Vehicles\textures\warden\overseer_ext2_cream_blue_co.paa",
  84. "RD501_Vehicles\textures\warden\overseer_turret_cream_co.paa",
  85. "RD501_Vehicles\textures\warden\overseer_ext3_cream_blue_co.paa",
  86. "a3\Armor_F\Data\camonet_NATO_Desert_CO.paa"
  87. };
  88. forceInGarage =1;
  89. class Turrets: Turrets
  90. {
  91. class MainTurret: MainTurret
  92. {
  93. weapons[] = {
  94. macro_basic_air_weapons,
  95. macro_new_weapon(generic,plasma_aircraft_cannon)
  96. };
  97. magazines[] = {
  98. macro_basic_air_mags,
  99. macro_new_mag(generic_aircraft_cannon_plasma_blue,1000),
  100. macro_new_mag(generic_aircraft_cannon_plasma_blue,1000)
  101. };
  102. };
  103. class CommanderOptics: CommanderOptics
  104. {
  105. };
  106. };
  107. class components: Components
  108. {
  109. class SensorsManagerComponent
  110. {
  111. class components
  112. {
  113. class IRSensorComponent: SensorTemplateIR
  114. {
  115. typeRecognitionDistance = 16000;
  116. angleRangeHorizontal = 360;
  117. angleRangeVertical = 360;
  118. groundNoiseDistanceCoef = -1;
  119. maxGroundNoiseDistance = 1600;
  120. minSpeedThreshold = 0;
  121. maxSpeedThreshold = 2000;
  122. maxFogSeeThrough= -1;
  123. nightRangeCoef = 1;
  124. class AirTarget
  125. {
  126. minRange = 0;
  127. maxRange = 16000;
  128. objectDistanceLimitCoef = -1;
  129. viewDistanceLimitCoef = -1;
  130. maxFogSeeThrough= -1;
  131. nightRangeCoef = 1;
  132. };
  133. class GroundTarget
  134. {
  135. minRange = 0;
  136. maxRange = 16000;
  137. objectDistanceLimitCoef = -1;
  138. viewDistanceLimitCoef = -1;
  139. maxFogSeeThrough= -1;
  140. nightRangeCoef = 1;
  141. };
  142. };
  143. class NVSensorComponent: SensorTemplateNV
  144. {
  145. typeRecognitionDistance = 16000;
  146. angleRangeHorizontal = 360;
  147. angleRangeVertical = 360;
  148. groundNoiseDistanceCoef = -1;
  149. maxGroundNoiseDistance = 1600;
  150. minSpeedThreshold = 0;
  151. maxSpeedThreshold = 2000;
  152. class AirTarget
  153. {
  154. minRange = 0;
  155. maxRange = 16000;
  156. objectDistanceLimitCoef = -1;
  157. viewDistanceLimitCoef = -1;
  158. };
  159. class GroundTarget
  160. {
  161. minRange = 0;
  162. maxRange = 16000;
  163. objectDistanceLimitCoef = -1;
  164. viewDistanceLimitCoef = -1;
  165. };
  166. };
  167. class LaserSensorComponent: SensorTemplateLaser
  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 ActiveRadarSensorComponent: SensorTemplateActiveRadar
  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. class VehicleSystemsDisplayManagerComponentRight
  314. {
  315. componentType = "VehicleSystemsDisplayManager";
  316. defaultDisplay = "EmptyDisplay";
  317. right = 1;
  318. x = "(profilenamespace getvariable [""IGUI_GRID_CUSTOMINFORIGHT_X"", ((safezoneX + safezoneW) - ( (10 * ( ((safezoneW / safezoneH) min 1.2) / 40)) + 0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)))])";
  319. y = "(profilenamespace getvariable [""IGUI_GRID_CUSTOMINFORIGHT_Y"", (safezoneY + safezoneH - 21 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25))])";
  320. class Components
  321. {
  322. class CrewDisplay
  323. {
  324. componentType = "CrewDisplayComponent";
  325. };
  326. class EmptyDisplay
  327. {
  328. componentType = "EmptyDisplayComponent";
  329. };
  330. class MineDetectorDisplay
  331. {
  332. componentType = "MineDetectorDisplayComponent";
  333. };
  334. class MinimapDisplay
  335. {
  336. componentType = "MinimapDisplayComponent";
  337. };
  338. class SlingLoadDisplay
  339. {
  340. componentType = "SlingLoadDisplayComponent";
  341. };
  342. class UAVDisplay
  343. {
  344. componentType = "UAVFeedDisplayComponent";
  345. };
  346. class VehicleCommanderDisplay
  347. {
  348. componentType = "TransportFeedDisplayComponent";
  349. source = "Commander";
  350. };
  351. class VehiclePrimaryGunnerDisplay
  352. {
  353. componentType = "TransportFeedDisplayComponent";
  354. source = "PrimaryGunner";
  355. };
  356. class SensorDisplay
  357. {
  358. componentType = "SensorsDisplayComponent";
  359. range[] = {32000,16000,8000,4000,2000};
  360. resource = "RscCustomInfoSensors";
  361. };
  362. };
  363. };
  364. class VehicleSystemsDisplayManagerComponentLeft
  365. {
  366. componentType = "VehicleSystemsDisplayManager";
  367. defaultDisplay = "EmptyDisplay";
  368. left = 1;
  369. x = "(profilenamespace getvariable [""IGUI_GRID_CUSTOMINFOLEFT_X"", (safezoneX + 0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40))])";
  370. y = "(profilenamespace getvariable [""IGUI_GRID_CUSTOMINFOLEFT_Y"", (safezoneY + safezoneH - 21 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25))])";
  371. class Components
  372. {
  373. class CrewDisplay
  374. {
  375. componentType = "CrewDisplayComponent";
  376. };
  377. class EmptyDisplay
  378. {
  379. componentType = "EmptyDisplayComponent";
  380. };
  381. class MineDetectorDisplay
  382. {
  383. componentType = "MineDetectorDisplayComponent";
  384. };
  385. class MinimapDisplay
  386. {
  387. componentType = "MinimapDisplayComponent";
  388. };
  389. class SlingLoadDisplay
  390. {
  391. componentType = "SlingLoadDisplayComponent";
  392. };
  393. class UAVDisplay
  394. {
  395. componentType = "UAVFeedDisplayComponent";
  396. };
  397. class VehicleCommanderDisplay
  398. {
  399. componentType = "TransportFeedDisplayComponent";
  400. source = "Commander";
  401. };
  402. class VehiclePrimaryGunnerDisplay
  403. {
  404. componentType = "TransportFeedDisplayComponent";
  405. source = "PrimaryGunner";
  406. };
  407. class SensorDisplay
  408. {
  409. componentType = "SensorsDisplayComponent";
  410. range[] = {32000,16000,8000,4000,2000};
  411. resource = "RscCustomInfoSensors";
  412. };
  413. };
  414. };
  415. };
  416. class EventHandlers : DefaultEventhandlers {};
  417. };
  418. class macro_new_vehicle(warden_tank,field):macro_new_vehicle(warden_tank,mobile)
  419. {
  420. displayName = "Republic Overseer ASV Turbo";
  421. enginePower = 2400;
  422. gearBox[] = {-7,0,11,8,5.7,4.2};
  423. maxSpeed = 120;
  424. maxOmega = 500;
  425. peakTorque = 7400;
  426. torqueCurve[] = {[0.291667,0.540541],[0.416667,0.675676],[0.583333,0.810811],[0.666667,0.891892],[0.75,0.972973],[0.833333,1.02703],[0.916667,1],[1,0.945946]};
  427. engineMOI = 1;
  428. armor = 100;
  429. hiddenSelections[] = {"camo1", "camo2", "camo3", "camo4", "CamoNet"};
  430. hiddenSelectionsTextures[]=
  431. {
  432. "RD501_Vehicles\textures\warden\overseer_ext1_black_blue_co.paa",
  433. "RD501_Vehicles\textures\warden\overseer_ext2_black_blue_co.paa",
  434. "RD501_Vehicles\textures\warden\trebuchet_turret_mynock_co.paa",
  435. "RD501_Vehicles\textures\warden\overseer_ext3_black_blue_co.paa",
  436. "a3\Armor_F\Data\camonet_NATO_Desert_CO.paa"
  437. };
  438. }
  439. };