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="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 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="Eject"; 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; }; }; };