Files
rarantes 0bea545612
Deploy DEV Workshop / deploy-dev-workshop (push) Failing after 3m5s
feat(BRAF NAVAL TURRETS)
2026-08-08 22:36:33 -03:00

422 lines
9.3 KiB
C++

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