config.cpp 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405
  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 EventHandlers{};
  91. class UserActions
  92. {
  93. class AfterburnerOn
  94. {
  95. displayName = "<t color='#4C9900'>[Afterburner On]</t>";
  96. shortcut = "";
  97. condition = "speed this >50 and (!(this getVariable 'AfterBurnervwing'))";
  98. statement = "this setVariable ['AfterBurnervwing',true,true];this spawn nes4day_afterburnervwing";
  99. priority = 1e+011;
  100. displayNameDefault = "";
  101. position = "pilotview";
  102. radius = 10;
  103. onlyforplayer = 1;
  104. shortcut="User19"
  105. };
  106. class AfterburnerOff
  107. {
  108. displayName = "<t color='#FF9933'>[Afterburner Off]</t>";
  109. shortcut = "";
  110. condition = "(this getVariable ['AfterBurnervwing',true])";
  111. statement = "this setVariable ['AfterBurnervwing',false,true]";
  112. priority = 1e+011;
  113. displayNameDefault = "";
  114. position = "pilotview";
  115. radius = 10;
  116. onlyforplayer = 1;
  117. shortcut="User20"
  118. };
  119. #include "../../common/universal_dmg_report.hpp"
  120. }
  121. class ACE_SelfActions:ACE_SelfActions
  122. {
  123. #include "../../common/universal_hud_color_changer.hpp"
  124. };
  125. #include "../../common/universal_mfd.hpp"
  126. weapons[] = {
  127. macro_new_weapon(laser,v_wing),
  128. macro_new_weapon(wynd,a2a),
  129. macro_new_weapon(wynd,lgm1),
  130. macro_basic_air_weapons
  131. };
  132. magazines[] = {
  133. macro_basic_air_mags,
  134. macro_new_mag(generic_aircraft_gun_asg,3000),
  135. macro_new_mag(a2a,4),
  136. macro_new_mag(a2a,4),
  137. macro_new_mag(a2a,4),
  138. macro_new_mag(lgm,1)
  139. };
  140. class pilotCamera
  141. {
  142. class OpticsIn
  143. {
  144. class Wide
  145. {
  146. opticsDisplayName="WFOV";
  147. initAngleX=0;
  148. minAngleX=-10;
  149. maxAngleX=90;
  150. initAngleY=0;
  151. minAngleY=-90;
  152. maxAngleY=90;
  153. initFov=0.425;//"(30 / 120)";
  154. minFov=0.425;//"(30 / 120)";
  155. maxFov=0.425;//"(30 / 120)";
  156. directionStabilized=1;
  157. thermalMode[] = {0,1,2,3,4,5};
  158. visionMode[]=
  159. {
  160. "Normal",
  161. "NVG",
  162. "Ti"
  163. };
  164. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_wide_F.p3d";
  165. opticsPPEffects[]=
  166. {
  167. "OpticsCHAbera2",
  168. "OpticsBlur2"
  169. };
  170. };
  171. class zoomx4: Wide
  172. {
  173. opticsDisplayName="NFOV";
  174. initFov="(0.425/4)";//"(3.75 / 120)";
  175. minFov="(0.425/4)";//"(3.75 / 120)";
  176. maxFov="(0.425/4)";//"(3.75 / 120)";
  177. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  178. };
  179. class zoomX8: Wide
  180. {
  181. opticsDisplayName="NFOV";
  182. initFov="(0.42/8)";//"(.375 / 120)";
  183. minFov="(0.42/8)";//"(.375 / 120)";
  184. maxFov="(0.42/8)";//"(.375 / 120)";
  185. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  186. };
  187. class zoomX20: Wide
  188. {
  189. opticsDisplayName="NFOV";
  190. initFov="(0.42/20)";//"(.375 / 120)";
  191. minFov="(0.42/20)";//"(.375 / 120)";
  192. maxFov="(0.42/20)";//"(.375 / 120)";
  193. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  194. };
  195. class zoomX50: Wide
  196. {
  197. opticsDisplayName="NFOV";
  198. initFov="(0.42/50)";//"(.375 / 120)";
  199. minFov="(0.42/50)";//"(.375 / 120)";
  200. maxFov="(0.42/50)";//"(.375 / 120)";
  201. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  202. };
  203. class zoomX70: Wide
  204. {
  205. opticsDisplayName="NFOV";
  206. initFov="(0.42/70)";//"(.375 / 120)";
  207. minFov="(0.42/70)";//"(.375 / 120)";
  208. maxFov="(0.42/70)";//"(.375 / 120)";
  209. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  210. };
  211. showMiniMapInOptics=1;
  212. showUAVViewInOptics=0;
  213. showSlingLoadManagerInOptics=1;
  214. };
  215. minTurn=-180;
  216. maxTurn=180;
  217. initTurn=0;
  218. minElev=-10;
  219. maxElev=90;
  220. initElev=-10;
  221. maxXRotSpeed=0.30000001;
  222. maxYRotSpeed=0.30000001;
  223. pilotOpticsShowCursor=1;
  224. controllable=1;
  225. };
  226. class Components: Components
  227. {
  228. class SensorsManagerComponent
  229. {
  230. class Components
  231. {
  232. class IRSensorComponent:SensorTemplateIR
  233. {
  234. class AirTarget
  235. {
  236. //minRange = 500;
  237. //maxRange = 3000;
  238. minRange = 5;
  239. maxRange = 8000;
  240. objectDistanceLimitCoef = -1;
  241. viewDistanceLimitCoef = 1;
  242. };
  243. class GroundTarget
  244. {
  245. //minRange = 500;
  246. //maxRange = 2000;
  247. minRange = 5;
  248. maxRange = 8000;
  249. objectDistanceLimitCoef = 1;
  250. viewDistanceLimitCoef = 1;
  251. };
  252. maxTrackableSpeed = 700;
  253. //maxTrackableSpeed = 70;
  254. animDirection = "mainGun";
  255. //angleRangeHorizontal = 46;
  256. //angleRangeVertical = 34;
  257. angleRangeHorizontal = 170;
  258. angleRangeVertical = 170;
  259. aimdown = -0.25;
  260. };
  261. class VisualSensorComponent:SensorTemplateVisual
  262. {
  263. class AirTarget
  264. {
  265. //minRange = 500;
  266. //maxRange = 2000;
  267. minRange = 5;
  268. maxRange = 12000;
  269. objectDistanceLimitCoef = -1;
  270. viewDistanceLimitCoef = 1;
  271. };
  272. class GroundTarget
  273. {
  274. //minRange = 500;
  275. maxRange = 1500;
  276. minRange = 5;
  277. //maxRange = 7000;
  278. objectDistanceLimitCoef = 1;
  279. viewDistanceLimitCoef = 1;
  280. };
  281. //maxTrackableSpeed = 70;
  282. maxTrackableSpeed = 700;
  283. animDirection = "mainGun";
  284. //angleRangeHorizontal = 46;
  285. //angleRangeVertical = 34;
  286. angleRangeHorizontal = 170;
  287. angleRangeVertical = 170;
  288. aimdown = -0.25;
  289. };
  290. class ActiveRadarSensorComponent:SensorTemplateActiveRadar
  291. {
  292. class AirTarget
  293. {
  294. //minRange = 5000;
  295. //maxRange = 5000;
  296. minRange = 5;
  297. maxRange = 12000;
  298. objectDistanceLimitCoef = -1;
  299. viewDistanceLimitCoef = -1;
  300. };
  301. class GroundTarget
  302. {
  303. //minRange = 4000;
  304. //maxRange = 4000;
  305. minRange = 4;
  306. maxRange = 8000;
  307. objectDistanceLimitCoef = -1;
  308. viewDistanceLimitCoef = -1;
  309. };
  310. maxTrackableSpeed = 1250;
  311. //maxTrackableSpeed = 125;
  312. angleRangeHorizontal = 180;
  313. //angleRangeVertical = 90;
  314. angleRangeVertical = 180;
  315. groundNoiseDistanceCoef = -1;
  316. maxGroundNoiseDistance = -1;
  317. minSpeedThreshold = 0;
  318. maxSpeedThreshold = 0;
  319. aimDown = 30;
  320. };
  321. class PassiveRadarSensorComponent:SensorTemplatePassiveRadar
  322. {
  323. };
  324. class LaserSensorComponent:SensorTemplateLaser
  325. {
  326. };
  327. class NVSensorComponent:SensorTemplateNV
  328. {
  329. };
  330. };
  331. };
  332. class VehicleSystemsDisplayManagerComponentLeft: DefaultVehicleSystemsDisplayManagerLeft
  333. {
  334. class Components: Components
  335. {
  336. class VehiclePrimaryGunnerDisplay
  337. {
  338. componentType = "TransportFeedDisplayComponent";
  339. source = "PrimaryGunner";
  340. };
  341. class VehicleMissileDisplay
  342. {
  343. componentType = "TransportFeedDisplayComponent";
  344. source = "Missile";
  345. };
  346. class SensorDisplay
  347. {
  348. componentType = "SensorsDisplayComponent";
  349. range[] = {4000, 2000, 16000, 8000};
  350. resource = "RscCustomInfoSensors";
  351. };
  352. };
  353. };
  354. class VehicleSystemsDisplayManagerComponentRight: DefaultVehicleSystemsDisplayManagerRight
  355. {
  356. defaultDisplay = "SensorDisplay";
  357. class Components: Components
  358. {
  359. class VehiclePrimaryGunnerDisplay
  360. {
  361. componentType = "TransportFeedDisplayComponent";
  362. source = "PrimaryGunner";
  363. };
  364. class VehicleMissileDisplay
  365. {
  366. componentType = "TransportFeedDisplayComponent";
  367. source = "Missile";
  368. };
  369. class SensorDisplay
  370. {
  371. componentType = "SensorsDisplayComponent";
  372. range[] = {4000, 2000, 16000, 8000};
  373. resource = "RscCustomInfoSensors";
  374. };
  375. };
  376. };
  377. };
  378. };
  379. };