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

Arsenal - Filter firemodes for precision display by showToPlayer #6572

Merged
merged 1 commit into from
Sep 14, 2018
Merged

Arsenal - Filter firemodes for precision display by showToPlayer #6572

merged 1 commit into from
Sep 14, 2018

Conversation

Blutze
Copy link
Contributor

@Blutze Blutze commented Sep 13, 2018

When merged this pull request will:

  • Change the precision display in the ACE Arsenal to ignore AI-only firemodes

There is a number of weapons, such as the NIArms M14DMR, RHS M249s and NIArms SiG 553s, that have an AI-only firemode with a lower dispersion value than any mode available to players. The current implementation shows those values on the Arsenal interface, painting a rather misleading picture.

I have considered checking for existence of the showToPlayer property first, but it is already defined on the base classes for weapons (Default) and firemodes (Mode_SemiAuto).

@commy2
Copy link
Contributor

commy2 commented Sep 13, 2018

Sounds like the weapon's config is broken if for some reason AI has different dispersion than players.

@PabstMirror PabstMirror added this to the 3.13.0 milestone Sep 13, 2018
@PabstMirror PabstMirror added the kind/bug-fix Release Notes: **FIXED:** label Sep 13, 2018
@dedmen
Copy link
Contributor

dedmen commented Sep 14, 2018

Sounds like the weapon's config is broken if for some reason AI has different dispersion than players.

You don't want AI insta headshotting you generally.

lower dispersion

Wait wut?

@Blutze
Copy link
Contributor Author

Blutze commented Sep 14, 2018

Sounds like the weapon's config is broken if for some reason AI has different dispersion than players.

In most cases, it is just caused by not adjusting all firemodes when you have your own gun inherit from Rifle_Base_F or every time you create a shortbarreled version. Usually though, the offending firemode is "long range, with optics" or something of the sort, and the discrepancy might actually be intentional.

@commy2
Copy link
Contributor

commy2 commented Sep 14, 2018

In most cases, it is just caused by not adjusting all firemodes when you have your own gun inherit from Rifle_Base_F or every time you create a shortbarreled version.

Like I said, broken then. Doesn't mean I am against this PR / fix btw.

Usually though, the offending firemode is "long range, with optics" or something of the sort, and the discrepancy might actually be intentional.

Sounds fine if it is intentional, although you could just change aiDispersionX and aiDispersionY instead for those (ai) modes. Asset makers (artists) are bad at logic I guess, or I am just full of myself and there is something I am missing.

@alganthe
Copy link
Contributor

The current implementation shows those values on the Arsenal interface, painting a rather misleading picture.

Which is false, I fixed this months ago by changing what firemodes are used.
https://github.com/acemod/ACE3/blob/master/addons/arsenal/functions/fnc_statTextStatement_accuracy.sqf#L27

Only non-AI firemodes should be listed in there.

@commy2
Copy link
Contributor

commy2 commented Sep 14, 2018

@alganthe, you're wrong about that modes[] = {"manual","close","short","medium","far"}; from LMG_RCWS.

@Blutze
Copy link
Contributor Author

Blutze commented Sep 14, 2018

The modes property appears to be an overall filter for both AI and players, allowing you to quickly create weapon variants with different trigger groups. For instance, to create a family of M4s and M16 (which went back and forth between 0-1-3 and 0-1-30), you just make an m4_base that has all subclasses defined and simply add/remove them to/from the modes arrays on the inheriting variants. showToPlayer is a second layer on top of that.

Can you even remove a subclass after inheriting it?

@commy2
Copy link
Contributor

commy2 commented Sep 14, 2018

Can you even remove a subclass after inheriting it?

No.

@PabstMirror PabstMirror changed the title [Arsenal] Filter firemodes for precision display by showToPlayer Arsenal - Filter firemodes for precision display by showToPlayer Sep 14, 2018
@PabstMirror PabstMirror merged commit 3ee94d3 into acemod:master Sep 14, 2018
Grey-Soldierman pushed a commit to Grey-Soldierman/ACE3 that referenced this pull request Sep 18, 2018
@PabstMirror PabstMirror modified the milestones: 3.13.0, 3.12.4 Nov 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug-fix Release Notes: **FIXED:**
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants