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

Add GAU-8 Enhancement #4497

wants to merge 16 commits into from

Conversation

sargken
Copy link
Contributor

@sargken sargken commented Oct 1, 2016

This is the same concept done as here #1976.
Adds in the Enhanced GAU-8 Mod
Credit goes to @AlexusDE and @ZabuzaW

Has been tested in a single player environment.

The following list presents all added/changed features:

  • changed the calibre to 30mm
  • increased muzzle velocity to 1030 m/s
  • increased direct and indirect hit damage
  • increased bullet spread
  • added 2 burst modes: “Low” (1.5s, 2100rpm) and “High” (1.5s, 4200rpm)
  • magazine size of 1174 rounds
  • changed weapon sound (featuring the typical GAU-8 “fart of death”)
  • new impact sound
  • smoke effect while shooting the gun
  • new impact effects (more smoke, flashing light of explosions)

Further Info on the mod

@jonpas
Copy link
Member

jonpas commented Oct 1, 2016

Can you describe what exactly this pull request changes/adds in detail? Maybe a video of the change or something.

@sargken
Copy link
Contributor Author

sargken commented Oct 1, 2016

https://www.youtube.com/watch?v=AD1GlElqo74 - Old video if you need a new video I can make one up.

@sargken
Copy link
Contributor Author

sargken commented Oct 1, 2016

My goal was to recreate the pull request @SzwedzikPL created, but never finished or at least it was never brought into ACE. I contacted the author of the mod and he was on board 100%,

@jonpas
Copy link
Member

jonpas commented Oct 1, 2016

Cool, we'll review it! 👍

@jonpas jonpas added kind/feature Release Notes: **ADDED:** needs review labels Oct 1, 2016
@jonpas jonpas added this to the 3.8.0 milestone Oct 1, 2016
@Zabuzard
Copy link

Zabuzard commented Oct 1, 2016

Essentially it's an ACE-port of the Mighty GAU-8/A Avenger Mod of @AlexusDE and me. @sargken was so nice to adjust it so it fits to the ACE-guidelines. The mod is also at GitHub, it can be found here: ZabuzaW/MightyGau-8Avenger

Here's a list of features:

  • changed the caliber to 30mm
  • increased muzzle velocity to 1030 m/s
  • increased direct and indirect hit damage
  • increased bullet spread
  • added 2 burst modes: “Low” (1.5s, 2100rpm) and “High” (1.5s, 4200rpm)
  • magazine size of 1174 rounds
  • changed weapon sound (featuring the typical GAU-8 “fart of death”)
  • new impact sound
  • smoke effect while shooting the gun
  • new impact effects (more smoke, flashing light of explosions)
  • removed tracers, only visible with NVG
  • the A-164 now carries 240 countermeasure flares

And here's a showcase video:
Youtube#AD1GlElqo74

@jonpas
Copy link
Member

jonpas commented Oct 1, 2016

I am all for it, I think it fits ACE3 as it improves realism of the plane's armament.

Copy link
Member

@jonpas jonpas left a comment

Choose a reason for hiding this comment

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

Apart from those the PR looks good to me. I can't comment on the actual config though.

private ["_weapon", "_projectile", "_i", "_no"];

_weapon = param [1];
_projectile = param [6];
Copy link
Member

Choose a reason for hiding this comment

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

Should use params.

Copy link
Contributor Author

@sargken sargken Oct 1, 2016

Choose a reason for hiding this comment

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

Could you help me out on this using params how would i make them select the specific elements i need? params ["_weapon", "_projectile"];

_weapon need to be element 1
_projectile needs to be element 6

Copy link
Member

Choose a reason for hiding this comment

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

params ["", "_weapon", "", "", "", "", "_projectile"];

Although in this case it's probably better to do:

private _weapon = _this select 1;
private _projectile = _this select 6;

*/
#include "script_component.hpp"

private ["_weapon", "_projectile", "_i", "_no"];
Copy link
Member

Choose a reason for hiding this comment

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

We use inline private _variable = "bla";, please change to that.

Copy link
Contributor Author

@sargken sargken Oct 1, 2016

Choose a reason for hiding this comment

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

How would I make _i private using the method you want.

*
* Return value:
* None
*
Copy link
Member

Choose a reason for hiding this comment

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

Missing example.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Already fixed

@@ -0,0 +1,42 @@
/*
* Author: Alexus, Zabuza, SzwedzikPL, Sargken
* GAU-8 muzzle effect
Copy link
Member

Choose a reason for hiding this comment

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

Missing closing point.

};
class Explosion1
{
Copy link
Member

Choose a reason for hiding this comment

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

Opening braces should be on same line as class name.

#include "RscInGameUI.hpp"

class ACE_Gau8ShellImpact {
Copy link
Member

@jonpas jonpas Oct 1, 2016

Choose a reason for hiding this comment

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

I think this class is big enough to be put in its own file now.

Copy link
Contributor

Choose a reason for hiding this comment

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

Effects.hpp

Copy link
Contributor

Choose a reason for hiding this comment

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

class CfgSoundShaders {
class ACE_GAU8_30mm_closeExp_SoundShader {
samples[] = {
{PATHTOF(sounds\ammo\GAU8_Hit1),1},
Copy link
Member

Choose a reason for hiding this comment

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

Missing quotes. Use QPATHTOF() instead.

caliber = 4.1700001;
airFriction = -0.00036000001;
explosive = 0.34999999;
soundHit1[] = {PATHTOF(sounds\ammo\GAU8_Hit1),3.1622779,1,2000};
Copy link
Member

Choose a reason for hiding this comment

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

Missing quotes. Use QPATHTOF() instead.

@commy2
Copy link
Contributor

commy2 commented Oct 1, 2016

removed tracers, only visible with NVG

no need to remove them entirely. There is a config entry for this:

    class BWA3_B_556x45_Ball;
    class BWA3_B_556x45_Ball_Tracer_Dim: BWA3_B_556x45_Ball {
        nvgOnly = 1;
    };

@PabstMirror
Copy link
Contributor

Couldn't we do the gun effects with class GunParticles { instead of a fired EH?

@commy2
Copy link
Contributor

commy2 commented Oct 1, 2016

It uses some randomization, pabst
But the fired eh should only be assigned to this plane instead of all Plane.

burst = 1;
class LowROF: Mode_FullAuto {
displayName = "GAU-8";
magazines[] = {"ACE_1174Rnd_GAU8_30mm_Plane_CAS_01_F"};
Copy link
Contributor

Choose a reason for hiding this comment

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

We should allow it to still take the old magazines or it could break loadout scripts or other mods using this weapon with the old ammo.


if (_weapon != "ACE_Gatling_30mm_Plane_CAS_01_F") exitWith {};

_no = 8 + random 1;
private _no = 8 + random 1;
private _i;
Copy link
Member

Choose a reason for hiding this comment

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

There is no need to private this, it's self-privatized because it's used in that for loop.

Copy link
Member

Choose a reason for hiding this comment

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

@jonpas Not true in my experience, though I do use the array syntax of for so that might e why

Copy link
Contributor

@commy2 commy2 Oct 2, 2016

Choose a reason for hiding this comment

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

The incrementor of the for-loop is automatically set to private to the inner scope of the loop:

_i = "banana";
for "_i" from 0 to 2 do {
    _i = _i; // with or without
};
_i
-> "banana"

where as:

_i = "banana";
for "_a" from 0 to 2 do {
    _i = _a;
};
_i
-> 2

Copy link
Contributor

Choose a reason for hiding this comment

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

But you are right about the alternative syntax:

_i = "banana";
for [{_i=1},{_i<=2},{_i=_i+1}] do {};
_i
-> 3

work-around:

_i = "banana";
for [{private _i=1},{_i<=2},{_i=_i+1}] do {};
_i
-> "banana"

@@ -13,18 +13,19 @@
* Return value:
* None
*
* Example:
* QUOTE(_this call FUNC(gau8_muzzleEffect));
Copy link
Member

Choose a reason for hiding this comment

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

Should write it out full, eg. [unit, "weapon", "muzzle", "ammo", "magazine", projectile] call ace_aircraft_fnc_gau8_muzzleEffect;

@PabstMirror
Copy link
Contributor

muzzleEffect seems to work if we make it a CfgFunction
See commit: c19ced1

@sargken sargken closed this Oct 2, 2016
@sargken sargken reopened this Oct 2, 2016
@nicolasbadano
Copy link
Contributor

Couldn't we do the gun effects with class GunParticles { instead of a fired EH?

I agree with @PabstMirror

It uses some randomization, pabst

@commy2, the randomization part could very well be stripped; I believe it's not working, because it does:

private _no = 8 + random 1;
for "_i" from 1 to _no do {

I'm not sure how for behaves on this condiction, as _no is never (all amost never) exactly 9 nor exactly 8.

@Zabuzard
Copy link

Zabuzard commented Oct 2, 2016

I believe this is an artifact from the past. There where some higher values long ago.
Just to make sure: Currently the only difference is if _no is 8 or 9 (and most times it is 8), right?

If that's the case, you can set it to 8 iterations, fix.

The random part inside of the loop is important. But whether the amount of dropped particles is 8 or 9, well this isn't.

@sargken
Copy link
Contributor Author

sargken commented Oct 5, 2016

Any other suggestions?

@commy2
Copy link
Contributor

commy2 commented Oct 5, 2016

do this to make the tracers show up with NVG only:
#4497 (comment)

@Zabuzard
Copy link

Zabuzard commented Oct 5, 2016

Tracer effects of the GAU-8 can not been seen with eye nor with a night vision device; not at day time nor at night time.
I have talked with multiple real A-10C pilots when making the decision of removing the tracer-effect from the vanilla A-10 in ArmA.

@commy2
Copy link
Contributor

commy2 commented Oct 5, 2016

Roger. I was mislead by this post:
#4497 (comment)

removed tracers, only visible with NVG

@Zabuzard
Copy link

Zabuzard commented Oct 5, 2016

Oh. Yeah, that's indeed misleading. I'll remove that from the changelog for the next update^^

@thojkooi thojkooi modified the milestones: 3.8.0, 3.9.0 Oct 8, 2016
@sargken
Copy link
Contributor Author

sargken commented Oct 11, 2016

This is done on my end. If you guys see things that need to be changed lmk. Otherwise it's completed.

@Zabuzard
Copy link

Zabuzard commented Nov 7, 2016

Status update? :)

@sargken
Copy link
Contributor Author

sargken commented Nov 7, 2016

I think the next release is 8.2 so gotta wait for .9

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.

@sargken
Copy link
Contributor Author

sargken commented Mar 16, 2017

@jonpas Anything else that needs to be done?

@Zabuzard
Copy link

Status update? :)
In the meantime we have published some major updates of the mod. So this ACE-port probably needs to be adjusted to our new version (5.0).
https://github.com/ZabuzaW/MightyGau-8Avenger/releases

Here's a video of the content:
https://www.youtube.com/watch?v=jfRvJrfC_Gw

@jonpas
Copy link
Member

jonpas commented Sep 17, 2017

Hello @sargken and @ZabuzaW, excuse us for the long delay on this. We have been getting information about the realism of this in connection with the massive changes and after going through it all decided this is better living in its own mod. @SilentSpike can probably give some quick information as of why.

Thank you for the wanted contribution nonetheless, we appreciate the effort!

@jonpas jonpas closed this Sep 17, 2017
@LinkIsGrim LinkIsGrim removed this from the Ongoing milestone Jul 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Release Notes: **ADDED:**
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants