//Get this addons macro //get the macro for the air subaddon //get generlized macros #include "../../../RD501_main/config_macros.hpp" //General name of the vehicle #define vehicle_addon V_Wing #define patch_name MODNAME##vehicle_addon##_Patches #define vehicle_classname MODNAME##_##vehicle_addon #define new_v_wing_class(name) vehicle_classname##_##name class CfgPatches { class macro_patch_name(V_Wing) { addonRootClass=macro_patch_name(vehicles) requiredAddons[]= { macro_patch_name(vehicles) }; requiredVersion=0.1; units[]= { macro_new_vehicle(v_wing,MKII) }; weapons[]= { }; }; }; #include "../../common/sensor_templates.hpp" class CfgVehicles { class Plane_Base_F; class swop_Vwing:Plane_Base_F { class Components; class ACE_SelfActions; }; class macro_new_vehicle(v_wing,MKII):swop_Vwing { side=1; scope=2; scopeCurator=2; displayName = "V-Wing Mk.II"; forceInGarage = 1; //dmg stuff armor=1925; armorStructural = 1; vtol = 4; faction = macro_republic_faction editorSubcategory = macro_editor_cat_air(Republic_vtol) vehicleClass = macro_editor_vehicle_type_air(Republic) ballisticsComputer = 1+8; visualTarget = 1; visualTargetSize = 1; reportOwnPosition = true; radarTargetSize = 1; radarTarget = 1; nvTarget = 1; laserTarget = 1; laserScanner = 0; irTarget = 1; irTargetSize = 1; countermeasureActivationRadius = 2000; //flight model maxSpeed=1100; aileronSensitivity=0.41; elevatorSensitivity=0.41; airBrakeFrictionCoef=120; brakeDistance = 80; noseDownCoef = 0; acceleration = 225; draconicForceXCoef=15; draconicForceYCoef=6; draconicForceZCoef=12; altFullForce=18000; altNoForce=19000; draconicTorqueXCoef[]={2.0,1.5,1.0,0.9,1.0,0.9,0.75,0.8,0.9,0.95,1.0}; 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}; VTOLYawInfluence="3.5"; VTOLPitchInfluence="10"; VTOLRollInfluence="9"; rudderInfluence=0.9; 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}; 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}; 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}; 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}; 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}; rudderControlsSensitivityCoef=4.5; gearsUpFrictionCoef=0; class EventHandlers{}; class UserActions { class AfterburnerOn { displayName = "<t color='#4C9900'>[Afterburner On]</t>"; shortcut = ""; condition = "speed this >50 and (!(this getVariable 'AfterBurnervwing'))"; statement = "this setVariable ['AfterBurnervwing',true,true];this spawn nes4day_afterburnervwing"; priority = 1e+011; displayNameDefault = ""; position = "pilotview"; radius = 10; onlyforplayer = 1; shortcut="User19" }; class AfterburnerOff { displayName = "<t color='#FF9933'>[Afterburner Off]</t>"; shortcut = ""; condition = "(this getVariable ['AfterBurnervwing',true])"; statement = "this setVariable ['AfterBurnervwing',false,true]"; priority = 1e+011; displayNameDefault = ""; position = "pilotview"; radius = 10; onlyforplayer = 1; shortcut="User20" }; #include "../../common/universal_dmg_report.hpp" } class ACE_SelfActions:ACE_SelfActions { #include "../../common/universal_hud_color_changer.hpp" }; #include "../../common/universal_mfd.hpp" weapons[] = { macro_new_weapon(laser,v_wing), macro_new_weapon(wynd,a2a), macro_new_weapon(wynd,lgm1), macro_basic_air_weapons }; magazines[] = { macro_basic_air_mags, macro_new_mag(generic_aircraft_gun_asg,3000), macro_new_mag(a2a,4), macro_new_mag(a2a,4), macro_new_mag(a2a,4), macro_new_mag(lgm,1) }; class pilotCamera { class OpticsIn { class Wide { opticsDisplayName="WFOV"; initAngleX=0; minAngleX=-10; maxAngleX=90; initAngleY=0; minAngleY=-90; maxAngleY=90; initFov=0.425;//"(30 / 120)"; minFov=0.425;//"(30 / 120)"; maxFov=0.425;//"(30 / 120)"; directionStabilized=1; thermalMode[] = {0,1,2,3,4,5}; visionMode[]= { "Normal", "NVG", "Ti" }; gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_wide_F.p3d"; opticsPPEffects[]= { "OpticsCHAbera2", "OpticsBlur2" }; }; class zoomx4: Wide { opticsDisplayName="NFOV"; initFov="(0.425/4)";//"(3.75 / 120)"; minFov="(0.425/4)";//"(3.75 / 120)"; maxFov="(0.425/4)";//"(3.75 / 120)"; gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d"; }; class zoomX8: Wide { opticsDisplayName="NFOV"; initFov="(0.42/8)";//"(.375 / 120)"; minFov="(0.42/8)";//"(.375 / 120)"; maxFov="(0.42/8)";//"(.375 / 120)"; gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d"; }; class zoomX20: Wide { opticsDisplayName="NFOV"; initFov="(0.42/20)";//"(.375 / 120)"; minFov="(0.42/20)";//"(.375 / 120)"; maxFov="(0.42/20)";//"(.375 / 120)"; gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d"; }; class zoomX50: Wide { opticsDisplayName="NFOV"; initFov="(0.42/50)";//"(.375 / 120)"; minFov="(0.42/50)";//"(.375 / 120)"; maxFov="(0.42/50)";//"(.375 / 120)"; gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d"; }; class zoomX70: Wide { opticsDisplayName="NFOV"; initFov="(0.42/70)";//"(.375 / 120)"; minFov="(0.42/70)";//"(.375 / 120)"; maxFov="(0.42/70)";//"(.375 / 120)"; gunnerOpticsModel="\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d"; }; showMiniMapInOptics=1; showUAVViewInOptics=0; showSlingLoadManagerInOptics=1; }; minTurn=-180; maxTurn=180; initTurn=0; minElev=-10; maxElev=90; initElev=-10; maxXRotSpeed=0.30000001; maxYRotSpeed=0.30000001; pilotOpticsShowCursor=1; controllable=1; }; class Components: Components { class SensorsManagerComponent { class Components { class IRSensorComponent:SensorTemplateIR { class AirTarget { //minRange = 500; //maxRange = 3000; minRange = 5; maxRange = 8000; objectDistanceLimitCoef = -1; viewDistanceLimitCoef = 1; }; class GroundTarget { //minRange = 500; //maxRange = 2000; minRange = 5; maxRange = 8000; objectDistanceLimitCoef = 1; viewDistanceLimitCoef = 1; }; maxTrackableSpeed = 700; //maxTrackableSpeed = 70; animDirection = "mainGun"; //angleRangeHorizontal = 46; //angleRangeVertical = 34; angleRangeHorizontal = 170; angleRangeVertical = 170; aimdown = -0.25; }; class VisualSensorComponent:SensorTemplateVisual { class AirTarget { //minRange = 500; //maxRange = 2000; minRange = 5; maxRange = 12000; objectDistanceLimitCoef = -1; viewDistanceLimitCoef = 1; }; class GroundTarget { //minRange = 500; maxRange = 1500; minRange = 5; //maxRange = 7000; objectDistanceLimitCoef = 1; viewDistanceLimitCoef = 1; }; //maxTrackableSpeed = 70; maxTrackableSpeed = 700; animDirection = "mainGun"; //angleRangeHorizontal = 46; //angleRangeVertical = 34; angleRangeHorizontal = 170; angleRangeVertical = 170; aimdown = -0.25; }; class ActiveRadarSensorComponent:SensorTemplateActiveRadar { class AirTarget { //minRange = 5000; //maxRange = 5000; minRange = 5; maxRange = 12000; objectDistanceLimitCoef = -1; viewDistanceLimitCoef = -1; }; class GroundTarget { //minRange = 4000; //maxRange = 4000; minRange = 4; maxRange = 8000; objectDistanceLimitCoef = -1; viewDistanceLimitCoef = -1; }; maxTrackableSpeed = 1250; //maxTrackableSpeed = 125; angleRangeHorizontal = 180; //angleRangeVertical = 90; angleRangeVertical = 180; groundNoiseDistanceCoef = -1; maxGroundNoiseDistance = -1; minSpeedThreshold = 0; maxSpeedThreshold = 0; aimDown = 30; }; class PassiveRadarSensorComponent:SensorTemplatePassiveRadar { }; class LaserSensorComponent:SensorTemplateLaser { }; class NVSensorComponent:SensorTemplateNV { }; }; }; class VehicleSystemsDisplayManagerComponentLeft: DefaultVehicleSystemsDisplayManagerLeft { class Components: Components { class VehiclePrimaryGunnerDisplay { componentType = "TransportFeedDisplayComponent"; source = "PrimaryGunner"; }; class VehicleMissileDisplay { componentType = "TransportFeedDisplayComponent"; source = "Missile"; }; class SensorDisplay { componentType = "SensorsDisplayComponent"; range[] = {4000, 2000, 16000, 8000}; resource = "RscCustomInfoSensors"; }; }; }; class VehicleSystemsDisplayManagerComponentRight: DefaultVehicleSystemsDisplayManagerRight { defaultDisplay = "SensorDisplay"; class Components: Components { class VehiclePrimaryGunnerDisplay { componentType = "TransportFeedDisplayComponent"; source = "PrimaryGunner"; }; class VehicleMissileDisplay { componentType = "TransportFeedDisplayComponent"; source = "Missile"; }; class SensorDisplay { componentType = "SensorsDisplayComponent"; range[] = {4000, 2000, 16000, 8000}; resource = "RscCustomInfoSensors"; }; }; }; }; }; };