config.cpp 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449
  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=1800;
  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(wynd,a2a),
  145. macro_new_weapon(wynd,agm),
  146. macro_new_weapon(wynd,ugm),
  147. macro_basic_air_weapons,
  148. macro_new_weapon(laser,v_wing)
  149. };
  150. magazines[] = {
  151. macro_basic_air_mags,
  152. macro_new_mag(generic_aircraft_cannon_green,1000),
  153. macro_new_mag(generic_aircraft_cannon_green,1000),
  154. macro_new_mag(a2a,4),
  155. macro_new_mag(a2a,4),
  156. macro_new_mag(agm,6),
  157. macro_new_mag(ugm,10)
  158. };
  159. class pilotCamera
  160. {
  161. class OpticsIn
  162. {
  163. class Wide
  164. {
  165. opticsDisplayName="WFOV";
  166. initAngleX=0;
  167. minAngleX=-10;
  168. maxAngleX=90;
  169. initAngleY=0;
  170. minAngleY=-90;
  171. maxAngleY=90;
  172. initFov=0.425;//"(30 / 120)";
  173. minFov=0.425;//"(30 / 120)";
  174. maxFov=0.425;//"(30 / 120)";
  175. directionStabilized=1;
  176. thermalMode[] = {0,1,2,3,4,5};
  177. visionMode[]=
  178. {
  179. "Normal",
  180. "NVG",
  181. "Ti"
  182. };
  183. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_wide_F.p3d";
  184. opticsPPEffects[]=
  185. {
  186. "OpticsCHAbera2",
  187. "OpticsBlur2"
  188. };
  189. };
  190. class zoomx4: Wide
  191. {
  192. opticsDisplayName="NFOV";
  193. initFov="(0.425/4)";//"(3.75 / 120)";
  194. minFov="(0.425/4)";//"(3.75 / 120)";
  195. maxFov="(0.425/4)";//"(3.75 / 120)";
  196. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  197. };
  198. class zoomX8: Wide
  199. {
  200. opticsDisplayName="NFOV";
  201. initFov="(0.42/8)";//"(.375 / 120)";
  202. minFov="(0.42/8)";//"(.375 / 120)";
  203. maxFov="(0.42/8)";//"(.375 / 120)";
  204. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  205. };
  206. class zoomX20: Wide
  207. {
  208. opticsDisplayName="NFOV";
  209. initFov="(0.42/20)";//"(.375 / 120)";
  210. minFov="(0.42/20)";//"(.375 / 120)";
  211. maxFov="(0.42/20)";//"(.375 / 120)";
  212. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  213. };
  214. class zoomX50: Wide
  215. {
  216. opticsDisplayName="NFOV";
  217. initFov="(0.42/50)";//"(.375 / 120)";
  218. minFov="(0.42/50)";//"(.375 / 120)";
  219. maxFov="(0.42/50)";//"(.375 / 120)";
  220. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  221. };
  222. class zoomX70: Wide
  223. {
  224. opticsDisplayName="NFOV";
  225. initFov="(0.42/70)";//"(.375 / 120)";
  226. minFov="(0.42/70)";//"(.375 / 120)";
  227. maxFov="(0.42/70)";//"(.375 / 120)";
  228. gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
  229. };
  230. showMiniMapInOptics=1;
  231. showUAVViewInOptics=0;
  232. showSlingLoadManagerInOptics=1;
  233. };
  234. minTurn=-180;
  235. maxTurn=180;
  236. initTurn=0;
  237. minElev=-10;
  238. maxElev=90;
  239. initElev=-10;
  240. maxXRotSpeed=0.30000001;
  241. maxYRotSpeed=0.30000001;
  242. pilotOpticsShowCursor=1;
  243. controllable=1;
  244. };
  245. class Components: Components
  246. {
  247. class SensorsManagerComponent
  248. {
  249. class Components
  250. {
  251. class IRSensorComponent:SensorTemplateIR
  252. {
  253. class AirTarget
  254. {
  255. //minRange = 500;
  256. //maxRange = 3000;
  257. minRange = 5;
  258. maxRange = 8000;
  259. objectDistanceLimitCoef = -1;
  260. viewDistanceLimitCoef = 1;
  261. };
  262. class GroundTarget
  263. {
  264. //minRange = 500;
  265. //maxRange = 2000;
  266. minRange = 5;
  267. maxRange = 8000;
  268. objectDistanceLimitCoef = 1;
  269. viewDistanceLimitCoef = 1;
  270. };
  271. maxTrackableSpeed = 700;
  272. //maxTrackableSpeed = 70;
  273. animDirection = "mainGun";
  274. //angleRangeHorizontal = 46;
  275. //angleRangeVertical = 34;
  276. angleRangeHorizontal = 170;
  277. angleRangeVertical = 170;
  278. aimdown = -0.25;
  279. };
  280. class VisualSensorComponent:SensorTemplateVisual
  281. {
  282. class AirTarget
  283. {
  284. //minRange = 500;
  285. //maxRange = 2000;
  286. minRange = 5;
  287. maxRange = 12000;
  288. objectDistanceLimitCoef = -1;
  289. viewDistanceLimitCoef = 1;
  290. };
  291. class GroundTarget
  292. {
  293. //minRange = 500;
  294. maxRange = 1500;
  295. minRange = 5;
  296. //maxRange = 7000;
  297. objectDistanceLimitCoef = 1;
  298. viewDistanceLimitCoef = 1;
  299. };
  300. //maxTrackableSpeed = 70;
  301. maxTrackableSpeed = 700;
  302. animDirection = "mainGun";
  303. //angleRangeHorizontal = 46;
  304. //angleRangeVertical = 34;
  305. angleRangeHorizontal = 170;
  306. angleRangeVertical = 170;
  307. aimdown = -0.25;
  308. };
  309. class ActiveRadarSensorComponent:SensorTemplateActiveRadar
  310. {
  311. class AirTarget
  312. {
  313. //minRange = 5000;
  314. //maxRange = 5000;
  315. minRange = 5;
  316. maxRange = 12000;
  317. objectDistanceLimitCoef = -1;
  318. viewDistanceLimitCoef = -1;
  319. };
  320. class GroundTarget
  321. {
  322. //minRange = 4000;
  323. //maxRange = 4000;
  324. minRange = 4;
  325. maxRange = 8000;
  326. objectDistanceLimitCoef = -1;
  327. viewDistanceLimitCoef = -1;
  328. };
  329. maxTrackableSpeed = 1250;
  330. //maxTrackableSpeed = 125;
  331. angleRangeHorizontal = 180;
  332. //angleRangeVertical = 90;
  333. angleRangeVertical = 180;
  334. groundNoiseDistanceCoef = -1;
  335. maxGroundNoiseDistance = -1;
  336. minSpeedThreshold = 0;
  337. maxSpeedThreshold = 0;
  338. aimDown = 30;
  339. };
  340. class PassiveRadarSensorComponent:SensorTemplatePassiveRadar
  341. {
  342. };
  343. class LaserSensorComponent:SensorTemplateLaser
  344. {
  345. };
  346. class NVSensorComponent:SensorTemplateNV
  347. {
  348. };
  349. };
  350. };
  351. class VehicleSystemsDisplayManagerComponentLeft: DefaultVehicleSystemsDisplayManagerLeft
  352. {
  353. class Components: Components
  354. {
  355. class VehiclePrimaryGunnerDisplay
  356. {
  357. componentType = "TransportFeedDisplayComponent";
  358. source = "PrimaryGunner";
  359. };
  360. class VehicleMissileDisplay
  361. {
  362. componentType = "TransportFeedDisplayComponent";
  363. source = "Missile";
  364. };
  365. class SensorDisplay
  366. {
  367. componentType = "SensorsDisplayComponent";
  368. range[] = {4000, 2000, 16000, 8000};
  369. resource = "RscCustomInfoSensors";
  370. };
  371. };
  372. };
  373. class VehicleSystemsDisplayManagerComponentRight: DefaultVehicleSystemsDisplayManagerRight
  374. {
  375. defaultDisplay = "SensorDisplay";
  376. class Components: Components
  377. {
  378. class VehiclePrimaryGunnerDisplay
  379. {
  380. componentType = "TransportFeedDisplayComponent";
  381. source = "PrimaryGunner";
  382. };
  383. class VehicleMissileDisplay
  384. {
  385. componentType = "TransportFeedDisplayComponent";
  386. source = "Missile";
  387. };
  388. class SensorDisplay
  389. {
  390. componentType = "SensorsDisplayComponent";
  391. range[] = {4000, 2000, 16000, 8000};
  392. resource = "RscCustomInfoSensors";
  393. };
  394. };
  395. };
  396. };
  397. };
  398. };