2319 lines
56 KiB
C++
2319 lines
56 KiB
C++
class braf_A29_base: Plane_Fighter_03_base_F
|
|
{
|
|
author="BRAF TEAM";
|
|
_generalmacro="BRAF_A29__01_base_F";
|
|
scope=0;
|
|
scopeCurator=2;
|
|
side="2";
|
|
faction="BRAF_FAB";
|
|
displayName="A-29 Super Tucano";
|
|
model="braf\braf_air2\braf_airplanes\braf_super_tucano\BRAF_A29.p3d";
|
|
icon="braf\braf_air2\braf_airplanes\braf_super_tucano\Data\UI\map_a29_supertucano_ca.paa";
|
|
picture="braf\braf_air2\braf_airplanes\braf_super_tucano\Data\UI\picture_a29supertucanoside_ca.paa";
|
|
accuracy=0.2;
|
|
editorSubcategory=EdSubcat_Planes;
|
|
memoryPointTaskMarker="TaskMarker_1_pos";
|
|
simulation="airplanex";
|
|
acceleration=300;
|
|
armor=60;
|
|
armorStructural=2;
|
|
armorLights=1;
|
|
epeImpulseDamageCoef=50;
|
|
damageResistance=0.004;
|
|
waterLeakiness=5.5;
|
|
destrType="DestructWreck";
|
|
damageEffect="AirDestructionEffects";
|
|
class NVGMarkers
|
|
{
|
|
class NVGMarker01
|
|
{
|
|
name="nvg_marker";
|
|
color[]={0.029999999,0.003,0.003,1};
|
|
ambient[]={0.003,0.00030000001,0.00030000001,1};
|
|
brightness=0.001;
|
|
blinking=1;
|
|
};
|
|
};
|
|
class pilotCamera
|
|
{
|
|
class OpticsIn{};
|
|
};
|
|
class ViewPilot
|
|
{
|
|
initAngleX = 0;
|
|
initAngleY = 0;
|
|
initFov = 0.75;
|
|
minFov = 0.25;
|
|
maxFov = 1.25;
|
|
minAngleX = -65;
|
|
maxAngleX = 85;
|
|
minAngleY = -150;
|
|
maxAngleY = 150;
|
|
};
|
|
driverCanEject=0;
|
|
gunnerCanEject=0;
|
|
cargoCanEject=0;
|
|
slingLoadCargoMemoryPoints[]=
|
|
{
|
|
"SlingLoadCargo1",
|
|
"SlingLoadCargo2",
|
|
"SlingLoadCargo3",
|
|
"SlingLoadCargo4"
|
|
};
|
|
driverAction="A29_Pilot";
|
|
driverIsCommander=1;
|
|
transportSoldier=0;
|
|
cargoCompartments[]=
|
|
{
|
|
"Compartment1",
|
|
"Compartment2"
|
|
};
|
|
driverCompartments="Compartment1";
|
|
viewDriverShadowDiff=0.5;
|
|
viewDriverShadowAmb=0.5;
|
|
selectionRotorStill="rotor_static";
|
|
selectionRotorMove="rotor_blur";
|
|
radarTargetSize=0.8;
|
|
visualTargetSize=0.8;
|
|
irTargetSize=0.8;
|
|
driverLeftHandAnimName="throttle_lever_pilot";
|
|
driverRightHandAnimName="stick_pilot";
|
|
driverRightLegAnimName="pedal_f_r";
|
|
driverLeftLegAnimName="pedal_f_l";
|
|
memoryPointLDust="dust_l";
|
|
memoryPointRDust="dust_r";
|
|
gunbeg[]=
|
|
{
|
|
"z_gun_l_muzzle",
|
|
"z_gun_r_muzzle"
|
|
};
|
|
gunend[]=
|
|
{
|
|
"z_gun_l_chamber",
|
|
"z_gun_r_chamber"
|
|
};
|
|
memoryPointGun[]=
|
|
{
|
|
"z_gun_l_muzzle",
|
|
"z_gun_r_muzzle"
|
|
};
|
|
memoryPointCM[]=
|
|
{
|
|
"flare_launcher_l",
|
|
"flare_launcher_r"
|
|
};
|
|
memoryPointCMDir[]=
|
|
{
|
|
"flare_launcher_l_dir",
|
|
"flare_launcher_r_dir"
|
|
};
|
|
weapons[]=
|
|
{
|
|
"BRAF_master_arm_safe",
|
|
"CMFlareLauncher"
|
|
};
|
|
magazines[]=
|
|
{
|
|
"braf_master_safe_magazine",
|
|
"120Rnd_CMFlare_Chaff_Magazine"
|
|
};
|
|
reportRemoteTargets=1;
|
|
reportOwnPosition=1;
|
|
radarType=4;
|
|
lockDetectionSystem=CM_Lock_Radar;
|
|
incomingMissileDetectionSystem=CM_Lock_Radar + CM_Missile;
|
|
class EjectionSystem
|
|
{
|
|
EjectionSeatEnabled=1;
|
|
EjectionDual=0;
|
|
EjectionSeatClass="braf_ejection_seat_A29";
|
|
CanopyClass="braf_A29_canopy";
|
|
EjectionSeatHideAnim="FrontEjectionSeatHide";
|
|
EjectionSeatRailAnim="FrontEjectionSeatMotion";
|
|
EjectionSeatHideAnim2="BackEjectionSeatHide";
|
|
EjectionSeatRailAnim2="BackEjectionSeatMotion";
|
|
CanopyHideAnim="CanopyHide";
|
|
EjectionSeatPos="pos_eject_1";
|
|
EjectionSeatPos2="pos_eject_2";
|
|
CanopyPos="pos_eject_canopy";
|
|
EjectionSoundExt="Plane_Fighter_01_ejection_ext_sound";
|
|
EjectionSoundInt="Plane_Fighter_01_ejection_in_sound";
|
|
EjectionParachute="Steerable_Parachute_F";
|
|
EjectionSeatForce=50;
|
|
CanopyForce=30;
|
|
};
|
|
class TransportItems{};
|
|
class HitPoints: HitPoints
|
|
{
|
|
class HitHull: HitHull
|
|
{
|
|
name="Hit_Hull";
|
|
visual="Hit_Hull";
|
|
armor=4.5;
|
|
explosionShielding=3;
|
|
passThrough=1;
|
|
radius=0.5;
|
|
minimalHit=0.05;
|
|
depends="0";
|
|
material=-1;
|
|
};
|
|
class HitRotor: HitHull
|
|
{
|
|
armor=0.25;
|
|
explosionShielding=1;
|
|
name="Hit_Rotor";
|
|
passThrough=0.2;
|
|
radius=0.05;
|
|
visual="Hit_Rotor";
|
|
depends="0";
|
|
minimalHit=0.1;
|
|
};
|
|
class HitEngine: HitHull
|
|
{
|
|
name="Hit_Engine";
|
|
visual="Hit_Engine";
|
|
armor=3.5;
|
|
explosionShielding=3.5;
|
|
passThrough=1;
|
|
radius=0.6;
|
|
minimalHit=0.1;
|
|
depends="HitRotor";
|
|
};
|
|
class HitAvionics: HitHull
|
|
{
|
|
name="Hit_Avionics";
|
|
visual="Hit_Avionics";
|
|
armor=3;
|
|
explosionShielding=3.5;
|
|
passThrough=0.6;
|
|
radius=0.05;
|
|
minimalHit=0.05;
|
|
};
|
|
// Main fueslage fuel tank
|
|
class HitFuelL: HitHull
|
|
{
|
|
name="Hit_FuelL";
|
|
visual="Hit_FuelL";
|
|
armor=3;
|
|
explosionShielding=4;
|
|
passThrough=0.5;
|
|
radius=0.25;
|
|
minimalHit=0.1;
|
|
};
|
|
class HitFuelR: HitHull
|
|
{
|
|
name="Hit_FuelR";
|
|
visual="Hit_FuelR";
|
|
armor=3;
|
|
explosionShielding=4;
|
|
passThrough=0.5;
|
|
radius=0.25;
|
|
minimalHit=0.1;
|
|
};
|
|
class HitFuel: HitHull
|
|
{
|
|
name="HitFuelX";
|
|
visual="";
|
|
armor=999;
|
|
explosionShielding=0;
|
|
passThrough=0.5;
|
|
radius=0.1;
|
|
minimalHit=0.1;
|
|
depends="(HitFuelL + HitFuelR)*0.5";
|
|
};
|
|
// Cockpit glass
|
|
class HitGlass1: HitHull
|
|
{
|
|
name="Hit_Glass1";
|
|
visual="Glass1";
|
|
armor=1.2;
|
|
explosionShielding=3;
|
|
passThrough=0;
|
|
radius=0.1;
|
|
minimalHit=0.1;
|
|
};
|
|
class HitGlass2: HitGlass1
|
|
{
|
|
name="Hit_Glass2";
|
|
visual="Glass2";
|
|
armor=1.5;
|
|
explosionShielding=2.5;
|
|
radius=0.1;
|
|
minimalHit=0.1;
|
|
};
|
|
class HitGlass3: HitGlass1
|
|
{
|
|
name="Hit_Glass3";
|
|
visual="Glass3";
|
|
armor=1.5;
|
|
explosionShielding=2.5;
|
|
radius=0.1;
|
|
minimalHit=0.1;
|
|
};
|
|
class HitGlass1_int: HitGlass1
|
|
{
|
|
visual="Glass1_int";
|
|
};
|
|
class HitGlass2_int: HitGlass2
|
|
{
|
|
visual="Glass2_int";
|
|
};
|
|
class HitGlass3_int: HitGlass3
|
|
{
|
|
visual="Glass3_int";
|
|
};
|
|
// Steering hitpoints - LC means left or center
|
|
class HitLAileron: HitHull
|
|
{
|
|
name="Hit_AileronL";
|
|
visual="Hit_AileronL";
|
|
armor=1.8;
|
|
explosionShielding=3;
|
|
passThrough=0.3;
|
|
radius=0.25;
|
|
minimalHit=0.05;
|
|
};
|
|
class HitRAileron: HitLAileron
|
|
{
|
|
name="Hit_AileronR";
|
|
visual="Hit_AileronR";
|
|
};
|
|
class HitLCRudder: HitHull
|
|
{
|
|
name="Hit_RudderC";
|
|
visual="Hit_RudderC";
|
|
armor=2;
|
|
explosionShielding=3;
|
|
passThrough=0.3;
|
|
radius=0.2L;
|
|
minimalHit=0.05;
|
|
};
|
|
class HitLCElevator: HitHull
|
|
{
|
|
name="Hit_ElevatorL";
|
|
visual="Hit_ElevatorL";
|
|
armor=1.5;
|
|
explosionShielding=3;
|
|
passThrough=0.3;
|
|
radius=0.3;
|
|
minimalHit=0.05;
|
|
};
|
|
class HitRElevator: HitLCElevator
|
|
{
|
|
name="Hit_ElevatorR";
|
|
visual="Hit_ElevatorR";
|
|
};
|
|
};
|
|
class Exhausts
|
|
{
|
|
class Exhaust1
|
|
{
|
|
position="Exhaustl";
|
|
direction="exhaustl_dir";
|
|
effect="ExhaustsEffectPlaneHP";
|
|
engineIndex=0;
|
|
};
|
|
class Exhaust02
|
|
{
|
|
direction="exhaustr_dir";
|
|
effect="ExhaustsEffectPlaneHP";
|
|
position="exhaustr";
|
|
};
|
|
};
|
|
class WingVortices
|
|
{
|
|
class WingTipLeft
|
|
{
|
|
effectName="WingVortices";
|
|
position="body_vapour_L_E";
|
|
};
|
|
class WingTipRight
|
|
{
|
|
effectName="WingVortices";
|
|
position="body_vapour_R_E";
|
|
};
|
|
class BodyLeft
|
|
{
|
|
effectName="BodyVortices";
|
|
position="body_vapour_L_S";
|
|
};
|
|
class BodyRight
|
|
{
|
|
effectName="BodyVortices";
|
|
position="body_vapour_R_S";
|
|
};
|
|
};
|
|
#include "cfgFlightModel.hpp"
|
|
#include "cfgPhysX.hpp"
|
|
#include "cfgPIP.hpp"
|
|
#include "cfgSounds.hpp"
|
|
driveOnComponent[]={};
|
|
laserScanner=1;
|
|
showAllTargets=4;
|
|
gunAimDown=0.03;
|
|
headAimDown=0.0000;
|
|
memoryPointLRocket="Rocket_1";
|
|
memoryPointRRocket="Rocket_2";
|
|
minFireTime=30;
|
|
extCameraPosition[]={0,4,-15};
|
|
threat[]={0.8,1,0.5};
|
|
receiveRemoteTargets=1;
|
|
class Components : Components
|
|
{
|
|
class SensorsManagerComponent
|
|
{
|
|
class Components
|
|
{
|
|
class IRSensorComponent
|
|
{
|
|
class AirTarget
|
|
{
|
|
minRange=1500;
|
|
maxRange=5000;
|
|
objectDistanceLimitCoef=-1;
|
|
viewDistanceLimitCoef=1;
|
|
};
|
|
class GroundTarget
|
|
{
|
|
minRange=2000;
|
|
maxRange=5000;
|
|
objectDistanceLimitCoef=1;
|
|
viewDistanceLimitCoef=1;
|
|
};
|
|
angleRangeHorizontal=360;
|
|
angleRangeVertical=90;
|
|
maxTrackableSpeed=400;
|
|
componentType="IRSensorComponent";
|
|
typeRecognitionDistance=2000;
|
|
maxFogSeeThrough=0.995;
|
|
color[]={1, 0, 0, 1};
|
|
allowsMarking=1;
|
|
groundNoiseDistanceCoef=-1;
|
|
maxGroundNoiseDistance=-1;
|
|
minSpeedThreshold=0;
|
|
maxSpeedThreshold=0;
|
|
animDirection="";
|
|
aimDown=0;
|
|
minTrackableSpeed=-1e+010;
|
|
minTrackableATL=-1e+010;
|
|
maxTrackableATL=1e+010;
|
|
};
|
|
class VisualSensorComponent
|
|
{
|
|
class AirTarget
|
|
{
|
|
minRange=1500;
|
|
maxRange=5000;
|
|
objectDistanceLimitCoef=-1;
|
|
viewDistanceLimitCoef=1;
|
|
};
|
|
class GroundTarget
|
|
{
|
|
minRange=2000;
|
|
maxRange=5000;
|
|
objectDistanceLimitCoef=1;
|
|
viewDistanceLimitCoef=1;
|
|
};
|
|
angleRangeHorizontal=26;
|
|
angleRangeVertical=20;
|
|
maxTrackableSpeed=100;
|
|
aimDown=1;
|
|
animDirection="main1turret";
|
|
componentType="VisualSensorComponent";
|
|
nightRangeCoef=0;
|
|
maxFogSeeThrough=0.94;
|
|
color[]={1, 1, 0.5, 0.80000001};
|
|
typeRecognitionDistance=2000;
|
|
allowsMarking=1;
|
|
groundNoiseDistanceCoef=-1;
|
|
maxGroundNoiseDistance=-1;
|
|
minSpeedThreshold=0;
|
|
maxSpeedThreshold=0;
|
|
minTrackableSpeed=-1e+010;
|
|
minTrackableATL=-1e+010;
|
|
maxTrackableATL=1e+010;
|
|
};
|
|
class SensorTemplateVisual
|
|
{
|
|
class AirTarget
|
|
{
|
|
minRange=1500;
|
|
maxRange=5000;
|
|
objectDistanceLimitCoef=-1;
|
|
viewDistanceLimitCoef=1;
|
|
};
|
|
class GroundTarget
|
|
{
|
|
minRange=2000;
|
|
maxRange=5000;
|
|
objectDistanceLimitCoef=1;
|
|
viewDistanceLimitCoef=1;
|
|
};
|
|
angleRangeHorizontal=360;
|
|
angleRangeVertical=90;
|
|
maxTrackableSpeed=400;
|
|
componentType="SensorTemplateVisual";
|
|
typeRecognitionDistance=2000;
|
|
maxFogSeeThrough=0.995;
|
|
color[]={1, 0, 0, 1};
|
|
allowsMarking=1;
|
|
groundNoiseDistanceCoef=-1;
|
|
maxGroundNoiseDistance=-1;
|
|
minSpeedThreshold=0;
|
|
maxSpeedThreshold=0;
|
|
animDirection="";
|
|
aimDown=0;
|
|
minTrackableSpeed=-1e+010;
|
|
minTrackableATL=-1e+010;
|
|
maxTrackableATL=1e+010;
|
|
};
|
|
class LaserSensorComponent
|
|
{
|
|
componentType="LaserSensorComponent";
|
|
class AirTarget
|
|
{
|
|
minRange=4000;
|
|
maxRange=4000;
|
|
objectDistanceLimitCoef=-1;
|
|
viewDistanceLimitCoef=-1;
|
|
};
|
|
class GroundTarget
|
|
{
|
|
minRange=5000;
|
|
maxRange=5000;
|
|
objectDistanceLimitCoef=-1;
|
|
viewDistanceLimitCoef=-1;
|
|
};
|
|
angleRangeHorizontal=180;
|
|
angleRangeVertical=180;
|
|
typeRecognitionDistance=0;
|
|
color[]={1, 1, 1, 0};
|
|
allowsMarking=1;
|
|
groundNoiseDistanceCoef=-1;
|
|
maxGroundNoiseDistance=-1;
|
|
minSpeedThreshold=0;
|
|
maxSpeedThreshold=0;
|
|
animDirection="";
|
|
aimDown=0;
|
|
minTrackableSpeed=-1e+010;
|
|
maxTrackableSpeed=1e+010;
|
|
minTrackableATL=-1e+010;
|
|
maxTrackableATL=1e+010;
|
|
};
|
|
class NVSensorComponent
|
|
{
|
|
componentType="NVSensorComponent";
|
|
color[]={1, 1, 1, 0};
|
|
typeRecognitionDistance=0;
|
|
class AirTarget
|
|
{
|
|
minRange=4000;
|
|
maxRange=4000;
|
|
objectDistanceLimitCoef=-1;
|
|
viewDistanceLimitCoef=-1;
|
|
};
|
|
class GroundTarget
|
|
{
|
|
minRange=5000;
|
|
maxRange=5000;
|
|
objectDistanceLimitCoef=-1;
|
|
viewDistanceLimitCoef=-1;
|
|
};
|
|
angleRangeHorizontal=90;
|
|
angleRangeVertical=90;
|
|
allowsMarking=1;
|
|
groundNoiseDistanceCoef=-1;
|
|
maxGroundNoiseDistance=-1;
|
|
minSpeedThreshold=0;
|
|
maxSpeedThreshold=0;
|
|
animDirection="";
|
|
aimDown=0;
|
|
minTrackableSpeed=-1e+010;
|
|
maxTrackableSpeed=1e+010;
|
|
minTrackableATL=-1e+010;
|
|
maxTrackableATL=1e+010;
|
|
};
|
|
};
|
|
};
|
|
class TransportPylonsComponent
|
|
{
|
|
uiPicture="braf\braf_air2\braf_airplanes\braf_super_tucano\Data\UI\Plane_A29_3DEN_CA.paa";
|
|
class Pylons
|
|
{
|
|
class Pylons1
|
|
{
|
|
hardpoints[]=
|
|
{
|
|
"BRAF_PIRANHA_PYLON",
|
|
"BRAF_MK82_PYLON",
|
|
"BRAF_GBU58_PYLON",
|
|
"BRAF_EQ_LMF_70_7_gat_PYLON",
|
|
"BRAF_EQ_LMF_70_7_he_PYLON",
|
|
"BRAF_EQ_LMF_70_7_ap_PYLON"
|
|
};
|
|
attachment="BRAF_PylonPod_EQ_LMF_70_7_he";
|
|
priority=5;
|
|
maxweight=300;
|
|
UIposition[]={0.35, 0.08};
|
|
};
|
|
class Pylons2 : Pylons1
|
|
{
|
|
hardpoints[]=
|
|
{
|
|
"BRAF_EFT_PYLON",
|
|
"BRAF_BLG252_PYLON",
|
|
"BRAF_MK82_PYLON",
|
|
"BRAF_GBU58_PYLON",
|
|
"BRAF_GBU12_PYLON",
|
|
"BRAF_M117_PYLON",
|
|
"BRAF_EQ_LMF_70_7_gat_PYLON",
|
|
"BRAF_EQ_LMF_70_19_gat_PYLON",
|
|
"BRAF_EQ_LMF_70_7_he_PYLON",
|
|
"BRAF_EQ_LMF_70_7_ap_PYLON",
|
|
"BRAF_EQ_LMF_70_19_he_PYLON",
|
|
"BRAF_EQ_LMF_70_19_ap_PYLON"
|
|
};
|
|
priority=4;
|
|
attachment="BRAF_PylonPod_EQ_LMF_70_7_he";
|
|
maxweight=350;
|
|
UIposition[]={0.345, 0.13};
|
|
};
|
|
class Pylons3 : Pylons1
|
|
{
|
|
priority=2;
|
|
attachment="BRAF_Pylon_EFT";
|
|
maxweight=500;
|
|
UIposition[]={0.27, 0.28};
|
|
hardpoints[]=
|
|
{
|
|
"BRAF_EFT_PYLON",
|
|
"BRAF_MK82_PYLON",
|
|
"BRAF_GBU58_PYLON",
|
|
"BRAF_GBU12_PYLON"
|
|
};
|
|
};
|
|
class Pylons4 : Pylons2
|
|
{
|
|
UIposition[]={0.345, 0.38};
|
|
mirroredMissilePos=2;
|
|
};
|
|
class Pylons5 : Pylons1
|
|
{
|
|
UIposition[]={0.35, 0.43};
|
|
mirroredMissilePos=1;
|
|
};
|
|
};
|
|
class Presets
|
|
{
|
|
class Empty
|
|
{
|
|
displayName="$STR_empty";
|
|
attachment[]=
|
|
{
|
|
};
|
|
};
|
|
class ASP
|
|
{
|
|
displayName="Air Surveilance Patrol";
|
|
attachment[]=
|
|
{
|
|
"",
|
|
"BRAF_Pylon_EFT",
|
|
"",
|
|
"BRAF_Pylon_EFT",
|
|
""
|
|
};
|
|
};
|
|
class LCAP
|
|
{
|
|
displayName="Light Combat Air Patrol";
|
|
attachment[]=
|
|
{
|
|
"braf_Pylon_Missile_MAA1A_x1",
|
|
"",
|
|
"",
|
|
"",
|
|
"braf_Pylon_Missile_MAA1A_x1"
|
|
};
|
|
};
|
|
class CAS
|
|
{
|
|
displayName="Close Air Support";
|
|
attachment[]=
|
|
{
|
|
"BRAF_PylonPod_EQ_LMF_70_7_ap",
|
|
"BRAF_PylonPod_EQ_LMF_70_19_he",
|
|
"BRAF_Pylon_Mk82",
|
|
"BRAF_PylonPod_EQ_LMF_70_19_he",
|
|
"BRAF_PylonPod_EQ_LMF_70_7_ap"
|
|
};
|
|
};
|
|
class AAS
|
|
{
|
|
displayName="Anti Armored Support";
|
|
attachment[] =
|
|
{
|
|
"BRAF_PylonPod_EQ_LMF_70_7_gat",
|
|
"BRAF_PylonPod_EQ_LMF_70_19_ap",
|
|
"",
|
|
"BRAF_PylonPod_EQ_LMF_70_19_ap",
|
|
"BRAF_PylonPod_EQ_LMF_70_7_gat"
|
|
};
|
|
};
|
|
class APS
|
|
{
|
|
displayName="Anti Personel Support";
|
|
attachment[] =
|
|
{
|
|
"BRAF_PylonPod_EQ_LMF_70_7_he",
|
|
"BRAF_BLG252_PYLON",
|
|
"",
|
|
"BRAF_BLG252_PYLON",
|
|
"BRAF_PylonPod_EQ_LMF_70_7_he"
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
class MarkerLights
|
|
{
|
|
class PositionRed
|
|
{
|
|
color[]={0.8,0,0};
|
|
ambient[]={0.09,0.015,0.01};
|
|
intensity=75;
|
|
drawLight=1;
|
|
flareSize=1;
|
|
brightness=0.01;
|
|
drawLightSize=0.25;
|
|
drawLightCenterSize=0.08;
|
|
activeLight=0;
|
|
blinking=0;
|
|
dayLight=1;
|
|
useFlare=1;
|
|
name="red_position";
|
|
};
|
|
class PositionGreen : PositionRed
|
|
{
|
|
color[]={0, 0.8, 0};
|
|
name="green_position";
|
|
};
|
|
class PositionWhite : PositionRed
|
|
{
|
|
color[]={1,1,1};
|
|
name="white_position";
|
|
};
|
|
class CollisionRed : PositionRed
|
|
{
|
|
blinking=1;
|
|
blinkingpattern[]={0.2,1.3};
|
|
blinkingpatternguarantee=0;
|
|
name="red_collision";
|
|
};
|
|
class CollisionWhite : PositionRed
|
|
{
|
|
blinking=1;
|
|
blinkingpattern[]={0.05,0.9};
|
|
blinkingpatternguarantee=0;
|
|
intensity=150;
|
|
color[]={1,1,1};
|
|
drawlightcentersize=0.04;
|
|
drawlightsize=1;
|
|
name="white_collision";
|
|
};
|
|
};
|
|
class Reflectors
|
|
{
|
|
class Left
|
|
{
|
|
color[]={7000, 7500, 10000, 1}; // defines red, green, blue and alpha components of the light
|
|
ambient[]={100, 100, 100}; // the same definition format for colouring the environment around
|
|
position="light_l"; // name of memory point in model to take the origin of the light
|
|
direction="light_l_end"; // name of memory point in the model to make a vector of direction of light from it's position
|
|
hitpoint="Hit_LightL"; // name of hitpoint selection in hitpoint lod of the model to be affected by damage
|
|
selection="light_l"; // name of selection in visual lods of the model that are going to be hidden while the light is off
|
|
innerAngle=20; // angle from light direction vector where the light is at full strength
|
|
outerAngle=60; // angle from light direction vector where the light is completely faded out
|
|
coneFadeCoef=10; // coefficient of fading the light between inner and outer cone angles
|
|
intensity=50; // how much does the light shine (in some strange units, just tweak until it is satisfying), rough approximation is intensity=(brightness * 50) ^ 2
|
|
useFlare=true; // boolean switch if the light produces flare or not
|
|
dayLight=true; // boolean switch if the light is used during day or not
|
|
FlareSize=4; // how big is the flare, using the same metrics as intensity
|
|
size=1; // defines the visible size of light, has not much of an effect now
|
|
class Attenuation // describes how fast does the light dim
|
|
{
|
|
start=1; // offset of start of the attenuation
|
|
constant=0; // constant attenuation of the light in any distance from source
|
|
linear=0; // coefficient for linear attenuation
|
|
quadratic=4; // coefficient for attenuation with square of distance from source
|
|
|
|
hardLimitStart=150; // distance from source where the light intensity decreases for drawing
|
|
hardLimitEnd=300; // distance from source where the light is not displayed (shorter distances increase performance)
|
|
};
|
|
};
|
|
class Right : Left
|
|
{
|
|
position="light_r";
|
|
direction="light_r_end";
|
|
hitpoint="Hit_LightR";
|
|
selection="light_r";
|
|
};
|
|
class Light_wing_left : left
|
|
{
|
|
direction="light_wing_l_end";
|
|
hitpoint="Hit_Light_WingL";
|
|
position="light_wing_l";
|
|
selection="light_wing_l";
|
|
};
|
|
class Light_wing_right : left
|
|
{
|
|
direction="light_wing_r_end";
|
|
hitpoint="Hit_Light_WingR";
|
|
position="light_wing_r";
|
|
selection="light_wing_r";
|
|
};
|
|
};
|
|
class compartmentsLights
|
|
{
|
|
class Compartment1
|
|
{
|
|
class Light1
|
|
{
|
|
color[]={10,35,10};
|
|
ambient[]={0,0,0};
|
|
intensity=1;
|
|
size=0;
|
|
useFlare=0;
|
|
flareSize=0;
|
|
flareMaxDistance=0;
|
|
dayLight=0;
|
|
blinking=0;
|
|
drawLight=0;
|
|
activeLight=0;
|
|
point="cabin_light_pilot_l";
|
|
class Attenuation
|
|
{
|
|
start=0;
|
|
constant=0;
|
|
linear=1;
|
|
quadratic=50;
|
|
hardLimitStart=0.25;
|
|
hardLimitEnd=0.75;
|
|
};
|
|
};
|
|
class Light2: Light1
|
|
{
|
|
point="cabin_light_pilot_r";
|
|
};
|
|
};
|
|
class Compartment2: Compartment1
|
|
{
|
|
class Light3: Light1
|
|
{
|
|
point="cabin_light_copilot_l";
|
|
};
|
|
class Light4: Light1
|
|
{
|
|
point="cabin_light_copilot_r";
|
|
};
|
|
};
|
|
};
|
|
class MFD
|
|
{
|
|
#include "cfgMFD.hpp"
|
|
};
|
|
class AnimationSources
|
|
{
|
|
class Formation_Markers
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class PositionWhite_source
|
|
{
|
|
markerlight="PositionWhite";
|
|
source="MarkerLight";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class PositionGreen_source
|
|
{
|
|
markerlight="PositionGreen";
|
|
source="MarkerLight";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class PositionRed_source
|
|
{
|
|
markerlight="PositionRed";
|
|
source="MarkerLight";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class CollisionLightRed_source
|
|
{
|
|
markerlight="CollisionRed";
|
|
source="MarkerLight";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class CollisionLightWhite_source
|
|
{
|
|
markerlight="CollisionWhite";
|
|
source="MarkerLight";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class a29a_hide
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class a29b_hide
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class canopy_hide
|
|
{
|
|
source="user";
|
|
animPeriod=0.001;
|
|
initPhase=0;
|
|
};
|
|
class front_ejection_seat_hide: canopy_hide
|
|
{
|
|
source="user";
|
|
animPeriod=0.001;
|
|
initPhase=0;
|
|
};
|
|
class back_ejection_seat_hide: canopy_hide
|
|
{
|
|
source="user";
|
|
animPeriod=0.001;
|
|
initPhase=0;
|
|
};
|
|
class front_ejection_seat_motion
|
|
{
|
|
source="user";
|
|
animPeriod=0.25;
|
|
initPhase=0;
|
|
};
|
|
class back_ejection_seat_motion: front_ejection_seat_motion
|
|
{
|
|
source="user";
|
|
animPeriod=0.25;
|
|
initPhase=0;
|
|
};
|
|
//class RBFHide
|
|
//{
|
|
// source = "user";
|
|
// animPeriod = 0.001;
|
|
// initPhase = 0;
|
|
//};
|
|
class FrontSMS_On
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=1;
|
|
};
|
|
class FrontADHSI_On
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class FrontEICAS_On
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class FrontFLIr_On
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=1;
|
|
};
|
|
};
|
|
class UserActions
|
|
{
|
|
class Formation_markers_on
|
|
{
|
|
displayName="Formation Markers on";
|
|
condition="this animationPhase 'FormationMarkers' < 0.5 and (player in this)";
|
|
statement="this animate ['FormationMarkers',1]";
|
|
position="pilotcontrol";
|
|
radius=10;
|
|
priority=0;
|
|
onlyforplayer=0;
|
|
showWindow=0;
|
|
};
|
|
class Formation_markers_off: Formation_markers_on
|
|
{
|
|
displayName="Formation Markers off";
|
|
condition="this animationPhase 'FormationMarkers' > 0.5 and (player in this)";
|
|
statement="this animate ['FormationMarkers',0]";
|
|
};
|
|
class FrontSMSOn: Formation_markers_on
|
|
{
|
|
displayName="SMS Left Screen";
|
|
condition="this animationPhase 'FrontSMSMotion' > 0.5 and (driver this == player)";
|
|
statement="this animate ['FrontSMSMotion',0] && this animate ['FrontADHSIMotion',1]";
|
|
};
|
|
class FrontADHSIOn: Formation_markers_on
|
|
{
|
|
displayName="ADHSI Left Screen";
|
|
condition="this animationPhase 'FrontADHSIMotion' > 0.5 and (driver this == player)";
|
|
statement="this animate ['FrontSMSMotion',1] && this animate ['FrontADHSIMotion',0]";
|
|
};
|
|
class FrontEICASOn: Formation_markers_on
|
|
{
|
|
displayName="EICAS Right Screen";
|
|
condition="this animationPhase 'FrontEICASMotion' > 0.5 and (driver this == player)";
|
|
statement="this animate ['FrontFLIrMotion',1] && this animate ['FrontEICASMotion',0]";
|
|
};
|
|
class FrontFLIrOn: Formation_markers_on
|
|
{
|
|
displayName="FLIr Right Screen";
|
|
condition="this animationPhase 'FrontFLIrMotion' > 0.5 and (driver this == player)";
|
|
statement="this animate ['FrontEICASMotion',1] && this animate ['FrontFLIrMotion',0]";
|
|
};
|
|
//class RemoveBeforeFlight_on
|
|
//{
|
|
// displayName="Put covers and wheel chocks";
|
|
// condition="this animationPhase 'RBFHide' > 0.5 && {rpm this < 0.01}";
|
|
// statement="this animate ['RBFHide',0] && this animate ['Rotor',0]";
|
|
// position="pilotcontrol";
|
|
// radius=10;
|
|
// priority=0;
|
|
// onlyforplayer=1;
|
|
// showWindow=0;
|
|
//};
|
|
//class RemoveBeforeFlight_off: RemoveBeforeFlight_on
|
|
//{
|
|
// displayName="Remove covers and wheel chocks";
|
|
// condition="this animationPhase 'RBFHide' < 0.5 && {rpm this < 0.01}";
|
|
// statement="this animate ['RBFHide',1]";
|
|
//};
|
|
class BRAF_A29A_Eject
|
|
{
|
|
priority=0.05;
|
|
shortcut="Eject";
|
|
displayName="<t color='#FF0000'>Eject</t>";
|
|
condition="(player in this) && {speed this > 1}";
|
|
statement="[this] spawn BRAF_fnc_EjectPilot";
|
|
position="pilotcontrol";
|
|
radius=10;
|
|
onlyforplayer=1;
|
|
showWindow=0;
|
|
hideOnUse=1;
|
|
};
|
|
};
|
|
class Eventhandlers : Eventhandlers
|
|
{
|
|
init="if (local (_this select 0)) then { [(_this select 0), """", [], false] call BIS_fnc_initVehicle; };";
|
|
hit="_this call bis_fnc_planeAiEject";
|
|
};
|
|
hiddenSelections[]=
|
|
{
|
|
"camo1",
|
|
"camo2",
|
|
"glass1",
|
|
"glass2",
|
|
"glass3",
|
|
"glass1_int",
|
|
"glass2_int",
|
|
"glass3_int",
|
|
"armor"
|
|
};
|
|
hiddenSelectionsTextures[]=
|
|
{
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo1_A_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo2_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\Extras_A_co.paa"
|
|
|
|
};
|
|
class Damage
|
|
{
|
|
tex[]={};
|
|
mat[]=
|
|
{
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo1.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo1_damage.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\destruct.rvmat",
|
|
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo2.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo2_damage.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\destruct.rvmat",
|
|
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit_damage.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit_damage.rvmat",
|
|
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit_damage.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit_damage.rvmat",
|
|
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit_damage.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit_damage.rvmat",
|
|
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit_in.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit_damage.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit_damage.rvmat",
|
|
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit_in.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit_damage.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit_damage.rvmat",
|
|
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit_in.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit_damage.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit_damage.rvmat",
|
|
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\Extras.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\Extras_damage.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\destruct.rvmat",
|
|
};
|
|
};
|
|
};
|
|
class braf_A29A: BRAF_A29_base
|
|
{
|
|
_generalmacro="BRAF_A29A";
|
|
scope=2;
|
|
scopeCurator=2;
|
|
side="2";
|
|
faction="BRAF_FAB";
|
|
displayName="A-29A Super Tucano Single Seat";
|
|
editorPreview="\braf\braf_insignia\editorpreview\air2\BRAF_A29A.jpg";
|
|
class AnimationSources: AnimationSources
|
|
{
|
|
class a29a_hide
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class a29b_hide
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=1;
|
|
};
|
|
};
|
|
class Armory
|
|
{
|
|
description="A-29A Super Tucano single seat";
|
|
};
|
|
weapons[]=
|
|
{
|
|
"BRAF_master_arm_safe",
|
|
"BRAF_M3W_A29",
|
|
"CMFlareLauncher"
|
|
};
|
|
magazines[]=
|
|
{
|
|
"braf_master_safe_magazine",
|
|
"BRAF_A29_500Rnd_50_cal_M",
|
|
"120Rnd_CMFlare_Chaff_Magazine"
|
|
};
|
|
crew="braf_characters_aviation_air_force_fighter_pilot";
|
|
typicalcargo[]={""};
|
|
hiddenSelectionsTextures[]=
|
|
{
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo1_A_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo2_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\Extras_A_co.paa"
|
|
};
|
|
availableForSupportTypes[]=
|
|
{
|
|
"CAS_Bombing"
|
|
};
|
|
class TextureSources
|
|
{
|
|
class FAB_A
|
|
{
|
|
displayName="Brazilian Air Force Single Seat";
|
|
author="BRAF Team";
|
|
factions[]=
|
|
{
|
|
"BRAF_FAB"
|
|
};
|
|
textures[]=
|
|
{
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo1_A_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo2_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\Extras_A_co.paa"
|
|
};
|
|
};
|
|
};
|
|
textureList[]=
|
|
{
|
|
"FAB_A",1
|
|
};
|
|
};
|
|
class braf_A29_EDA: BRAF_A29_base
|
|
{
|
|
_generalmacro="BRAF_A29_EDA";
|
|
scope=2;
|
|
scopeCurator=2;
|
|
forceInGarage=1;
|
|
side="2";
|
|
faction="BRAF_FAB";
|
|
displayName="A-29A Super Tucano 'Smoke Squadron'";
|
|
editorPreview="\braf\braf_insignia\editorpreview\air2\braf_A29_EDA.jpg";
|
|
threat[]={0,0,0};
|
|
class EjectionSystem: EjectionSystem
|
|
{
|
|
CanopyClass="braf_A29_canopy_EDA";
|
|
};
|
|
class Armory
|
|
{
|
|
description="A-29A Super Tucano 'Smoke Squadron' single seat";
|
|
};
|
|
weapons[]={"FakeHorn"};
|
|
magazines[]={};
|
|
class Components{};
|
|
crew="braf_characters_aviation_air_force_fighter_pilot";
|
|
typicalcargo[]={""};
|
|
class UserActions
|
|
{
|
|
class Formation_markers_on
|
|
{
|
|
displayName="Formation Markers on";
|
|
condition="this animationPhase 'FormationMarkers' < 0.5 and player in this";
|
|
statement="this animate ['FormationMarkers',1]";
|
|
position="pilotcontrol";
|
|
radius=10;
|
|
priority=0;
|
|
onlyforplayer=0;
|
|
showWindow=0;
|
|
};
|
|
class Formation_markers_off: Formation_markers_on
|
|
{
|
|
displayName="Formation Markers off";
|
|
condition="this animationPhase 'FormationMarkers' > 0.5 and player in this";
|
|
statement="this animate ['FormationMarkers',0]";
|
|
};
|
|
class BRAF_A29A_Eject
|
|
{
|
|
priority=0.05;
|
|
shortcut="Eject";
|
|
displayName="$STR_A3_action_eject";
|
|
condition="player in this && {speed this > 1}";
|
|
statement="[this] spawn BRAF_fnc_EjectPilot";
|
|
position="pilotcontrol";
|
|
radius=10;
|
|
onlyforplayer=1;
|
|
showWindow=0;
|
|
hideOnUse=1;
|
|
};
|
|
class BRAF_Smoke_Toggle
|
|
{
|
|
priority=0.05;
|
|
shortcut="Smoke!";
|
|
displayName="Fumaça já!";
|
|
condition="player in this && {speed this > 1}";
|
|
statement="[this] spawn BRAF_fnc_Smoker";
|
|
position="pilotcontrol";
|
|
radius=10;
|
|
onlyforplayer=1;
|
|
showWindow=0;
|
|
};
|
|
};
|
|
class AnimationSources: AnimationSources
|
|
{
|
|
class a29a_hide
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class a29b_hide
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=1;
|
|
};
|
|
class a29eda_hide
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=1;
|
|
};
|
|
};
|
|
hiddenSelectionsMaterials[]=
|
|
{
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo1_EDA.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo2.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glasspit.rvmat",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\Extras.rvmat"
|
|
};
|
|
hiddenSelectionsTextures[]=
|
|
{
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo1_EDA_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo2_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\Extras_A_co.paa"
|
|
};
|
|
availableForSupportTypes[]={};
|
|
class TextureSources
|
|
{
|
|
class FAB_EDA
|
|
{
|
|
displayName="Brazilian Air Force 'Smoke Squadron' Single Seat";
|
|
author="BRAF Team";
|
|
factions[]=
|
|
{
|
|
"BRAF_FAB"
|
|
};
|
|
textures[]=
|
|
{
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo1_EDA_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo2_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\Extras_A_co.paa"
|
|
};
|
|
};
|
|
};
|
|
textureList[]=
|
|
{
|
|
"FAB_EDA",1
|
|
};
|
|
cost=10;
|
|
};
|
|
class braf_A29B: BRAF_A29_base
|
|
{
|
|
_generalmacro="BRAF_A29B";
|
|
scope=2;
|
|
scopeCurator=2;
|
|
side="2";
|
|
forceInGarage=1;
|
|
hasDriver=1;
|
|
hasGunner=1;
|
|
faction="BRAF_FAB";
|
|
displayName="A-29B Super Tucano double seat";
|
|
editorPreview="\braf\braf_insignia\editorpreview\air2\BRAF_A29B.jpg";
|
|
class AnimationSources: AnimationSources
|
|
{
|
|
class Formation_Markers
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class CollisionLightRed_source
|
|
{
|
|
markerlight="CollisionRed";
|
|
source="MarkerLight";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class CollisionLightWhite_source
|
|
{
|
|
markerlight="CollisionWhite";
|
|
source="MarkerLight";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class a29a_hide
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=1;
|
|
};
|
|
class a29b_hide
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class canopy_hide
|
|
{
|
|
source="user";
|
|
animPeriod=0.001;
|
|
initPhase=0;
|
|
};
|
|
class front_ejection_seat_hide: canopy_hide
|
|
{
|
|
source="user";
|
|
animPeriod=0.001;
|
|
initPhase=0;
|
|
};
|
|
class back_ejection_seat_hide: canopy_hide
|
|
{
|
|
source="user";
|
|
animPeriod=0.001;
|
|
initPhase=0;
|
|
};
|
|
class front_ejection_seat_motion
|
|
{
|
|
source="user";
|
|
animPeriod=0.25;
|
|
initPhase=0;
|
|
};
|
|
class back_ejection_seat_motion: front_ejection_seat_motion
|
|
{
|
|
source="user";
|
|
animPeriod=0.25;
|
|
initPhase=0;
|
|
};
|
|
class FrontSMS_On
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=1;
|
|
};
|
|
class FrontADHSI_On
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class FrontEICAS_On
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class FrontFLIr_On
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=1;
|
|
};
|
|
class BackSMS_On
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=1;
|
|
};
|
|
class BackADHSI_On
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class BackEICAS_On
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=0;
|
|
};
|
|
class BackFLIr_On
|
|
{
|
|
source="user";
|
|
animPeriod=0;
|
|
initPhase=1;
|
|
};
|
|
};
|
|
class Armory
|
|
{
|
|
description="A-29B Super Tucano Tandem seat";
|
|
};
|
|
weapons[]=
|
|
{
|
|
"BRAF_master_arm_safe",
|
|
"BRAF_M3W_A29",
|
|
"CMFlareLauncher"
|
|
};
|
|
magazines[]=
|
|
{
|
|
"braf_master_safe_magazine",
|
|
"BRAF_A29_500Rnd_50_cal_M",
|
|
"120Rnd_CMFlare_Chaff_Magazine"
|
|
};
|
|
laserScanner=1;
|
|
showAllTargets=4;
|
|
nvScanner=1;
|
|
irScanRangeMin=100;
|
|
irScanRangeMax=5500;
|
|
irScanToEyeFactor=5;
|
|
irScanGround=1;
|
|
crew="braf_characters_aviation_air_force_fighter_pilot";
|
|
typicalcargo[]={"braf_characters_aviation_air_force_fighter_pilot"};
|
|
class UserActions
|
|
{
|
|
class Formation_markers_on
|
|
{
|
|
displayName="Formation Markers on";
|
|
condition="this animationPhase 'FormationMarkers' < 0.5 and (player in this)";
|
|
statement="this animate ['FormationMarkers',1]";
|
|
position="pilotcontrol";
|
|
radius=10;
|
|
priority=0;
|
|
onlyforplayer=0;
|
|
showWindow=0;
|
|
};
|
|
class Formation_markers_off: Formation_markers_on
|
|
{
|
|
displayName="Formation Markers off";
|
|
condition="this animationPhase 'FormationMarkers' > 0.5 and (player in this)";
|
|
statement="this animate ['FormationMarkers',0]";
|
|
};
|
|
class FrontSMSOn: Formation_markers_on
|
|
{
|
|
displayName="SMS Left Screen";
|
|
condition="this animationPhase 'FrontSMSMotion' > 0.5 and (driver this == player)";
|
|
statement="this animate ['FrontSMSMotion',0] && this animate ['FrontADHSIMotion',1]";
|
|
};
|
|
class BackSMSOn: Formation_markers_on
|
|
{
|
|
displayName="SMS Left Screen";
|
|
condition="this animationPhase 'BackSMSMotion' > 0.5 and (player in this) and (driver this != player)";
|
|
statement="this animate ['BackSMSMotion',0] && this animate ['BackADHSIMotion',1]";
|
|
};
|
|
class FrontADHSIOn: Formation_markers_on
|
|
{
|
|
displayName="ADHSI Left Screen";
|
|
condition="this animationPhase 'FrontADHSIMotion' > 0.5 and (driver this == player)";
|
|
statement="this animate ['FrontSMSMotion',1] && this animate ['FrontADHSIMotion',0]";
|
|
};
|
|
class BackADHSIOn: Formation_markers_on
|
|
{
|
|
displayName="ADHSI Left Screen";
|
|
condition="this animationPhase 'BackADHSIMotion' > 0.5 and (player in this) and (driver this != player)";
|
|
statement="this animate ['BackSMSMotion',1] && this animate ['BackADHSIMotion',0]";
|
|
};
|
|
class FrontEICASOn: Formation_markers_on
|
|
{
|
|
displayName="EICAS Right Screen";
|
|
condition="this animationPhase 'FrontEICASMotion' > 0.5 and (driver this == player)";
|
|
statement="this animate ['FrontFLIrMotion',1] && this animate ['FrontEICASMotion',0]";
|
|
};
|
|
class BackEICASOn: Formation_markers_on
|
|
{
|
|
displayName="EICAS Right Screen";
|
|
condition="this animationPhase 'BackEICASMotion' > 0.5 and (player in this) and (driver this != player)";
|
|
statement="this animate ['BackFLIrMotion',1] && this animate ['BackEICASMotion',0]";
|
|
};
|
|
class FrontFLIrOn: Formation_markers_on
|
|
{
|
|
displayName="FLIr Right Screen";
|
|
condition="this animationPhase 'FrontFLIrMotion' > 0.5 and (driver this == player)";
|
|
statement="this animate ['FrontEICASMotion',1] && this animate ['FrontFLIrMotion',0]";
|
|
};
|
|
class BackFLIrOn: Formation_markers_on
|
|
{
|
|
displayName="FLIr Right Screen";
|
|
condition="this animationPhase 'BackFLIrMotion' > 0.5 and (player in this) and (driver this != player)";
|
|
statement="this animate ['BackEICASMotion',1] && this animate ['BackFLIrMotion',0]";
|
|
};
|
|
class BRAF_A29B_Eject
|
|
{
|
|
priority=0.05;
|
|
shortcut="Eject";
|
|
displayName="<t color='#FF0000'>Eject</t>";
|
|
condition="(player in this) && {speed this > 1}";
|
|
statement="[this] spawn BRAF_fnc_EjectPilot; [this] call BRAF_fnc_EjectCopilot";
|
|
position="pilotcontrol";
|
|
radius=10;
|
|
onlyforplayer=1;
|
|
showWindow=0;
|
|
hideOnUse=1;
|
|
};
|
|
};
|
|
class NewTurret;
|
|
class Turrets: Turrets
|
|
{
|
|
class MainTurret: NewTurret
|
|
{
|
|
proxyIndex=1;
|
|
proxyType="CPGunner";
|
|
body="mainTurret";
|
|
gun="mainGun";
|
|
gunBeg="gunBeg";
|
|
gunEnd="gunEnd";
|
|
animationSourceBody="mainTurret";
|
|
animationSourceGun="mainGun";
|
|
stabilizedInAxes=3;
|
|
showAllTargets=4;
|
|
canEject=0;
|
|
primaryGunner=1;
|
|
primaryObserver=0;
|
|
memoryPointGunnerOptics="rendertarget4_dir";
|
|
minElev=-120;
|
|
maxElev=30;
|
|
initElev=0;
|
|
minTurn=-180;
|
|
maxTurn=180;
|
|
initTurn=0;
|
|
gunnerName="$STR_A3_COPILOT";
|
|
turretInfoType="BRAF_RscOptics_A29";
|
|
isCopilot=1;
|
|
weapons[]=
|
|
{
|
|
"Laserdesignator_mounted"
|
|
};
|
|
soundServo[]=
|
|
{
|
|
"",
|
|
0.0099999998,
|
|
1,
|
|
30
|
|
};
|
|
magazines[]=
|
|
{
|
|
"Laserbatteries"
|
|
};
|
|
startEngine=0;
|
|
gunnerHasFlares=0;
|
|
usePiP=1;
|
|
gunnerForceOptics = 0;
|
|
turretFollowFreeLook = 0;
|
|
outGunnerMayFire=1;
|
|
inGunnerMayFire=1;
|
|
gunnerAction="A29_Pilot";
|
|
gunnerInAction="A29_Pilot";
|
|
gunnerGetInAction="GetInHigh";
|
|
gunnerGetOutAction="GetOutHigh";
|
|
memoryPointsGetInGunner="pos driver";
|
|
memoryPointsGetInGunnerDir="pos driver dir";
|
|
memoryPointsGetInGunnerPrecise="pos driver";
|
|
precisegetinout=0;
|
|
gunnerOpticsEffect[]={};
|
|
gunnerOpticsModel="";
|
|
gunnerLeftHandAnimName="throttle_lever_copilot";
|
|
gunnerRightHandAnimName="stick_copilot";
|
|
gunnerLeftFootAnimName="pedal_b_l";
|
|
gunnerRightFootAnimName="pedal_b_r";
|
|
gunnerCompartments="Compartment2";
|
|
class ViewOptics: RCWSOptics
|
|
{
|
|
};
|
|
class OpticsIn: BRAF_A29_Gunner_Optics
|
|
{
|
|
class Wide: Wide
|
|
{
|
|
};
|
|
class Medium: Medium
|
|
{
|
|
};
|
|
class Narrow: Narrow
|
|
{
|
|
};
|
|
};
|
|
class OpticsOut
|
|
{
|
|
class Monocular
|
|
{
|
|
initAngleX = -5;
|
|
initAngleY = 0;
|
|
initFov = 0.75;
|
|
minFov = 0.25;
|
|
maxFov = 1.25;
|
|
minAngleX = -65;
|
|
maxAngleX = 85;
|
|
minAngleY = -150;
|
|
maxAngleY = 150;
|
|
visionMode[]=
|
|
{
|
|
"Normal",
|
|
"NVG"
|
|
};
|
|
gunnerOpticsModel="";
|
|
gunnerOpticsEffect[]={};
|
|
};
|
|
};
|
|
class ViewGunner: ViewPilot
|
|
{
|
|
initAngleX=-15;
|
|
};
|
|
class HitPoints
|
|
{
|
|
class HitTurret
|
|
{
|
|
armor=1;
|
|
material=-1;
|
|
name="HP_turret";
|
|
visual="mainTurret";
|
|
armorComponent="mainTurret";
|
|
passThrough=0.2;
|
|
radius=0.25;
|
|
};
|
|
class HitGun
|
|
{
|
|
armor=1;
|
|
material=-1;
|
|
name="HP_gun";
|
|
visual="mainGun";
|
|
armorComponent="mainGun";
|
|
passThrough=0.2;
|
|
radius=0.25;
|
|
};
|
|
};
|
|
class Reflectors
|
|
{
|
|
class BRAF_Interception_Light
|
|
{
|
|
color[]={7000,7500,10000};
|
|
ambient[]={70,75,100};
|
|
intensity=50;
|
|
size=1;
|
|
innerAngle=15;
|
|
outerAngle=65;
|
|
coneFadeCoef=10;
|
|
position="Interception_Light_pos";
|
|
direction="Interception_Light_dir";
|
|
hitpoint="HP_Interception_Light";
|
|
selection="Interception_Light";
|
|
useFlare=1;
|
|
flareSize=15;
|
|
flareMaxDistance=250;
|
|
dayLight=0;
|
|
class Attenuation
|
|
{
|
|
start=0;
|
|
constant=0;
|
|
linear=1;
|
|
quadratic=1;
|
|
hardLimitStart=100;
|
|
hardLimitEnd=200;
|
|
};
|
|
};
|
|
};
|
|
class Components
|
|
{
|
|
class VehicleSystemsDisplayManagerComponentLeft: VehicleSystemsTemplateLeftPilot
|
|
{
|
|
};
|
|
class VehicleSystemsDisplayManagerComponentRight: VehicleSystemsTemplateRightPilot
|
|
{
|
|
};
|
|
};
|
|
};
|
|
};
|
|
hiddenSelectionsTextures[]=
|
|
{
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo1_B_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo2_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\Extras_B_co.paa"
|
|
};
|
|
availableForSupportTypes[]=
|
|
{
|
|
"CAS_Bombing"
|
|
};
|
|
class TextureSources
|
|
{
|
|
class FAB_B
|
|
{
|
|
displayName="Brazilian Air Force Tandem Seat";
|
|
author="BRAF Team";
|
|
factions[]=
|
|
{
|
|
"BRAF_FAB"
|
|
};
|
|
textures[]=
|
|
{
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo1_B_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo2_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\Extras_B_co.paa"
|
|
};
|
|
};
|
|
};
|
|
textureList[]=
|
|
{
|
|
"FAB_B",1
|
|
};
|
|
class Components : Components
|
|
{
|
|
class SensorsManagerComponent
|
|
{
|
|
class Components
|
|
{
|
|
class IRSensorComponent
|
|
{
|
|
class AirTarget
|
|
{
|
|
minRange=1500;
|
|
maxRange=5000;
|
|
objectDistanceLimitCoef=-1;
|
|
viewDistanceLimitCoef=1;
|
|
};
|
|
class GroundTarget
|
|
{
|
|
minRange=2000;
|
|
maxRange=5000;
|
|
objectDistanceLimitCoef=1;
|
|
viewDistanceLimitCoef=1;
|
|
};
|
|
angleRangeHorizontal=360;
|
|
angleRangeVertical=90;
|
|
maxTrackableSpeed=400;
|
|
componentType="IRSensorComponent";
|
|
typeRecognitionDistance=2000;
|
|
maxFogSeeThrough=0.995;
|
|
color[]={1, 0, 0, 1};
|
|
allowsMarking=1;
|
|
groundNoiseDistanceCoef=-1;
|
|
maxGroundNoiseDistance=-1;
|
|
minSpeedThreshold=0;
|
|
maxSpeedThreshold=0;
|
|
animDirection="";
|
|
aimDown=0;
|
|
minTrackableSpeed=-1e+010;
|
|
minTrackableATL=-1e+010;
|
|
maxTrackableATL=1e+010;
|
|
};
|
|
class VisualSensorComponent
|
|
{
|
|
class AirTarget
|
|
{
|
|
minRange=1500;
|
|
maxRange=5000;
|
|
objectDistanceLimitCoef=-1;
|
|
viewDistanceLimitCoef=1;
|
|
};
|
|
class GroundTarget
|
|
{
|
|
minRange=2000;
|
|
maxRange=5000;
|
|
objectDistanceLimitCoef=1;
|
|
viewDistanceLimitCoef=1;
|
|
};
|
|
angleRangeHorizontal=26;
|
|
angleRangeVertical=20;
|
|
maxTrackableSpeed=100;
|
|
aimDown=1;
|
|
animDirection="main1turret";
|
|
componentType="VisualSensorComponent";
|
|
nightRangeCoef=0;
|
|
maxFogSeeThrough=0.94;
|
|
color[]={1, 1, 0.5, 0.80000001};
|
|
typeRecognitionDistance=2000;
|
|
allowsMarking=1;
|
|
groundNoiseDistanceCoef=-1;
|
|
maxGroundNoiseDistance=-1;
|
|
minSpeedThreshold=0;
|
|
maxSpeedThreshold=0;
|
|
minTrackableSpeed=-1e+010;
|
|
minTrackableATL=-1e+010;
|
|
maxTrackableATL=1e+010;
|
|
};
|
|
class SensorTemplateVisual
|
|
{
|
|
class AirTarget
|
|
{
|
|
minRange=1500;
|
|
maxRange=5000;
|
|
objectDistanceLimitCoef=-1;
|
|
viewDistanceLimitCoef=1;
|
|
};
|
|
class GroundTarget
|
|
{
|
|
minRange=2000;
|
|
maxRange=5000;
|
|
objectDistanceLimitCoef=1;
|
|
viewDistanceLimitCoef=1;
|
|
};
|
|
angleRangeHorizontal=360;
|
|
angleRangeVertical=90;
|
|
maxTrackableSpeed=400;
|
|
componentType="SensorTemplateVisual";
|
|
typeRecognitionDistance=2000;
|
|
maxFogSeeThrough=0.995;
|
|
color[]={1, 0, 0, 1};
|
|
allowsMarking=1;
|
|
groundNoiseDistanceCoef=-1;
|
|
maxGroundNoiseDistance=-1;
|
|
minSpeedThreshold=0;
|
|
maxSpeedThreshold=0;
|
|
animDirection="";
|
|
aimDown=0;
|
|
minTrackableSpeed=-1e+010;
|
|
minTrackableATL=-1e+010;
|
|
maxTrackableATL=1e+010;
|
|
};
|
|
class LaserSensorComponent
|
|
{
|
|
componentType="LaserSensorComponent";
|
|
class AirTarget
|
|
{
|
|
minRange=4000;
|
|
maxRange=4000;
|
|
objectDistanceLimitCoef=-1;
|
|
viewDistanceLimitCoef=-1;
|
|
};
|
|
class GroundTarget
|
|
{
|
|
minRange=5000;
|
|
maxRange=5000;
|
|
objectDistanceLimitCoef=-1;
|
|
viewDistanceLimitCoef=-1;
|
|
};
|
|
angleRangeHorizontal=180;
|
|
angleRangeVertical=180;
|
|
typeRecognitionDistance=0;
|
|
color[]={1, 1, 1, 0};
|
|
allowsMarking=1;
|
|
groundNoiseDistanceCoef=-1;
|
|
maxGroundNoiseDistance=-1;
|
|
minSpeedThreshold=0;
|
|
maxSpeedThreshold=0;
|
|
animDirection="";
|
|
aimDown=0;
|
|
minTrackableSpeed=-1e+010;
|
|
maxTrackableSpeed=1e+010;
|
|
minTrackableATL=-1e+010;
|
|
maxTrackableATL=1e+010;
|
|
};
|
|
class NVSensorComponent
|
|
{
|
|
componentType="NVSensorComponent";
|
|
color[]={1, 1, 1, 0};
|
|
typeRecognitionDistance=0;
|
|
class AirTarget
|
|
{
|
|
minRange=4000;
|
|
maxRange=4000;
|
|
objectDistanceLimitCoef=-1;
|
|
viewDistanceLimitCoef=-1;
|
|
};
|
|
class GroundTarget
|
|
{
|
|
minRange=5000;
|
|
maxRange=5000;
|
|
objectDistanceLimitCoef=-1;
|
|
viewDistanceLimitCoef=-1;
|
|
};
|
|
angleRangeHorizontal=90;
|
|
angleRangeVertical=90;
|
|
allowsMarking=1;
|
|
groundNoiseDistanceCoef=-1;
|
|
maxGroundNoiseDistance=-1;
|
|
minSpeedThreshold=0;
|
|
maxSpeedThreshold=0;
|
|
animDirection="";
|
|
aimDown=0;
|
|
minTrackableSpeed=-1e+010;
|
|
maxTrackableSpeed=1e+010;
|
|
minTrackableATL=-1e+010;
|
|
maxTrackableATL=1e+010;
|
|
};
|
|
};
|
|
};
|
|
class TransportPylonsComponent
|
|
{
|
|
uiPicture="braf\braf_air2\braf_airplanes\braf_super_tucano\Data\UI\Plane_A29_3DEN_CA.paa";
|
|
class Pylons
|
|
{
|
|
class Pylons1
|
|
{
|
|
hardpoints[]=
|
|
{
|
|
"BRAF_PIRANHA_PYLON",
|
|
"BRAF_MK82_PYLON",
|
|
"BRAF_GBU58_PYLON",
|
|
"BRAF_EQ_LMF_70_7_gat_PYLON",
|
|
"BRAF_EQ_LMF_70_7_he_PYLON",
|
|
"BRAF_EQ_LMF_70_7_ap_PYLON"
|
|
};
|
|
attachment="BRAF_PylonPod_EQ_LMF_70_7_he";
|
|
priority=5;
|
|
maxweight=300;
|
|
UIposition[]={0.35, 0.08};
|
|
};
|
|
class Pylons2 : Pylons1
|
|
{
|
|
hardpoints[]=
|
|
{
|
|
"BRAF_EFT_PYLON",
|
|
"BRAF_BLG252_PYLON",
|
|
"BRAF_MK82_PYLON",
|
|
"BRAF_GBU58_PYLON",
|
|
"BRAF_GBU12_PYLON",
|
|
"BRAF_M117_PYLON",
|
|
"BRAF_EQ_LMF_70_7_gat_PYLON",
|
|
"BRAF_EQ_LMF_70_19_gat_PYLON",
|
|
"BRAF_EQ_LMF_70_7_he_PYLON",
|
|
"BRAF_EQ_LMF_70_7_ap_PYLON",
|
|
"BRAF_EQ_LMF_70_19_he_PYLON",
|
|
"BRAF_EQ_LMF_70_19_ap_PYLON"
|
|
};
|
|
priority=4;
|
|
attachment="BRAF_PylonPod_EQ_LMF_70_7_he";
|
|
maxweight=350;
|
|
UIposition[]={0.345, 0.13};
|
|
};
|
|
class Pylons3 : Pylons1
|
|
{
|
|
priority=2;
|
|
attachment="";
|
|
maxweight=500;
|
|
UIposition[]={0.27, 0.28};
|
|
hardpoints[]=
|
|
{
|
|
"BRAF_MK82_PYLON"
|
|
};
|
|
};
|
|
class Pylons4 : Pylons2
|
|
{
|
|
UIposition[]={0.345, 0.38};
|
|
mirroredMissilePos=2;
|
|
};
|
|
class Pylons5 : Pylons1
|
|
{
|
|
UIposition[]={0.35, 0.43};
|
|
mirroredMissilePos=1;
|
|
};
|
|
};
|
|
class Presets
|
|
{
|
|
class Empty
|
|
{
|
|
displayName="$STR_empty";
|
|
attachment[]=
|
|
{
|
|
};
|
|
};
|
|
class ASP
|
|
{
|
|
displayName="Air Surveilance Patrol";
|
|
attachment[]=
|
|
{
|
|
"",
|
|
"BRAF_Pylon_EFT",
|
|
"",
|
|
"BRAF_Pylon_EFT",
|
|
""
|
|
};
|
|
};
|
|
class LCAP
|
|
{
|
|
displayName="Light Combat Air Patrol";
|
|
attachment[]=
|
|
{
|
|
"braf_Pylon_Missile_MAA1A_x1",
|
|
"",
|
|
"",
|
|
"",
|
|
"braf_Pylon_Missile_MAA1A_x1"
|
|
};
|
|
};
|
|
class CAS
|
|
{
|
|
displayName="Close Air Support";
|
|
attachment[]=
|
|
{
|
|
"BRAF_PylonPod_EQ_LMF_70_7_ap",
|
|
"BRAF_PylonPod_EQ_LMF_70_19_he",
|
|
"BRAF_Pylon_Mk82",
|
|
"BRAF_PylonPod_EQ_LMF_70_19_he",
|
|
"BRAF_PylonPod_EQ_LMF_70_7_ap"
|
|
};
|
|
};
|
|
class AAS
|
|
{
|
|
displayName="Anti Armored Support";
|
|
attachment[] =
|
|
{
|
|
"BRAF_PylonPod_EQ_LMF_70_7_gat",
|
|
"BRAF_PylonPod_EQ_LMF_70_19_ap",
|
|
"",
|
|
"BRAF_PylonPod_EQ_LMF_70_19_ap",
|
|
"BRAF_PylonPod_EQ_LMF_70_7_gat"
|
|
};
|
|
};
|
|
class APS
|
|
{
|
|
displayName="Anti Personel Support";
|
|
attachment[] =
|
|
{
|
|
"BRAF_PylonPod_EQ_LMF_70_7_he",
|
|
"BRAF_BLG252_PYLON",
|
|
"",
|
|
"BRAF_BLG252_PYLON",
|
|
"BRAF_PylonPod_EQ_LMF_70_7_he"
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
class braf_A29B_90k: BRAF_A29B
|
|
{
|
|
_generalmacro="BRAF_A29B_90k";
|
|
scope=2;
|
|
scopeCurator=2;
|
|
side="2";
|
|
forceInGarage=1;
|
|
faction="BRAF_FAB";
|
|
displayName="A-29B Super Tucano 'Joker 90k'";
|
|
editorPreview="\braf\braf_insignia\editorpreview\air2\BRAF_A29B.jpg";
|
|
class Armory
|
|
{
|
|
description="A-29B Super Tucano Brazilian Air Force Comemorative 90k hours Joker Fighter Squadron";
|
|
};
|
|
crew="braf_characters_aviation_air_force_fighter_pilot";
|
|
typicalcargo[]={""};
|
|
hiddenSelectionsTextures[]=
|
|
{
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo1_90k_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo2_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\Extras_Joker_co.paa"
|
|
};
|
|
textureList[]=
|
|
{
|
|
"FAB_100k",1
|
|
};
|
|
};
|
|
class braf_A29B_100k: BRAF_A29B
|
|
{
|
|
_generalmacro="BRAF_A29B_100k";
|
|
scope=2;
|
|
scopeCurator=2;
|
|
side="2";
|
|
forceInGarage=1;
|
|
faction="BRAF_FAB";
|
|
displayName="A-29B Super Tucano 'Joker 100k'";
|
|
editorPreview="\braf\braf_insignia\editorpreview\air2\BRAF_A29B.jpg";
|
|
class Armory
|
|
{
|
|
description="A-29B Super Tucano Brazilian Air Force Comemorative 1o0k hours Joker Fighter Squadron";
|
|
};
|
|
crew="braf_characters_aviation_air_force_fighter_pilot";
|
|
typicalcargo[]={""};
|
|
hiddenSelectionsTextures[]=
|
|
{
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo1_100k_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo2_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\Extras_Joker_co.paa"
|
|
};
|
|
textureList[]=
|
|
{
|
|
"FAB_90k",1
|
|
};
|
|
};
|
|
class braf_A29B_Jambock: BRAF_A29B
|
|
{
|
|
_generalmacro="BRAF_A29B_Jambock";
|
|
scope=2;
|
|
scopeCurator=2;
|
|
side="2";
|
|
forceInGarage=1;
|
|
faction="BRAF_FAB";
|
|
displayName="A-29B Super Tucano 'Jambock'";
|
|
editorPreview="\braf\braf_insignia\editorpreview\air2\BRAF_A29B.jpg";
|
|
class Armory
|
|
{
|
|
description="A-29B Super Tucano - Brazilian Air Force WW2 Comemorative 1°/1°GAvCa Jambock Squadron (Fictional)";
|
|
};
|
|
class EjectionSystem: EjectionSystem
|
|
{
|
|
CanopyClass="braf_A29_canopy_Jambock";
|
|
};
|
|
crew="braf_characters_aviation_air_force_fighter_pilot";
|
|
typicalcargo[]={""};
|
|
hiddenSelectionsTextures[]=
|
|
{
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo1_Jambock_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo2_co.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\glass_ca.paa",
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\Extras_Jambock_co.paa"
|
|
};
|
|
textureList[]=
|
|
{
|
|
"FAB_Jambock",1
|
|
};
|
|
};
|
|
// Wreck definition, since we are using "destrType=DestructWreck;"
|
|
class PlaneWreck;
|
|
class braf_A29A_wreck_F : PlaneWreck
|
|
{
|
|
scope=1;
|
|
model="braf\Samples_F\TemplateRTM\Test_Plane_01\Test_Plane_01_Wreck.p3d";
|
|
_generalMacro="braf_A29A_wreck_F";
|
|
typicalCargo[]={};
|
|
irTarget=0;
|
|
transportAmmo=0;
|
|
transportRepair=0;
|
|
transportFuel=0;
|
|
transportSoldier=1;
|
|
class Eventhandlers
|
|
{
|
|
};
|
|
};
|
|
class braf_A29_canopy: Plane_Canopy_Base_F
|
|
{
|
|
class SimpleObject
|
|
{
|
|
eden=0;
|
|
animate[]={};
|
|
hide[]={};
|
|
verticalOffset=0.28600001;
|
|
verticalOffsetWorld=0;
|
|
init="''";
|
|
};
|
|
scope=1;
|
|
side=2;
|
|
faction="BRAF_FAB";
|
|
displayName="A-29 Canopy";
|
|
_generalMacro="braf_A29_canopy";
|
|
model="\braf\braf_air2\braf_airplanes\braf_super_tucano\braf_A29_canopy.p3d";
|
|
hiddenSelections[]=
|
|
{
|
|
"camo1"
|
|
};
|
|
hiddenSelectionsTextures[]=
|
|
{
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo1_A_co.paa"
|
|
};
|
|
};
|
|
class braf_A29_canopy_EDA: braf_A29_canopy
|
|
{
|
|
hiddenSelections[]=
|
|
{
|
|
"camo1"
|
|
};
|
|
hiddenSelectionsTextures[]=
|
|
{
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo1_EDA_co.paa"
|
|
};
|
|
};
|
|
class braf_A29_canopy_Jambock: braf_A29_canopy
|
|
{
|
|
hiddenSelections[]=
|
|
{
|
|
"camo1"
|
|
};
|
|
hiddenSelectionsTextures[]=
|
|
{
|
|
"braf\braf_air2\braf_airplanes\braf_super_tucano\Data\camo1_Jambock_co.paa"
|
|
};
|
|
};
|
|
class braf_ejection_seat_base: Ejection_Seat_Base_F
|
|
{
|
|
scope=0;
|
|
side=0;
|
|
faction=BRAF_FAB;
|
|
displayName="Martin Baker Mk.10 BRLCX";
|
|
model="\braf\braf_air2\braf_airplanes\braf_super_tucano\braf_a29_ejection_seat.p3d";
|
|
icon=iconParachute;
|
|
picture="\A3\Air_F_Beta\Parachute_01\Data\UI\Portrait_Parachute_01_CA.paa";
|
|
driverAction="Pilot_Plane_Fighter_Ejection";
|
|
cargoAction[]=
|
|
{
|
|
"Pilot_Plane_Fighter_Ejection"
|
|
};
|
|
};
|
|
class braf_ejection_seat_A29: braf_ejection_seat_base
|
|
{
|
|
author="$STR_A3_Bohemia_Interactive";
|
|
class SimpleObject
|
|
{
|
|
eden=0;
|
|
animate[]={};
|
|
hide[]=
|
|
{
|
|
"zasleh",
|
|
"zadni svetlo",
|
|
"brzdove svetlo",
|
|
"clan",
|
|
"podsvit pristroju",
|
|
"poskozeni"
|
|
};
|
|
verticalOffset=0.0020000001;
|
|
verticalOffsetWorld=0;
|
|
init="[this, '', []] call bis_fnc_initVehicle";
|
|
};
|
|
_generalMacro="braf_ejection_seat_A29";
|
|
scope=1;
|
|
side=2;
|
|
faction="BRAF_FAB";
|
|
crew="";
|
|
class TransportMagazines
|
|
{
|
|
class _xx_1Rnd_Smoke_Grenade_shell
|
|
{
|
|
magazine="1Rnd_Smoke_Grenade_shell";
|
|
count=3;
|
|
};
|
|
class _xx_1Rnd_SmokeGreen_Grenade_shell
|
|
{
|
|
magazine="1Rnd_SmokeGreen_Grenade_shell";
|
|
count=3;
|
|
};
|
|
class _xx_1Rnd_SmokeOrange_Grenade_shell
|
|
{
|
|
magazine="1Rnd_SmokeOrange_Grenade_shell";
|
|
count=3;
|
|
};
|
|
class _xx_1Rnd_SmokePurple_Grenade_shell
|
|
{
|
|
magazine="1Rnd_SmokePurple_Grenade_shell";
|
|
count=3;
|
|
};
|
|
};
|
|
class TransportItems
|
|
{
|
|
class _xx_FirstAidKit
|
|
{
|
|
name="FirstAidKit";
|
|
count=3;
|
|
};
|
|
};
|
|
}; |