Ace3: RHS RKG-3M/BRK M79 grenades not compatible with advanced throwing.

Created on 18 Feb 2020  路  20Comments  路  Source: acemod/ACE3

Mods (complete and add to the following information):

  • Arma 3: 1.96 stable
  • CBA: 3.14 stable
  • ACE3: 3.13 stable

Description:
This scripted grenades explode on players position.

Steps to reproduce:

  • Go to editor
  • Spawn unit with rhssaf_mag_brk_m79 rhsgref_mag_rkg3em grenades
  • Try to throw with adv. throwing

Expected behavior:
As regular throw. Fly, deploy parachute, explode on hit.

Where did the issue occur?

  • Tested in Editor (Singleplayer). Occur everywhere.
kinbug

All 20 comments

Needs similar compat entries in config as in https://github.com/acemod/ACE3/pull/6879 ?

Pretty sure this has to do with the rhs_fuseTime config value and the WaitAndExecute delay here:
https://github.com/acemod/ACE3/blob/c73f64617fcc2b1211878423296e9558068eb8f6/addons/advanced_throwing/functions/fnc_throw.sqf#L83

The RHS nade script uses the fuseTime values as delay too:
https://gist.github.com/Blutze/3b6edb13818b22649d6f2cc3c63ec963#file-rhs-at-nades-L101
https://gist.github.com/Blutze/3b6edb13818b22649d6f2cc3c63ec963#file-rhs-at-nades-L169

Tested with rhs_fuseTime[] = {0.20,0.25,0.3} for rhsgref_ammo_rkg3em and rhs_fuseTime[] = {0.45,0.45,0.45} for rhssaf_ammo_brk_m79.

rhsgref_ammo_rkg3em almost consistently got deployed at your feet, while rhssaf_ammo_brk_m79 followed the throwing arc.

Needs similar compat entries in config as in #6879 ?

There is no config entries in that PR. It actually remove some old dirty hacks.

Tested with rhs_fuseTime[] = {0.20,0.25,0.3} for rhsgref_ammo_rkg3em and rhs_fuseTime[] = {0.45,0.45,0.45} for rhssaf_ammo_brk_m79.

Hmm. OK will try to increase this deploy delay and test later today

True, the PR only hooks into whatever the "Throw" event has defined for the specific class.

In this instance, the rhs_fuseTime values should be incresed above the 0.3 delay used in ace_advanced_throwing_fnc_throw. Perhaps even have that 0.3 added to the default values.

Don't know what effect it has on the functionality of the nades though, if the rhs_fuseTime values are set too high.

There is also no compat for RHS SAF, so don't know how to deal with rhssaf_ammo_brk_m79.

As much as I understood looking rhs code rhs_fuseTime[] = {0.20,0.25,0.3} is random [0.20,0.25,0.3] delay before regular grenade will be replaced with grenade which has parachute model and shotShell simulation type. So now it is being replaced in hands, fall and explode on contact with ground or body.

Yeah, my conclusion aswell. I'll do some tests with the default values increased by 0.3 and compare the behavior against running vanilla RHS values without ACE. If it doesn't cause any issues, i'll update GREF compat for rhsgref_ammo_rkg3em.

Dunno how to handle the SAF one though. Add new compat for SAF, or add SAF dependency in GREF compat ?

Adding 0.3 to the default values seems to produce the same behavior with adv. throw. as without ace loaded, so will will update ace_compat_rhs_gref3 with those values.

Pretty acceptable fix was closed...
just need to remake delay from +0.3 to +0.05 and no one will notice.

Other issue with adv. throwing is that it is always weaker than "Normal Throw". But this should be discussed in other ticket

Pretty acceptable fix was closed...

and

Theoretically, what can happen is that grenade will hit target before metamorphosis and disappear.

do not add up though.

Grenade without ACE have 0.3 sec delay by default.
So will you notice difference between 0.3 and 0.35?
NO.
How far it will fly away in 0.05 sec?

What do you prefer, a grenade exploding right in your face, or that a grenade sometimes despawns?

The false dichotomy.

What about wrapping the throwFiredXEH event in fnc_prime with a CBA_fnc_waitAndExecute to sync with the delay in fnc_throw ?

https://github.com/acemod/ACE3/blob/c73f64617fcc2b1211878423296e9558068eb8f6/addons/advanced_throwing/functions/fnc_prime.sqf#L47-L55

Should delay the firing any 3rd party nade script enough. Don't know if it might have any other adverse effects though 馃槙.

Take my words back. Setting delays to +0.05s is not acceptable fix.
Grenade must fly 0.3 sec in regular grenade shape and only after that switch to one with parachute deployed.
With 0.35 and adv throw it fly only 0.5 sec, then switch and start decelerating and fall at very close distance.

Anyone post this omnious RHS script, so people that don't want to download gigabytes of
can see what the issue may be?

With only RHS and this script, if you throw the grenade against a wall right in front of you. What happens?

With regular throw it should disappear and deal 0.1 hit damage.
because first ammo is

explosionTime = -1;
explosionEffects = "";
hit = 0.1;
indirectHit = 0;

Can actually test it and record video later today

How is that any different than with advanced throwing?

promised video https://www.youtube.com/watch?v=BVK088s7G0s&feature=youtu.be

How is that any different than with advanced throwing?

I think I already told what is different.

Regular:
Throw -> random delay 0.3-0.4 sec from rhs fired event -> Swap to parachuted -> Explode on hit.

Adv:
RHSFiredEvent -> CBA wait 0.3 sec -> Throw -> Swap to parachuted and explode in hands if random delay was close to 0.3. Because timer running out while grenade still in hands.

If random would be closer to 0.4 then you can throw grenade, but it will swap to parachuted and start decelerating almost immediately

Was this page helpful?
0 / 5 - 0 ratings

Related issues

JudahHarvey picture JudahHarvey  路  4Comments

Snak3Doc picture Snak3Doc  路  4Comments

thirald picture thirald  路  3Comments

BlueNexus picture BlueNexus  路  3Comments

Avokadomos picture Avokadomos  路  3Comments