From 8150aba854ef2a29f1fca119f2b3d993ca1acf2c Mon Sep 17 00:00:00 2001 From: kotobdev <59124164+kotobdev@users.noreply.github.com> Date: Sat, 27 Sep 2025 15:37:40 -0700 Subject: [PATCH] WE LOVE SHITMED!!!! --- .../_DV/Movement/CursorOffsetActionSystem.cs | 11 +++++++++++ .../_DV/Movement/SharedCursorOffsetActionSystem.cs | 10 ++++++++-- Resources/Prototypes/_DV/Body/Organs/avali.yml | 14 ++++++++++++++ Resources/Prototypes/_DV/Body/Prototypes/avali.yml | 2 +- .../_RMC14/Entities/Mobs/Species/avali.yml | 5 ----- 5 files changed, 34 insertions(+), 8 deletions(-) diff --git a/Content.Client/_DV/Movement/CursorOffsetActionSystem.cs b/Content.Client/_DV/Movement/CursorOffsetActionSystem.cs index fd3f815e92b..6c0f77b6d13 100644 --- a/Content.Client/_DV/Movement/CursorOffsetActionSystem.cs +++ b/Content.Client/_DV/Movement/CursorOffsetActionSystem.cs @@ -9,6 +9,17 @@ public sealed class CursorOffsetActionSystem : SharedCursorOffsetActionSystem { [Dependency] private readonly IClientGameTiming _gameTiming = default!; + protected override void OnInit(Entity ent, ref ComponentInit args) + { + base.OnInit(ent, ref args); + + if (!TryComp(ent, out var eyeOffset)) + return; + + eyeOffset.Enabled = ent.Comp.Active; + eyeOffset.CurrentPosition = Vector2.Zero; + } + protected override void OnAction(Entity ent, ref CursorOffsetActionEvent args) { base.OnAction(ent, ref args); diff --git a/Content.Shared/_DV/Movement/SharedCursorOffsetActionSystem.cs b/Content.Shared/_DV/Movement/SharedCursorOffsetActionSystem.cs index 7681cf1f49c..900bd29539f 100644 --- a/Content.Shared/_DV/Movement/SharedCursorOffsetActionSystem.cs +++ b/Content.Shared/_DV/Movement/SharedCursorOffsetActionSystem.cs @@ -10,12 +10,18 @@ public abstract class SharedCursorOffsetActionSystem : EntitySystem { base.Initialize(); SubscribeLocalEvent(OnInit); + SubscribeLocalEvent(OnRemove); SubscribeLocalEvent(OnAction); } - private void OnInit(Entity ent, ref ComponentInit args) + protected virtual void OnInit(Entity ent, ref ComponentInit args) { - _actions.AddAction(ent, ref ent.Comp.CursorOffsetActionEntity, ent.Comp.CursorOffsetActionId ); + _actions.AddAction(ent, ref ent.Comp.CursorOffsetActionEntity, ent.Comp.CursorOffsetActionId); + } + + private void OnRemove(Entity ent, ref ComponentRemove args) + { + _actions.RemoveAction(ent.Owner, ent.Comp.CursorOffsetActionEntity); } protected virtual void OnAction(Entity ent, ref CursorOffsetActionEvent args) diff --git a/Resources/Prototypes/_DV/Body/Organs/avali.yml b/Resources/Prototypes/_DV/Body/Organs/avali.yml index 4e47c6658e7..282a3810eae 100644 --- a/Resources/Prototypes/_DV/Body/Organs/avali.yml +++ b/Resources/Prototypes/_DV/Body/Organs/avali.yml @@ -3,3 +3,17 @@ id: OrganAvaliStomach name: avali stomach categories: [ HideSpawnMenu ] + +- type: entity + parent: OrganHumanEyes + id: OrganAvaliEyes + name: avali eyes + description: They seem as if they're looking at something far away... + components: + - type: Organ + onAdd: + - type: EyeCursorOffset + maxOffset: 5 + pvsIncrease: 0.5 + enabled: false + - type: CursorOffsetAction diff --git a/Resources/Prototypes/_DV/Body/Prototypes/avali.yml b/Resources/Prototypes/_DV/Body/Prototypes/avali.yml index c0da1385e71..23a10a1c3e0 100644 --- a/Resources/Prototypes/_DV/Body/Prototypes/avali.yml +++ b/Resources/Prototypes/_DV/Body/Prototypes/avali.yml @@ -9,7 +9,7 @@ - torso organs: brain: OrganHumanBrain - eyes: OrganHumanEyes + eyes: OrganAvaliEyes torso: part: TorsoAvali connections: diff --git a/Resources/Prototypes/_RMC14/Entities/Mobs/Species/avali.yml b/Resources/Prototypes/_RMC14/Entities/Mobs/Species/avali.yml index 8d96f2515c7..ec9e6d20c61 100644 --- a/Resources/Prototypes/_RMC14/Entities/Mobs/Species/avali.yml +++ b/Resources/Prototypes/_RMC14/Entities/Mobs/Species/avali.yml @@ -111,11 +111,6 @@ 279: 0.95 265: 0.9 240: 0.85 - - type: EyeCursorOffset - maxOffset: 5 - pvsIncrease: 0.5 - enabled: false - - type: CursorOffsetAction # End DeltaV additions - type: entity