//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 CBA_Extended_EventHandlers_base;
class CfgVehicles
{
class Plane;
class Plane_Base_F:Plane
{
class EventHandlers;
};
class swop_Vwing:Plane_Base_F
{
class Components;
class Eventhandlers: EventHandlers
{
fired = "_this call (uinamespace getvariable 'BIS_fnc_effectFired');";
killed = "_this call (uinamespace getvariable 'BIS_fnc_effectKilled');";
class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base {};
};
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=200;
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;
class Eventhandlers
{
fired = "_this call (uinamespace getvariable 'BIS_fnc_effectFired');";
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';";
killed = "_this call (uinamespace getvariable 'BIS_fnc_effectKilled');";
class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base {};
};
//flight model
maxSpeed = 4000;
aileronSensitivity = 0.5;//1.7;
elevatorSensitivity = 0.65//1.5;
airBrakeFrictionCoef = 80.4;
draconicForceXCoef = 300;
draconicForceYCoef = 1;
draconicForceZCoef = 1;
altFullForce = 6000;
altNoForce = 9000;
draconicTorqueXCoef[] = {4, 5.1, 6.1, 7, 7.7, 8.3, 9, 9.1, 9.2, 9.2, 9.2};
draconicTorqueYCoef[] = {0.5, 1, 2, 2.3, 3, 2.6, 2.4, 2.2, 2, 1.9, 1.8};
VTOLYawInfluence = 6/3;
VTOLPitchInfluence = 6/4;
VTOLRollInfluence = 6/4;
rudderInfluence = 0.766;
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};
rudderControlsSensitivityCoef = 4;
gearsUpFrictionCoef = 25;
class UserActions
{
class AfterburnerOn
{
displayName = "[Afterburner On]";
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 = "[Afterburner Off]";
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(wynd,a2a),
macro_new_weapon(wynd,agm),
macro_new_weapon(wynd,ugm),
macro_basic_air_weapons,
macro_new_weapon(generic,republic_aircraft_cannon)
};
magazines[] = {
macro_basic_air_mags,
macro_new_mag(generic_aircraft_cannon_green,1000),
macro_new_mag(generic_aircraft_cannon_green,1000),
macro_new_mag(a2a,4),
macro_new_mag(a2a,4),
macro_new_mag(agm,6),
macro_new_mag(ugm,10)
};
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 = 8000;
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 = 7000;
objectDistanceLimitCoef = -1;
viewDistanceLimitCoef = -1;
};
class GroundTarget
{
//minRange = 4000;
//maxRange = 4000;
minRange = 4;
maxRange = 4000;
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";
};
};
};
};
};
};