feat(naval-weapons): improve ASM missile exhaust effects

- Use the vanilla CruiseMissile smoke effect.
- Position the emitter using the fire_beg and fire_end memory points.
- Generalize the function for future ASM missiles.
This commit is contained in:
2026-07-31 21:52:36 -03:00
parent 722699d73e
commit 4512f2c67e
4 changed files with 144 additions and 10 deletions
+40 -8
View File
@@ -7,7 +7,9 @@ class CfgPatches
requiredVersion = 1.82;
requiredAddons[] =
{
"A3_Weapons_F"
"A3_Weapons_F",
"A3_Data_F",
"A3_Data_F_ParticleEffects"
};
units[] = {};
weapons[] =
@@ -16,6 +18,29 @@ class CfgPatches
};
};
};
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;
@@ -23,7 +48,12 @@ class CfgAmmo
{
scope = 0;
cameraViewAvailable = 1;
initTime = 0.5;
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
{
@@ -32,9 +62,6 @@ class CfgAmmo
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";
effectsMissileInit = "PylonBackEffects";
effectsMissile = "EmptyEffect";
muzzleEffect = "";
};
};
class CfgMagazines
@@ -56,12 +83,12 @@ class CfgMagazines
displayName = "AM39 Exocet Pylon Store";
author = "BRAF TEAM";
count = 1;
initSpeed = 12;
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[] = {1,0,0};
ejectSpeed[] = {0,0,0};
};
};
class CfgWeapons
@@ -71,6 +98,7 @@ class CfgWeapons
class braf_weapon_asm_air_base: missiles_SCALPEL
{
scope = 0;
author = "BRAF TEAM";
magazines[] = {};
modes[] = {"Cruise"};
class Cruise: RocketPods
@@ -97,12 +125,16 @@ class CfgWeapons
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";
author = "BRAF TEAM";
magazines[] =
{
"braf_mag_am39_1rnd",