Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add GAU-8 Enhancement #4497

Closed
wants to merge 16 commits into from
Closed
3 changes: 3 additions & 0 deletions AUTHORS.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ adam3adam <br.ada@seznam.cz>
Adanteh
aeroson
Aggr094 <bastards4glory@gmail.com>
Alexus
alef <alefor@gmail.com>
Aleksey EpMAK Yermakov <epmak777@gmail.com>
Alganthe <alganthe@live.fr>
Expand Down Expand Up @@ -108,6 +109,7 @@ Raspu86
Riccardo Petricca <petriccarcc@gmail.com>
Robert Boklahánics <bokirobi@gmail.com>
ruPaladin <happyworm24@rambler.ru>
sargken
simon84 <badguy360th@gmail.com>
Skengman2
Sniperwolf572 <tenga6@gmail.com>
Expand All @@ -122,4 +124,5 @@ Valentin Torikian <valentin.torikian@gmail.com>
voiper
VyMajoris(W-Cephei)<vycanismajoriscsa@gmail.com>
Winter <simon@agius-muscat.net>
Zabuza <zabuza.dev@gmail.com>
zGuba
27 changes: 19 additions & 8 deletions addons/aircraft/CfgAmmo.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,16 +50,27 @@ class CfgAmmo {
timeToLive = 40;
};

// helper projectiles to simulate a rof > fps
class ACE_Gatling_30mm_HE_Plane_CAS_01_Deploy: Gatling_30mm_HE_Plane_CAS_01_F {
simulation = "shotSubmunitions";
triggerTime = 0;
submunitionAmmo = "ACE_Gatling_30mm_HE_Plane_CAS_01_Sub";
submunitionConeType[] = {"custom", {{0,0}, {0,0}, {0,0}} };
// GAU-8 Mix ammo (AP&HE)
class ACE_GAU8_30mm_Mix_Plane_CAS_01_F: Gatling_30mm_HE_Plane_CAS_01_F {
laserLock = 1;
hit = 300;
indirectHit = 100;
indirectHitRange = 3.5;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For reference, the 120mm HE has a hit value of 220 and an indirectHit of 60.
The old indirectHit value was 4.
Are these values sane for a 30mm gatling gun?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested it and it's not as bad as I feared. Maybe it can be tweaked later to try to make it less destructive to buildings, but for now it's okay as far as I can tell.

caliber = 4.1700001;
airFriction = -0.00036000001;
explosive = 0.34999999;
soundHit1[] = {QPATHTOF(sounds\ammo\GAU8_Hit1),3.1622779,1,2000};
soundHit2[] = {QPATHTOF(sounds\ammo\GAU8_Hit1),3.1622779,1,2000};
soundHit3[] = {QPATHTOF(sounds\ammo\GAU8_Hit1),3.1622779,1,2000};
soundHit4[] = {QPATHTOF(sounds\ammo\GAU8_Hit1),3.1622779,1,2000};
multiSoundHit[] = {"soundHit1",0.25,"soundHit2",0.25,"soundHit3",0.25,"soundHit4",0.25};
SoundSetExplosion[] = {"ACE_GAU8_30mm_Exp_SoundSet"};
explosionSoundEffect = "DefaultExplosion";
explosionEffects = "ACE_Gau8ShellImpact";
muzzleEffect = "ace_aircraft_fnc_gau8_muzzleEffect";
craterEffects = "HEShellCrater";
};

class ACE_Gatling_30mm_HE_Plane_CAS_01_Sub: Gatling_30mm_HE_Plane_CAS_01_F {};

// adjust damage and splash damage, closer to bluefor gatling with same caliber
class Cannon_30mm_HE_Plane_CAS_02_F: Gatling_30mm_HE_Plane_CAS_01_F {
hit = 70; //40;
Expand Down
151 changes: 151 additions & 0 deletions addons/aircraft/CfgCloudlets.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
class CfgCloudlets {
class ACE_Gau8DefaultCldlt {
angle = 0;
animationName = "";
animationSpeed[] = {1};
animationSpeedCoef = 1;
beforeDestroyScript = "";
circleRadius = 0;
circleVelocity[] = {0,0,0};
colorCoef[] = {1,1,1,1};
colorVar[] = {0,0,0,0};
lifeTimeVar = 0;
MoveVelocityVarConst[] = {0,0,0};
onTimerScript = "";
particleFSFrameCount = 1;
particleFSIndex = 0;
particleFSLoop = 1;
particleFSNtieth = 16;
particleShape = "\A3\data_f\ParticleEffects\Universal\Universal";
particleType = "Billboard";
position[] = {0,0,0};
positionVar[] = {0,0,0};
positionVarConst[] = {0,0,0};
randomDirectionIntensity = 0;
randomDirectionIntensityVar = 0;
randomDirectionPeriod = 0;
randomDirectionPeriodVar = 0;
rotationVelocity = 0;
rotationVelocityVar = 0;
sizeCoef = 1;
timerPeriod = 1;
};
class ACE_Gau8ShellExplCldlt: ACE_Gau8DefaultCldlt {
angleVar = 1;
color[] = {{1,1,1,-6},{1,1,1,0}};
interval = 0.029999999;
lifeTime = 0.5;
moveVelocity[] = {0,1,0};
MoveVelocityVar[] = {0.2,0.5,0.2};
particleFSFrameCount = 32;
particleFSLoop = 0;
positionVar[] = {0.40000001,0.1,0.40000001};
randomDirectionIntensity = 0.2;
randomDirectionPeriod = 0.2;
rotationVelocityVar = 90;
rubbing = 0.1;
size[] = {"0.0125 * intensity + 4","0.0125 * intensity + 1"};
sizeVar = 0.5;
volume = 7.9000001;
weight = 10;
};
class ACE_Gau8ShellSprksCldlt: ACE_Gau8DefaultCldlt {
angleVar = 360;
animationSpeed[] = {1000};
color[] = {{1,1,1,-50}};
interval = 0.003;
lifeTime = 4;
lifeTimeVar = 1;
moveVelocity[] = {0,5,0};
MoveVelocityVar[] = {4,2,4};
particleFSFrameCount = 2;
particleFSIndex = 13;
particleFSLoop = 0;
positionVar[] = {2,0.5,2};
rotationVelocity = 1;
rotationVelocityVar = 2;
rubbing = 0;
size[] = {0.5,0.40000001,0.40000001,0.40000001,0.40000001,0.30000001,0.30000001,0.30000001,0.2,0.1};
sizeVar = 0;
timerPeriod = 0;
volume = 8;
weight = 24;
};
class ACE_Gau8ShellSmkCldlt: ACE_Gau8DefaultCldlt {
angleVar = 360;
animationSpeed[] = {1.5,0.5,0.25,0.25};
circleRadius = 2;
circleVelocity[] = {0.30000001,0,0.30000001};
color[] = {{0.5,0.5,0.5,0.40000001},{0.5,0.5,0.5,0.22},{0.60000002,0.60000002,0.60000002,0.090000004},{0.80000001,0.80000001,0.80000001,0.0099999998}};
colorVar[] = {0,0,0,0.30000001};
interval = 0.0070000002;
lifeTime = 6;
lifeTimeVar = 1.5;
moveVelocity[] = {0,12,0};
MoveVelocityVar[] = {0.5,12,0.5};
particleFSFrameCount = 48;
particleFSIndex = 7;
positionVar[] = {0.2,0.2,0.2};
randomDirectionIntensity = 0.1;
randomDirectionIntensityVar = 0.050000001;
randomDirectionPeriod = 0.2;
randomDirectionperiodVar = 0.2;
rotationVelocity = 1;
rotationVelocityVar = 120;
rubbing = 0.5;
size[] = {6,20};
sizeVar = 0.30000001;
volume = 1;
weight = 3;
};
class ACE_Gau8ShellDstCldlt: ACE_Gau8DefaultCldlt {
angleVar = 0;
animationSpeed[] = {1000};
circleRadius = 5;
circleVelocity[] = {1,1,1};
color[] = {
{0.079999998,0.067000002,0.052000001,0},
{0.60000002,0.5,0.40000001,0.5},
{0.60000002,0.5,0.40000001,0.40000001},
{0.60000002,0.5,0.40000001,0.30000001},
{0.60000002,0.5,0.40000001,0.15000001},
{0.60000002,0.5,0.40000001,0}
};
interval = 0.029999999;
lifeTime = 30;
lifeTimeVar = 5;
moveVelocity[] = {0,1,0};
MoveVelocityVar[] = {0.1,1,0.1};
particleFSFrameCount = 13;
particleFSIndex = 12;
particleFSLoop = 0;
positionVar[] = {2,1,2};
rotationVelocity = 1;
rotationVelocityVar = 20;
rubbing = 0.0099999998;
size[] = {18,22};
sizeVar = 0.30000001;
volume = 0.039999999;
weight = 0.052999999;
};
class ACE_Gau8ShellDrtCldlt: ACE_Gau8DefaultCldlt {
angleVar = 1;
animationSpeed[] = {1000};
color[] = {{0.60000002,0.60000002,1,1},{0.60000002,0.60000002,1,0}};
interval = "0.01 * interval + 0.01";
lifeTime = 5;
lifeTimeVar = 1.5;
moveVelocity[] = {0,"0.1 * intensity + 10",0};
MoveVelocityVar[] = {2,4,2};
particleFSFrameCount = 9;
particleFSIndex = 12;
particleFSLoop = 0;
rotationVelocity = 1;
rubbing = 0;
size[] = {6,12};
sizeVar = 0.2;
timerPeriod = 0.1;
volume = 0.1;
weight = 24;
};
};
24 changes: 24 additions & 0 deletions addons/aircraft/CfgLights.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
class CfgLights {
class ACE_Gau8ShellExplLght {
ambient[] = {0,0,0,0};
blinking = "false";
brightness = 200;
color[] = {255,220,80};
diffuse[] = {255,210,80};
drawLight = 0;
flareSize = 20;
flareMaxDistance = 4000;
intensity = 600;
position[] = {0,50,0};
size = 1;
useFlare = 1;
class Attenuation {
start = 0;
constant = 0;
linear = 0;
quadratic = 0;
hardLimitStart = 0;
hardLimitEnd = 0;
};
};
};
8 changes: 8 additions & 0 deletions addons/aircraft/CfgMagazines.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ class CfgMagazines {
ammo = "ACE_Gatling_30mm_HE_Plane_CAS_01_Deploy";
count = 1170;
};
class ACE_1174Rnd_GAU8_30mm_Plane_CAS_01_F: 1000Rnd_Gatling_30mm_Plane_CAS_01_F {
ammo = "ACE_GAU8_30mm_Mix_Plane_CAS_01_F";
displayNameShort = "30mm MIX";
initSpeed = 1036;
tracersEvery = 0;
count = 1174;
nameSound = "cannon";
};

// an extended magazine for the comanche
class 300Rnd_20mm_shells;
Expand Down
12 changes: 12 additions & 0 deletions addons/aircraft/CfgSoundSets.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
class CfgSoundSets {
class ACE_GAU8_30mm_Exp_SoundSet {
soundShaders[] = {"ACE_GAU8_30mm_closeExp_SoundShader"};
volumeFactor = 1.5;
volumeCurve = "InverseSquare2Curve";
spatial = 1;
doppler = 0;
loop = 0;
sound3DProcessingType = "ExplosionLight3DProcessingType";
distanceFilter = "none";
};
};
16 changes: 16 additions & 0 deletions addons/aircraft/CfgSoundShaders.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
class CfgSoundShaders {
class ACE_GAU8_30mm_closeExp_SoundShader {
samples[] = {
{QPATHTOF(sounds\ammo\GAU8_Hit1),1},
{QPATHTOF(sounds\ammo\GAU8_Hit1),1},
{QPATHTOF(sounds\ammo\GAU8_Hit1),1}
};
volume = 1;
range = 2000;
rangeCurve[] = {
{0,1},
{800,0.75},
{2000,0}
};
};
};
4 changes: 4 additions & 0 deletions addons/aircraft/CfgVehicles.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,10 @@ class CfgVehicles {
#include <flightmodel_thunderbolt.hpp>
};

class B_Plane_CAS_01_F: Plane_CAS_01_base_F {
magazines[] = {"ACE_1174Rnd_GAU8_30mm_Plane_CAS_01_F","2Rnd_Missile_AA_04_F","6Rnd_Missile_AGM_02_F","4Rnd_Bomb_04_F","7Rnd_Rocket_04_HE_F","7Rnd_Rocket_04_AP_F","240Rnd_CMFlare_Chaff_Magazine"};
};

class Plane_CAS_02_base_F: Plane_Base_F {
lockDetectionSystem = 12;
incomingMissileDetectionSystem = 16;
Expand Down
Loading