config.cpp 11 KB

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