class CfgPatches { class braf_naval_weapons { name = "BRAF Naval Weapons"; author = "BRAF TEAM"; requiredVersion = 1.82; requiredAddons[] = { "A3_Weapons_F", "A3_Data_F", "A3_Data_F_ParticleEffects" }; units[] = { "braf_seasnake_30mm_static_f" }; weapons[] = { "braf_weapon_am39_asm", "braf_weapon_seasnake_30mm" }; magazines[] = { "braf_mag_am39_1rnd", "braf_mag_am39_pylon_1rnd", "braf_mag_seasnake_30mm_tp_t", "braf_mag_seasnake_30mm_ketf", "braf_mag_seasnake_30mm_ketf_impact" }; ammo[] = { "braf_ammo_am39_asm", "braf_ammo_seasnake_30mm_tp_t", "braf_ammo_seasnake_30mm_ketf", "braf_ammo_seasnake_30mm_ketf_sub", "braf_ammo_seasnake_30mm_ketf_impact" }; }; }; class CfgFunctions { class BRAF { class NavalWeapons { class ASMEngineSmoke { file = "\braf\braf_weapons_naval\braf_functions\fn_asmenginesmoke.sqf"; }; }; }; }; class braf_asm_engineeffects { class RocketBackfire1 { simulation = "particles"; type = "PylonBackfire"; start = "(density interpolate [0.019,0.02,1,0])"; lifeTime = 2; }; }; class CfgAmmo { class ammo_Missile_CruiseBase; class B_30mm_MP; class B_30mm_APFSDS; class braf_ammo_asm_cruise_base: ammo_Missile_CruiseBase { scope = 0; cameraViewAvailable = 1; initTime = 1.5; coefGravity = 1; braf_asm = 1; effectsMissileInit = "braf_asm_engineeffects"; effectsMissile = "EmptyEffect"; muzzleEffect = ""; }; class braf_ammo_am39_asm: braf_ammo_asm_cruise_base { scope = 2; displayName = "AM39 Exocet"; author = "BRAF TEAM"; model = "braf\braf_weapons_naval\braf_asm\exocet\am39\braf_am39_fly.p3d"; proxyShape = "braf\braf_weapons_naval\braf_asm\exocet\am39\braf_am39.p3d"; }; class braf_ammo_seasnake_30mm_tp_t: B_30mm_MP { scope = 2; displayName = "30x173 mm TP-T"; author = "BRAF TEAM"; typicalSpeed = 1065; hit = 0; indirectHit = 0; indirectHitRange = 0; explosive = 0; }; class braf_ammo_seasnake_30mm_ketf_sub: B_30mm_APFSDS { scope = 1; displayName = "KETF tungsten subprojectile"; author = "BRAF TEAM"; typicalSpeed = 1065; hit = 5; caliber = 0.20; indirectHit = 0; indirectHitRange = 0; explosive = 0; }; class braf_ammo_seasnake_30mm_ketf: B_30mm_MP { scope = 2; displayName = "30x173 mm KETF / ABM"; author = "BRAF TEAM"; submunitionAmmo = "braf_ammo_seasnake_30mm_ketf_sub"; submunitionConeType[] = {"poissondisc", 162}; triggerTime = 0.12; timeToLive = 8.2; hit = 0; indirectHit = 0; indirectHitRange = 0; explosive = 0; }; class braf_ammo_seasnake_30mm_ketf_impact: B_30mm_APFSDS { scope = 2; displayName = "30x173 mm KETF / impact mode"; author = "BRAF TEAM"; typicalSpeed = 1065; hit = 70; caliber = 1.25; indirectHit = 0; indirectHitRange = 0; explosive = 0; }; }; class CfgMagazines { class 8Rnd_LG_scalpel; class PylonMissile_1Rnd_LG_scalpel; class 140Rnd_30mm_MP_shells; class 60Rnd_30mm_APFSDS_shells; class braf_mag_am39_1rnd: 8Rnd_LG_scalpel { scope = 2; displayName = "AM39 Exocet (1 missile)"; author = "BRAF TEAM"; count = 1; initSpeed = 12; ammo = "braf_ammo_am39_asm"; }; class braf_mag_am39_pylon_1rnd: PylonMissile_1Rnd_LG_scalpel { scope = 2; displayName = "AM39 Exocet Pylon Store"; author = "BRAF TEAM"; count = 1; initSpeed = 0; model="\a3\weapons_f\dynamicloadout\pylonmissile_1x_bomb_02_f.p3d"; ammo = "braf_ammo_am39_asm"; pylonWeapon = "braf_weapon_am39_asm"; hardpoints[] = {"BRAF_AM39_PYLON"}; ejectSpeed[] = {0,0,0}; }; class braf_mag_seasnake_30mm_tp_t: 140Rnd_30mm_MP_shells { scope = 2; displayName = "Sea Snake 30 - 30x173 TP-T"; author = "BRAF TEAM"; ammo = "braf_ammo_seasnake_30mm_tp_t"; initSpeed = 1065; tracersEvery = 1; }; class braf_mag_seasnake_30mm_ketf: 140Rnd_30mm_MP_shells { scope = 2; displayName = "Sea Snake 30 - 30x173 KETF / ABM"; author = "BRAF TEAM"; ammo = "braf_ammo_seasnake_30mm_ketf"; initSpeed = 1065; }; class braf_mag_seasnake_30mm_ketf_impact: 60Rnd_30mm_APFSDS_shells { scope = 2; displayName = "Sea Snake 30 - KETF impact mode"; author = "BRAF TEAM"; ammo = "braf_ammo_seasnake_30mm_ketf_impact"; initSpeed = 1065; }; }; class CfgWeapons { class missiles_SCALPEL; class RocketPods; class autocannon_30mm; class autocannon_Base_F; class braf_weapon_asm_air_base: missiles_SCALPEL { scope = 0; author = "BRAF TEAM"; magazines[] = {}; modes[] = {"Cruise"}; class Cruise: RocketPods { displayName = "$STR_A3_firemode_terrain0"; textureType = "terrain"; reloadTime = 0.1; magazineReloadTime = 0.1; sounds[] = {"StandardSound"}; class StandardSound { begin1[] = {"a3\sounds_f\weapons\rockets\missile_1",1.1220185,1.3,1000}; soundBegin[] = {"begin1",1}; }; lockingTargetSound[] = {"a3\sounds_f\weapons\rockets\locked_1",0.56234133,1}; lockedTargetSound[] = {"a3\sounds_f\weapons\rockets\locked_3",0.56234133,2.5}; aiRateOfFire = 5.0; aiRateOfFireDistance = 500; showToPlayer = 1; minRange = 500; minRangeProbab = 0.2; midRange = 2000; midRangeProbab = 0.96; maxRange = 32000; maxRangeProbab = 0.92; }; class EventHandlers { fired = "_this call BRAF_fnc_ASMEngineSmoke"; }; }; class braf_weapon_am39_asm: braf_weapon_asm_air_base { scope = 2; displayName = "AM39 Exocet"; author = "BRAF TEAM"; magazines[] = { "braf_mag_am39_1rnd", "braf_mag_am39_pylon_1rnd" }; }; class braf_weapon_seasnake_30mm: autocannon_30mm { scope = 2; displayName = "Rheinmetall Sea Snake 30 / SeaVision"; author = "BRAF TEAM"; muzzles[] = {"HE"}; magazines[] = { "braf_mag_seasnake_30mm_tp_t", "braf_mag_seasnake_30mm_ketf", "braf_mag_seasnake_30mm_ketf_impact" }; reloadTime = 0.0545455; class HE: autocannon_Base_F { magazines[] = { "braf_mag_seasnake_30mm_tp_t", "braf_mag_seasnake_30mm_ketf", "braf_mag_seasnake_30mm_ketf_impact" }; reloadTime = 0.0545455; class player: player { reloadTime = 0.0545455; }; }; }; }; class SensorTemplateIR; class SensorTemplateVisual; class SensorTemplateDataLink; class LandVehicle; class StaticWeapon: LandVehicle { class Turrets; class HitPoints; }; class StaticMGWeapon: StaticWeapon { class Turrets: Turrets { class MainTurret; }; class Components; }; class CfgVehicles { class braf_ciws_static_base_f: StaticMGWeapon { author = "BRAF TEAM"; scope = 0; scopeCurator = 0; vehicleClass = "Autonomous"; hasDriver = 0; hasGunner = 1; isUav = 1; getInRadius = 0; unitInfoType = "RscUnitInfoTank"; canFloat = 0; animated = 1; enableGPS = 1; irScanRangeMin = 500; irScanRangeMax = 4000; irScanToEyeFactor = 2; laserScanner = 1; showAllTargets = 4; visualTarget = 1; visualTargetSize = 1.2; irTarget = 1; irTargetSize = 0.5; reportRemoteTargets = 1; receiveRemoteTargets = 1; reportOwnPosition = 1; lockDetectionSystem = 0; incomingMissileDetectionSystem = 16; uavCameraGunnerPos = "pos_gunner_view"; uavCameraGunnerDir = "pos_gunner_view_dir"; memoryPointGun = "pos_barrel_end"; class Components: Components { class SensorsManagerComponent { class Components { class IRSensorComponent: SensorTemplateIR { class AirTarget { minRange = 500; maxRange = 4000; objectDistanceLimitCoef = -1; viewDistanceLimitCoef = 1; }; class GroundTarget { minRange = 500; maxRange = 3500; objectDistanceLimitCoef = 1; viewDistanceLimitCoef = 1; }; typeRecognitionDistance = 3500; maxTrackableSpeed = 600; angleRangeHorizontal = 60; angleRangeVertical = 40; animDirection = "mainGun"; aimDown = -0.5; }; class VisualSensorComponent: SensorTemplateVisual { class AirTarget { minRange = 500; maxRange = 4000; objectDistanceLimitCoef = -1; viewDistanceLimitCoef = 1; }; class GroundTarget { minRange = 500; maxRange = 3500; objectDistanceLimitCoef = 1; viewDistanceLimitCoef = 1; }; typeRecognitionDistance = 3500; maxTrackableSpeed = 600; angleRangeHorizontal = 360; angleRangeVertical = 95; animDirection = "mainGun"; aimDown = -0.5; }; class DataLinkSensorComponent: SensorTemplateDataLink{}; }; }; }; class Turrets: Turrets { class MainTurret: MainTurret { hasGunner = 1; primary = 1; primaryGunner = 1; startEngine = 0; enableManualFire = 1; forceHideGunner = 1; gunnerForceOptics = 1; gunnerOutForceOptics = 1; viewGunnerInExternal = 0; outGunnerMayFire = 1; inGunnerMayFire = 1; castGunnerShadow = 0; showAllTargets = 2; body = "MainTurret"; gun = "MainGun"; animationSourceBody = "MainTurret"; animationSourceGun = "MainGun"; gunbeg = "pos_barrel_end"; gunend = "pos_barrel"; uavCameraGunnerPos = "pos_gunner_view"; uavCameraGunnerDir = "pos_gunner_view_dir"; memoryPointGunnerOptics = "pos_gunner_view"; particlespos = "pos_fx"; particlesdir = "pos_fx_dir"; selectionFireAnim = "zasleh"; gunnerlefthandanimname = ""; gunnerrighthandanimname = ""; optics = 1; turretinfotype = "RscOptics_APC_Tracked_01_gunner"; gunnerOpticsModel = "\a3\weapons_f\reticle\Optics_Gunner_AAA_01_w_F"; }; }; }; #include "braf_ciws\braf_seasnake\seasnake.hpp" };