config.cpp 10 KB

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