Add events for GunComponent values, muzzle flashes and cartridge spread (#24077)

* Add a modifier event for GunComponent values

* Add docs

* Add VV readwrite to modified values

* Add more docs

* More docs

* Add Gun parameter to GunRefreshModifiersEvent

* Add another event for handling cartridge spread

* Fix pneumatic speed
This commit is contained in:
DrSmugleaf
2024-01-28 15:32:42 -08:00
committed by GitHub
parent 556545e324
commit 4e8b1fb0d3
16 changed files with 284 additions and 90 deletions

View File

@@ -0,0 +1,23 @@
using Content.Shared.Weapons.Ranged.Components;
using Content.Shared.Weapons.Ranged.Systems;
using Robust.Shared.Audio;
namespace Content.Shared.Weapons.Ranged.Events;
/// <summary>
/// Raised directed on the gun entity when <see cref="SharedGunSystem.RefreshModifiers"/>
/// is called, to update the values of <see cref="GunComponent"/> from other systems.
/// </summary>
[ByRefEvent]
public record struct GunRefreshModifiersEvent(
Entity<GunComponent> Gun,
SoundSpecifier? SoundGunshot,
float CameraRecoilScalar,
Angle AngleIncrease,
Angle AngleDecay,
Angle MaxAngle,
Angle MinAngle,
int ShotsPerBurst,
float FireRate,
float ProjectileSpeed
);