config.cpp 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  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 V_Wing
  7. #define patch_name MODNAME##vehicle_addon##_Patches
  8. #define vehicle_classname MODNAME##_##vehicle_addon
  9. #define new_v_wing_class(name) vehicle_classname##_##name
  10. class CfgPatches
  11. {
  12. class macro_patch_name(V_Wing)
  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(v_wing,MKII)
  23. };
  24. weapons[]=
  25. {
  26. };
  27. };
  28. };
  29. #include "../../common/sensor_templates.hpp"
  30. class CfgVehicles
  31. {
  32. class Plane_Base_F;
  33. class swop_Vwing:Plane_Base_F
  34. {
  35. class Components;
  36. class ACE_SelfActions;
  37. };
  38. class macro_new_vehicle(v_wing,MKII):swop_Vwing
  39. {
  40. side=1;
  41. scope=2;
  42. scopeCurator=2;
  43. displayName = "V-Wing Mk.II";
  44. forceInGarage = 1;
  45. //dmg stuff
  46. armor=1925;
  47. armorStructural = 1;
  48. vtol = 4;
  49. faction = macro_republic_faction
  50. editorSubcategory = macro_editor_cat_air(Republic_vtol)
  51. vehicleClass = macro_editor_vehicle_type_air(Republic)
  52. ballisticsComputer = 1+8;
  53. visualTarget = 1;
  54. visualTargetSize = 1;
  55. reportOwnPosition = true;
  56. radarTargetSize = 1;
  57. radarTarget = 1;
  58. nvTarget = 1;
  59. laserTarget = 1;
  60. laserScanner = 0;
  61. irTarget = 1;
  62. irTargetSize = 1;
  63. countermeasureActivationRadius = 2000;
  64. //flight model
  65. maxSpeed=1100;
  66. aileronSensitivity=0.41;
  67. elevatorSensitivity=0.41;
  68. airBrakeFrictionCoef=120;
  69. brakeDistance = 80;
  70. noseDownCoef = 0;
  71. acceleration = 225;
  72. draconicForceXCoef=15;
  73. draconicForceYCoef=6;
  74. draconicForceZCoef=12;
  75. altFullForce=18000;
  76. altNoForce=19000;
  77. draconicTorqueXCoef[]={2.0,1.5,1.0,0.9,1.0,0.9,0.75,0.8,0.9,0.95,1.0};
  78. draconicTorqueYCoef[]={1.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  79. VTOLYawInfluence="3.5";
  80. VTOLPitchInfluence="10";
  81. VTOLRollInfluence="9";
  82. rudderInfluence=0.9;
  83. envelope[] = {0.5,2.11,2.43,1.97,1.72,2.69,3.87,5.27,6.89,8.72,9.7,9.6,9.2,8.5,8.2,8};
  84. thrustCoef[] = {1.5,3.69,3.62,3.68,3.74,3.81,3.89,3.95,3.96,3.96,3.92,3.4,0.4,0,0,0};
  85. elevatorCoef[] = {0.3,0.5,0.66,0.52,0.49,0.46,0.43,0.4,0.35,0.3,0.25,0.18,0.17,0.16,0.15,0.15};
  86. aileronCoef[] = {0.4,0.5,0.8,0.95,1.02,1.04,1.03,1.01,1,0.7,0.6,0.55,0.5,0.45,0.4,0.35};
  87. rudderCoef[]={0,0.6,0.9,1.0,1.1,1.0,0.9,0.8,0.6,0.35,0.3,0.25,0.2};
  88. rudderControlsSensitivityCoef=4.5;
  89. gearsUpFrictionCoef=0;
  90. class UserActions
  91. {
  92. class AfterburnerOn
  93. {
  94. displayName = "<t color='#4C9900'>[Afterburner On]</t>";
  95. shortcut = "";
  96. condition = "speed this >50 and (!(this getVariable 'AfterBurnervwing'))";
  97. statement = "this setVariable ['AfterBurnervwing',true,true];this spawn nes4day_afterburnervwing";
  98. priority = 1e+011;
  99. displayNameDefault = "";
  100. position = "pilotview";
  101. radius = 10;
  102. onlyforplayer = 1;
  103. shortcut="User19"
  104. };
  105. class AfterburnerOff
  106. {
  107. displayName = "<t color='#FF9933'>[Afterburner Off]</t>";
  108. shortcut = "";
  109. condition = "(this getVariable ['AfterBurnervwing',true])";
  110. statement = "this setVariable ['AfterBurnervwing',false,true]";
  111. priority = 1e+011;
  112. displayNameDefault = "";
  113. position = "pilotview";
  114. radius = 10;
  115. onlyforplayer = 1;
  116. shortcut="User20"
  117. };
  118. #include "../../common/universal_dmg_report.hpp"
  119. }
  120. class ACE_SelfActions:ACE_SelfActions
  121. {
  122. #include "../../common/universal_hud_color_changer.hpp"
  123. };
  124. #include "../../common/universal_mfd.hpp"
  125. weapons[] = {
  126. macro_new_weapon(laser,v_wing),
  127. macro_new_weapon(wynd,a2a),
  128. macro_new_weapon(wynd,lgm1),
  129. macro_basic_air_weapons
  130. };
  131. magazines[] = {
  132. macro_basic_air_mags,
  133. macro_new_mag(generic_aircraft_gun_asg,3000),
  134. macro_new_mag(a2a,4),
  135. macro_new_mag(a2a,4),
  136. macro_new_mag(a2a,4),
  137. macro_new_mag(lgm,1)
  138. };
  139. class pilotCamera
  140. {
  141. class OpticsIn
  142. {
  143. class Wide
  144. {
  145. opticsDisplayName="WFOV";
  146. initAngleX=0;
  147. minAngleX=-10;
  148. maxAngleX=90;
  149. initAngleY=0;
  150. minAngleY=-90;
  151. maxAngleY=90;
  152. initFov=0.425;//"(30 / 120)";
  153. minFov=0.425;//"(30 / 120)";
  154. maxFov=0.425;//"(30 / 120)";
  155. directionStabilized=1;
  156. thermalMode[] = {0,1,2,3,4,5};
  157. visionMode[]=
  158. {
  159. "Normal",
  160. "NVG",
  161. "Ti"
  162. };
  163. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_wide_F.p3d";
  164. opticsPPEffects[]=
  165. {
  166. "OpticsCHAbera2",
  167. "OpticsBlur2"
  168. };
  169. };
  170. class zoomx4: Wide
  171. {
  172. opticsDisplayName="NFOV";
  173. initFov="(0.425/4)";//"(3.75 / 120)";
  174. minFov="(0.425/4)";//"(3.75 / 120)";
  175. maxFov="(0.425/4)";//"(3.75 / 120)";
  176. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  177. };
  178. class zoomX8: Wide
  179. {
  180. opticsDisplayName="NFOV";
  181. initFov="(0.42/8)";//"(.375 / 120)";
  182. minFov="(0.42/8)";//"(.375 / 120)";
  183. maxFov="(0.42/8)";//"(.375 / 120)";
  184. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  185. };
  186. class zoomX20: Wide
  187. {
  188. opticsDisplayName="NFOV";
  189. initFov="(0.42/20)";//"(.375 / 120)";
  190. minFov="(0.42/20)";//"(.375 / 120)";
  191. maxFov="(0.42/20)";//"(.375 / 120)";
  192. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  193. };
  194. class zoomX50: Wide
  195. {
  196. opticsDisplayName="NFOV";
  197. initFov="(0.42/50)";//"(.375 / 120)";
  198. minFov="(0.42/50)";//"(.375 / 120)";
  199. maxFov="(0.42/50)";//"(.375 / 120)";
  200. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  201. };
  202. class zoomX70: Wide
  203. {
  204. opticsDisplayName="NFOV";
  205. initFov="(0.42/70)";//"(.375 / 120)";
  206. minFov="(0.42/70)";//"(.375 / 120)";
  207. maxFov="(0.42/70)";//"(.375 / 120)";
  208. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  209. };
  210. showMiniMapInOptics=1;
  211. showUAVViewInOptics=0;
  212. showSlingLoadManagerInOptics=1;
  213. };
  214. minTurn=-180;
  215. maxTurn=180;
  216. initTurn=0;
  217. minElev=-10;
  218. maxElev=90;
  219. initElev=-10;
  220. maxXRotSpeed=0.30000001;
  221. maxYRotSpeed=0.30000001;
  222. pilotOpticsShowCursor=1;
  223. controllable=1;
  224. };
  225. class Components: Components
  226. {
  227. class SensorsManagerComponent
  228. {
  229. class Components
  230. {
  231. class IRSensorComponent:SensorTemplateIR
  232. {
  233. class AirTarget
  234. {
  235. //minRange = 500;
  236. //maxRange = 3000;
  237. minRange = 5;
  238. maxRange = 8000;
  239. objectDistanceLimitCoef = -1;
  240. viewDistanceLimitCoef = 1;
  241. };
  242. class GroundTarget
  243. {
  244. //minRange = 500;
  245. //maxRange = 2000;
  246. minRange = 5;
  247. maxRange = 8000;
  248. objectDistanceLimitCoef = 1;
  249. viewDistanceLimitCoef = 1;
  250. };
  251. maxTrackableSpeed = 700;
  252. //maxTrackableSpeed = 70;
  253. animDirection = "mainGun";
  254. //angleRangeHorizontal = 46;
  255. //angleRangeVertical = 34;
  256. angleRangeHorizontal = 170;
  257. angleRangeVertical = 170;
  258. aimdown = -0.25;
  259. };
  260. class VisualSensorComponent:SensorTemplateVisual
  261. {
  262. class AirTarget
  263. {
  264. //minRange = 500;
  265. //maxRange = 2000;
  266. minRange = 5;
  267. maxRange = 12000;
  268. objectDistanceLimitCoef = -1;
  269. viewDistanceLimitCoef = 1;
  270. };
  271. class GroundTarget
  272. {
  273. //minRange = 500;
  274. maxRange = 1500;
  275. minRange = 5;
  276. //maxRange = 7000;
  277. objectDistanceLimitCoef = 1;
  278. viewDistanceLimitCoef = 1;
  279. };
  280. //maxTrackableSpeed = 70;
  281. maxTrackableSpeed = 700;
  282. animDirection = "mainGun";
  283. //angleRangeHorizontal = 46;
  284. //angleRangeVertical = 34;
  285. angleRangeHorizontal = 170;
  286. angleRangeVertical = 170;
  287. aimdown = -0.25;
  288. };
  289. class ActiveRadarSensorComponent:SensorTemplateActiveRadar
  290. {
  291. class AirTarget
  292. {
  293. //minRange = 5000;
  294. //maxRange = 5000;
  295. minRange = 5;
  296. maxRange = 12000;
  297. objectDistanceLimitCoef = -1;
  298. viewDistanceLimitCoef = -1;
  299. };
  300. class GroundTarget
  301. {
  302. //minRange = 4000;
  303. //maxRange = 4000;
  304. minRange = 4;
  305. maxRange = 8000;
  306. objectDistanceLimitCoef = -1;
  307. viewDistanceLimitCoef = -1;
  308. };
  309. maxTrackableSpeed = 1250;
  310. //maxTrackableSpeed = 125;
  311. angleRangeHorizontal = 180;
  312. //angleRangeVertical = 90;
  313. angleRangeVertical = 180;
  314. groundNoiseDistanceCoef = -1;
  315. maxGroundNoiseDistance = -1;
  316. minSpeedThreshold = 0;
  317. maxSpeedThreshold = 0;
  318. aimDown = 30;
  319. };
  320. class PassiveRadarSensorComponent:SensorTemplatePassiveRadar
  321. {
  322. };
  323. class LaserSensorComponent:SensorTemplateLaser
  324. {
  325. };
  326. class NVSensorComponent:SensorTemplateNV
  327. {
  328. };
  329. };
  330. };
  331. class VehicleSystemsDisplayManagerComponentLeft: DefaultVehicleSystemsDisplayManagerLeft
  332. {
  333. class Components: Components
  334. {
  335. class VehiclePrimaryGunnerDisplay
  336. {
  337. componentType = "TransportFeedDisplayComponent";
  338. source = "PrimaryGunner";
  339. };
  340. class VehicleMissileDisplay
  341. {
  342. componentType = "TransportFeedDisplayComponent";
  343. source = "Missile";
  344. };
  345. class SensorDisplay
  346. {
  347. componentType = "SensorsDisplayComponent";
  348. range[] = {4000, 2000, 16000, 8000};
  349. resource = "RscCustomInfoSensors";
  350. };
  351. };
  352. };
  353. class VehicleSystemsDisplayManagerComponentRight: DefaultVehicleSystemsDisplayManagerRight
  354. {
  355. defaultDisplay = "SensorDisplay";
  356. class Components: Components
  357. {
  358. class VehiclePrimaryGunnerDisplay
  359. {
  360. componentType = "TransportFeedDisplayComponent";
  361. source = "PrimaryGunner";
  362. };
  363. class VehicleMissileDisplay
  364. {
  365. componentType = "TransportFeedDisplayComponent";
  366. source = "Missile";
  367. };
  368. class SensorDisplay
  369. {
  370. componentType = "SensorsDisplayComponent";
  371. range[] = {4000, 2000, 16000, 8000};
  372. resource = "RscCustomInfoSensors";
  373. };
  374. };
  375. };
  376. };
  377. };
  378. };