mirror of
https://github.com/DeltaV-Station/Delta-v.git
synced 2026-09-30 08:07:28 +00:00
* One Commit ops * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Implement requested changes Co-Authored-By: Vanessa <908648+ShepardToTheStars@users.noreply.github.com> * Well Well Well * Fix Pierce Mechanic * Include it in comment * Implement requested changes --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
58 lines
2.2 KiB
C#
58 lines
2.2 KiB
C#
using Content.Shared.Armor; // DeltaV - Addition of HandHeldArmor
|
|
using Content.Shared.Atmos;
|
|
using Content.Shared.Camera;
|
|
using Content.Shared.Cuffs;
|
|
using Content.Shared.Damage.Systems; // DeltaV - Addition of HandHeldArmor
|
|
using Content.Shared.Hands.Components;
|
|
using Content.Shared.Movement.Systems;
|
|
using Content.Shared.Projectiles;
|
|
using Content.Shared.Weapons.Ranged.Events;
|
|
using Content.Shared.Wieldable;
|
|
|
|
namespace Content.Shared.Hands.EntitySystems;
|
|
|
|
public abstract partial class SharedHandsSystem
|
|
{
|
|
private void InitializeRelay()
|
|
{
|
|
SubscribeLocalEvent<HandsComponent, GetEyeOffsetRelayedEvent>(RelayEvent);
|
|
SubscribeLocalEvent<HandsComponent, GetEyePvsScaleRelayedEvent>(RelayEvent);
|
|
SubscribeLocalEvent<HandsComponent, RefreshMovementSpeedModifiersEvent>(RelayEvent);
|
|
// DeltaV Start - Addition of HandHeldArmor
|
|
SubscribeLocalEvent<HandsComponent, CoefficientQueryEvent>(RelayEvent);
|
|
SubscribeLocalEvent<HandsComponent, DamageModifyEvent>(RelayEvent);
|
|
// DeltaV End - Addition of HandHeldArmor
|
|
|
|
// By-ref events.
|
|
SubscribeLocalEvent<HandsComponent, ExtinguishEvent>(RefRelayEvent);
|
|
SubscribeLocalEvent<HandsComponent, ProjectileReflectAttemptEvent>(RefRelayEvent);
|
|
SubscribeLocalEvent<HandsComponent, HitScanReflectAttemptEvent>(RefRelayEvent);
|
|
SubscribeLocalEvent<HandsComponent, WieldAttemptEvent>(RefRelayEvent);
|
|
SubscribeLocalEvent<HandsComponent, UnwieldAttemptEvent>(RefRelayEvent);
|
|
SubscribeLocalEvent<HandsComponent, TargetHandcuffedEvent>(RefRelayEvent);
|
|
}
|
|
|
|
private void RelayEvent<T>(Entity<HandsComponent> entity, ref T args) where T : EntityEventArgs
|
|
{
|
|
CoreRelayEvent(entity, ref args);
|
|
}
|
|
|
|
private void RefRelayEvent<T>(Entity<HandsComponent> entity, ref T args)
|
|
{
|
|
var ev = CoreRelayEvent(entity, ref args);
|
|
args = ev.Args;
|
|
}
|
|
|
|
private HeldRelayedEvent<T> CoreRelayEvent<T>(Entity<HandsComponent> entity, ref T args)
|
|
{
|
|
var ev = new HeldRelayedEvent<T>(args);
|
|
|
|
foreach (var held in EnumerateHeld(entity.AsNullable()))
|
|
{
|
|
RaiseLocalEvent(held, ref ev);
|
|
}
|
|
|
|
return ev;
|
|
}
|
|
}
|