From 33bba5812aa387cbd4da02b75ee58a9a06752a78 Mon Sep 17 00:00:00 2001 From: mersen-tyn Date: Sat, 10 Jan 2026 05:40:01 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D1=81=D1=82?= =?UTF-8?q?=D0=BE=D0=BB=D0=BA=D0=BD=D0=BE=D0=B2=D0=B5=D0=BD=D0=B8=D0=B9=20?= =?UTF-8?q?=D1=88=D0=B0=D1=82=D1=82=D0=BB=D0=BE=D0=B2,=20=D0=B8=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=BE=D0=B4=D0=BD=D0=BE=20=D0=B8=20=D1=83=D0=B1=D0=B8?= =?UTF-8?q?=D1=80=D0=B0=D0=B5=D0=BC=20=D0=B1=D0=B5=D1=81=D0=BA=D0=BE=D0=BD?= =?UTF-8?q?=D0=B5=D1=87=D0=BD=D1=83=D1=8E=20=D1=80=D0=B5=D0=BA=D1=83=D1=80?= =?UTF-8?q?=D1=81=D0=B8=D1=8E.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Light/AmbientOcclusionOverlay.cs | 10 ++++++++++ .../Shuttles/Systems/ShuttleSystem.Impact.cs | 19 ++++++++++--------- Content.Shared/CCVar/CCVars.Shuttle.cs | 2 +- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/Content.Client/Light/AmbientOcclusionOverlay.cs b/Content.Client/Light/AmbientOcclusionOverlay.cs index 4caf65449494..adee5b628a5e 100644 --- a/Content.Client/Light/AmbientOcclusionOverlay.cs +++ b/Content.Client/Light/AmbientOcclusionOverlay.cs @@ -33,6 +33,8 @@ public sealed class AmbientOcclusionOverlay : Overlay // Couldn't figure out a way to avoid this so if you can then please do. private IRenderTexture? _aoStencilTarget; + private bool _drawing; + public AmbientOcclusionOverlay() { IoCManager.InjectDependencies(this); @@ -41,6 +43,12 @@ public AmbientOcclusionOverlay() protected override void Draw(in OverlayDrawArgs args) { + // Prevent recursive drawing. + if (_drawing) + { + return; + } + /* * tl;dr * - we draw a black square on each "ambient occlusion" entity. @@ -88,6 +96,7 @@ protected override void Draw(in OverlayDrawArgs args) } // Draw the texture data to the texture. + _drawing = true; args.WorldHandle.RenderInRenderTarget(_aoTarget, () => { @@ -141,6 +150,7 @@ protected override void Draw(in OverlayDrawArgs args) // Draw the Blurred AO texture finally. worldHandle.UseShader(_proto.Index(StencilEqualDrawShader).Instance()); worldHandle.DrawTextureRect(_aoTarget!.Texture, worldBounds, color); + _drawing = false; args.WorldHandle.SetTransform(Matrix3x2.Identity); args.WorldHandle.UseShader(null); diff --git a/Content.Server/Shuttles/Systems/ShuttleSystem.Impact.cs b/Content.Server/Shuttles/Systems/ShuttleSystem.Impact.cs index dff90eafbef2..f67bfd980101 100644 --- a/Content.Server/Shuttles/Systems/ShuttleSystem.Impact.cs +++ b/Content.Server/Shuttles/Systems/ShuttleSystem.Impact.cs @@ -73,7 +73,6 @@ private void InitializeImpact() Subs.CVar(_cfg, CCVars.ImpactEnabled, value => _enabled = value, true); Subs.CVar(_cfg, CCVars.MinimumImpactInertia, value => _minimumImpactInertia = value, true); - Subs.CVar(_cfg, CCVars.MinimumImpactInertia, value => _minimumImpactInertia = value, true); Subs.CVar(_cfg, CCVars.MinimumImpactVelocity, value => _minimumImpactVelocity = value, true); Subs.CVar(_cfg, CCVars.TileBreakEnergyMultiplier, value => _tileBreakEnergyMultiplier = value, true); Subs.CVar(_cfg, CCVars.ImpactDamageMultiplier, value => _damageMultiplier = value, true); @@ -142,7 +141,7 @@ private void OnShuttleCollide(EntityUid uid, ShuttleComponent component, ref Sta var effectiveInertia = jungleDiff * effectiveInertiaMult; // TODO: squish damage so that a tiny splinter grid can't stop 2 big grids by being in the way - if (jungleDiff < _minimumImpactVelocity && effectiveInertia < _minimumImpactInertia + if (jungleDiff < _minimumImpactVelocity || effectiveInertia < _minimumImpactInertia || ourXform.MapUid == null || float.IsNaN(jungleDiff)) { @@ -176,12 +175,12 @@ private void OnShuttleCollide(EntityUid uid, ShuttleComponent component, ref Sta // E = MV^2/2 var energyMult = MathF.Pow(jungleDiff, 2) / 2; // mass-based damage reduction to grid with more mass so that plastitanium block rammer doesn't die to lattice - var ourMassDR = MathF.Max(otherMass / ourMass, 1f); - var otherMassDR = MathF.Max(ourMass / otherMass, 1f); + var ourMassDR = MathF.Pow(otherMass / ourMass, _massBias); + var otherMassDR = MathF.Pow(ourMass / otherMass, _massBias); // multiplier to make large grids not just bonk against each other var inertiaMult = MathF.Pow(effectiveInertiaMult / _baseShuttleMass, _inertiaScaling); - var toUsEnergy = otherMass * energyMult * inertiaMult * ourMassDR; - var toOtherEnergy = ourMass * energyMult * inertiaMult * otherMassDR; + var toUsEnergy = otherMass * energyMult * inertiaMult / ourMassDR; + var toOtherEnergy = ourMass * energyMult * inertiaMult / otherMassDR; var impact = LogImpact.High; // if impact isn't tiny, log it as extreme @@ -262,7 +261,9 @@ private void ThrowEntitiesOnGrid(EntityUid gridUid, TransformComponent xform, Ve if (direction.LengthSquared() > minsq) { - _stuns.TryKnockdown(uid, stunTime, true); + if (stunTime.TotalSeconds > 1.0f) //Forge-Change + _stuns.TryKnockdown(uid, stunTime, true); //Forge-Change + _throwing.TryThrow(uid, direction, physics, Transform(uid), _projQuery, direction.Length(), playSound: false); } else @@ -381,9 +382,9 @@ private void ProcessTileBatch( if (_dmgQuery.TryComp(localEnt, out var damageable)) { // Apply damage scaled by distance but capped to prevent gibbing - var scaledDamage = tileData.Energy * _damageMultiplier; + var scaledDamage = tileData.Energy * _damageMultiplier * 2; damageSpec.DamageDict["Blunt"] = scaledDamage; - damageSpec.DamageDict["Structural"] = scaledDamage * _structuralDamage; + damageSpec.DamageDict["Structural"] = scaledDamage * _structuralDamage * 4; _damageSys.TryChangeDamage(localEnt, damageSpec, damageable: damageable); } diff --git a/Content.Shared/CCVar/CCVars.Shuttle.cs b/Content.Shared/CCVar/CCVars.Shuttle.cs index 220cbe30f80c..6c6d73c26c09 100644 --- a/Content.Shared/CCVar/CCVars.Shuttle.cs +++ b/Content.Shared/CCVar/CCVars.Shuttle.cs @@ -223,7 +223,7 @@ public sealed partial class CCVars /// [CVarControl(AdminFlags.VarEdit)] public static readonly CVarDef TileBreakEnergyMultiplier = - CVarDef.Create("shuttle.impact.tile_break_energy", 30000f, CVar.SERVERONLY); // Frontier 3000f<35000f + CVarDef.Create("shuttle.impact.tile_break_energy", 3000f, CVar.SERVERONLY); // Frontier 3000f<35000f /// /// Multiplier of damage done to entities on colliding areas From 384d8e8936b4dc67b2288f291eff35bb9a1b6e43 Mon Sep 17 00:00:00 2001 From: mersen-tyn Date: Sat, 10 Jan 2026 06:13:39 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=D0=A3=D0=B1=D0=B8=D1=80=D0=B0=D0=B5=D0=BC?= =?UTF-8?q?=20=D0=BB=D0=B8=D1=88=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=BF?= =?UTF-8?q?=D0=B8=D1=81=D0=B8=20=D0=BB=D0=BE=D0=B3=D0=BE=D0=B2=20=D0=BE?= =?UTF-8?q?=D1=82=20=D0=9D=D0=98=D0=9F=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Content.Server/Chat/Systems/ChatSystem.cs | 10 ++++ .../Interaction/SharedInteractionSystem.cs | 48 ++++++++++++------- Content.Shared/Prying/Systems/PryingSystem.cs | 17 ++++--- 3 files changed, 52 insertions(+), 23 deletions(-) diff --git a/Content.Server/Chat/Systems/ChatSystem.cs b/Content.Server/Chat/Systems/ChatSystem.cs index a843cd89d85a..79bf3424ec60 100644 --- a/Content.Server/Chat/Systems/ChatSystem.cs +++ b/Content.Server/Chat/Systems/ChatSystem.cs @@ -567,6 +567,11 @@ private void SendEntityWhisper( var ev = new EntitySpokeEvent(source, message, channel, obfuscatedMessage); RaiseLocalEvent(source, ev, true); + + // To avoid logging any messages sent by entities that are not players. + if (!HasComp(source)) + return; + if (!hideLog) if (originalMessage == message) { @@ -620,6 +625,11 @@ private void SendEntityEmote( SendInVoiceRange(ChatChannel.Emotes, action, wrappedMessage, source, range, author); + + // To avoid logging any messages sent by entities that are not players. + if (!HasComp(source)) + return; + if (!hideLog) if (name != Name(source)) _adminLogger.Add(LogType.Chat, LogImpact.Low, $"Emote from {ToPrettyString(source):user} as {name}: {action}"); diff --git a/Content.Shared/Interaction/SharedInteractionSystem.cs b/Content.Shared/Interaction/SharedInteractionSystem.cs index 6eebd34a2515..630006abe9dc 100644 --- a/Content.Shared/Interaction/SharedInteractionSystem.cs +++ b/Content.Shared/Interaction/SharedInteractionSystem.cs @@ -508,7 +508,8 @@ public void InteractHand(EntityUid user, EntityUid target) RaiseLocalEvent(user, ev); if (ev.Handled) { - _adminLogger.Add(LogType.InteractHand, LogImpact.Low, $"{ToPrettyString(user):user} interacted with {ToPrettyString(target):target}, but it was handled by another system"); + if (HasComp(user)) + _adminLogger.Add(LogType.InteractHand, LogImpact.Low, $"{ToPrettyString(user):user} interacted with {ToPrettyString(target):target}, but it was handled by another system"); return; } @@ -520,7 +521,8 @@ public void InteractHand(EntityUid user, EntityUid target) // Frontier modification: adds extra things to the log var extraLogs = LoggingExtensions.GetExtraLogs(EntityManager, target); - _adminLogger.Add(LogType.InteractHand, LogImpact.Low, $"{ToPrettyString(user):user} interacted with {ToPrettyString(target):target}{extraLogs}"); + if (HasComp(user)) + _adminLogger.Add(LogType.InteractHand, LogImpact.Low, $"{ToPrettyString(user):user} interacted with {ToPrettyString(target):target}{extraLogs}"); DoContactInteraction(user, target, message); if (message.Handled) return; @@ -544,17 +546,23 @@ public void InteractUsingRanged(EntityUid user, EntityUid used, EntityUid? targe if (target != null) { - _adminLogger.Add( - LogType.InteractUsing, - LogImpact.Low, - $"{ToPrettyString(user):user} interacted with {ToPrettyString(target):target} using {ToPrettyString(used):used}"); + if (HasComp(user)) + { + _adminLogger.Add( + LogType.InteractUsing, + LogImpact.Low, + $"{ToPrettyString(user):user} interacted with {ToPrettyString(target):target} using {ToPrettyString(used):used}"); + } } else { - _adminLogger.Add( - LogType.InteractUsing, - LogImpact.Low, - $"{ToPrettyString(user):user} interacted with *nothing* using {ToPrettyString(used):used}"); + if (HasComp(user)) + { + _adminLogger.Add( + LogType.InteractUsing, + LogImpact.Low, + $"{ToPrettyString(user):user} interacted with *nothing* using {ToPrettyString(used):used}"); + } } if (RangedInteractDoBefore(user, used, target, clickLocation, inRangeUnobstructed, checkDeletion: false)) @@ -1043,10 +1051,13 @@ public bool InteractUsing( if (checkCanUse && !_actionBlockerSystem.CanUseHeldEntity(user, used)) return false; - _adminLogger.Add( - LogType.InteractUsing, - LogImpact.Low, - $"{ToPrettyString(user):user} interacted with {ToPrettyString(target):target} using {ToPrettyString(used):used}"); + if (HasComp(user)) + { + _adminLogger.Add( + LogType.InteractUsing, + LogImpact.Low, + $"{ToPrettyString(user):user} interacted with {ToPrettyString(target):target} using {ToPrettyString(used):used}"); + } if (RangedInteractDoBefore(user, used, target, clickLocation, canReach: true, checkDeletion: false)) return true; @@ -1173,7 +1184,8 @@ public bool InteractionActivate( { DoContactInteraction(user, used); if (!activateMsg.WasLogged) - _adminLogger.Add(LogType.InteractActivate, LogImpact.Low, $"{ToPrettyString(user):user} activated {ToPrettyString(used):used}"); + if (HasComp(user)) + _adminLogger.Add(LogType.InteractActivate, LogImpact.Low, $"{ToPrettyString(user):user} activated {ToPrettyString(used):used}"); if (delayComponent != null) _useDelay.TryResetDelay(used, component: delayComponent); @@ -1191,7 +1203,8 @@ public bool InteractionActivate( if (delayComponent != null) _useDelay.TryResetDelay(used, component: delayComponent); - _adminLogger.Add(LogType.InteractActivate, LogImpact.Low, $"{ToPrettyString(user):user} activated {ToPrettyString(used):used}"); + if (HasComp(user)) + _adminLogger.Add(LogType.InteractActivate, LogImpact.Low, $"{ToPrettyString(user):user} activated {ToPrettyString(used):used}"); return true; } #endregion @@ -1271,7 +1284,8 @@ public void DroppedInteraction(EntityUid user, EntityUid item) { var extraLogs = LoggingExtensions.GetExtraLogs(EntityManager, item); - _adminLogger.Add(LogType.Drop, LogImpact.Low, $"{ToPrettyString(user):user} dropped {ToPrettyString(item):entity}{extraLogs}"); + if (HasComp(user)) + _adminLogger.Add(LogType.Drop, LogImpact.Low, $"{ToPrettyString(user):user} dropped {ToPrettyString(item):entity}{extraLogs}"); } // End Frontier diff --git a/Content.Shared/Prying/Systems/PryingSystem.cs b/Content.Shared/Prying/Systems/PryingSystem.cs index 10c80cfab594..0f744731ff3a 100644 --- a/Content.Shared/Prying/Systems/PryingSystem.cs +++ b/Content.Shared/Prying/Systems/PryingSystem.cs @@ -8,6 +8,7 @@ using Content.Shared.Prying.Components; using Content.Shared.Verbs; using Robust.Shared.Audio.Systems; +using Robust.Shared.Player; using Robust.Shared.Serialization; using PryUnpoweredComponent = Content.Shared.Prying.Components.PryUnpoweredComponent; @@ -141,13 +142,17 @@ private bool StartPry(EntityUid target, EntityUid user, EntityUid? tool, float t NeedHand = tool != user, }; - if (tool != user && tool != null) + // don't log NPC prying + if (HasComp(user)) { - _adminLog.Add(LogType.Action, LogImpact.Low, $"{ToPrettyString(user)} is using {ToPrettyString(tool.Value)} to pry {ToPrettyString(target)}"); - } - else - { - _adminLog.Add(LogType.Action, LogImpact.Low, $"{ToPrettyString(user)} is prying {ToPrettyString(target)}"); + if (tool != user && tool != null) + { + _adminLog.Add(LogType.Action, LogImpact.Low, $"{ToPrettyString(user)} is using {ToPrettyString(tool.Value)} to pry {ToPrettyString(target)}"); + } + else + { + _adminLog.Add(LogType.Action, LogImpact.Low, $"{ToPrettyString(user)} is prying {ToPrettyString(target)}"); + } } return _doAfterSystem.TryStartDoAfter(doAfterArgs, out id); } From 0ca73ae9a9bd0c8fe021eb854385ca94308b749e Mon Sep 17 00:00:00 2001 From: mersen-tyn Date: Sat, 10 Jan 2026 17:19:22 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=D0=BF=D1=83=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Light/AmbientOcclusionOverlay.cs | 8 +++++--- Content.Server/Chat/Systems/ChatSystem.cs | 6 ++++++ .../Shuttles/Systems/ShuttleSystem.Impact.cs | 15 ++++++++------- Content.Shared/CCVar/CCVars.Shuttle.cs | 2 +- .../Interaction/SharedInteractionSystem.cs | 18 ++++++++++++++---- Content.Shared/Prying/Systems/PryingSystem.cs | 4 +++- 6 files changed, 37 insertions(+), 16 deletions(-) diff --git a/Content.Client/Light/AmbientOcclusionOverlay.cs b/Content.Client/Light/AmbientOcclusionOverlay.cs index adee5b628a5e..ac5da2d8bb57 100644 --- a/Content.Client/Light/AmbientOcclusionOverlay.cs +++ b/Content.Client/Light/AmbientOcclusionOverlay.cs @@ -33,7 +33,7 @@ public sealed class AmbientOcclusionOverlay : Overlay // Couldn't figure out a way to avoid this so if you can then please do. private IRenderTexture? _aoStencilTarget; - private bool _drawing; + private bool _drawing; // Change-Forge public AmbientOcclusionOverlay() { @@ -43,11 +43,13 @@ public AmbientOcclusionOverlay() protected override void Draw(in OverlayDrawArgs args) { + //Change-Forge-Start // Prevent recursive drawing. if (_drawing) { return; } + //Change-Forge-End /* * tl;dr @@ -96,7 +98,7 @@ protected override void Draw(in OverlayDrawArgs args) } // Draw the texture data to the texture. - _drawing = true; + _drawing = true; // Change-Forge args.WorldHandle.RenderInRenderTarget(_aoTarget, () => { @@ -150,7 +152,7 @@ protected override void Draw(in OverlayDrawArgs args) // Draw the Blurred AO texture finally. worldHandle.UseShader(_proto.Index(StencilEqualDrawShader).Instance()); worldHandle.DrawTextureRect(_aoTarget!.Texture, worldBounds, color); - _drawing = false; + _drawing = false; // Change-Forge args.WorldHandle.SetTransform(Matrix3x2.Identity); args.WorldHandle.UseShader(null); diff --git a/Content.Server/Chat/Systems/ChatSystem.cs b/Content.Server/Chat/Systems/ChatSystem.cs index 79bf3424ec60..0fa34591c292 100644 --- a/Content.Server/Chat/Systems/ChatSystem.cs +++ b/Content.Server/Chat/Systems/ChatSystem.cs @@ -568,9 +568,12 @@ private void SendEntityWhisper( var ev = new EntitySpokeEvent(source, message, channel, obfuscatedMessage); RaiseLocalEvent(source, ev, true); + // Corvax-Forge-start // To avoid logging any messages sent by entities that are not players. if (!HasComp(source)) return; + // Corvax-Forge-end + if (!hideLog) if (originalMessage == message) @@ -626,9 +629,12 @@ private void SendEntityEmote( SendInVoiceRange(ChatChannel.Emotes, action, wrappedMessage, source, range, author); + // Corvax-Forge-start // To avoid logging any messages sent by entities that are not players. if (!HasComp(source)) return; + // Corvax-Forge-end + if (!hideLog) if (name != Name(source)) diff --git a/Content.Server/Shuttles/Systems/ShuttleSystem.Impact.cs b/Content.Server/Shuttles/Systems/ShuttleSystem.Impact.cs index f67bfd980101..c3f17215916d 100644 --- a/Content.Server/Shuttles/Systems/ShuttleSystem.Impact.cs +++ b/Content.Server/Shuttles/Systems/ShuttleSystem.Impact.cs @@ -141,7 +141,7 @@ private void OnShuttleCollide(EntityUid uid, ShuttleComponent component, ref Sta var effectiveInertia = jungleDiff * effectiveInertiaMult; // TODO: squish damage so that a tiny splinter grid can't stop 2 big grids by being in the way - if (jungleDiff < _minimumImpactVelocity || effectiveInertia < _minimumImpactInertia + if (jungleDiff < _minimumImpactVelocity || effectiveInertia < _minimumImpactInertia // Change-Forge || ourXform.MapUid == null || float.IsNaN(jungleDiff)) { @@ -175,12 +175,12 @@ private void OnShuttleCollide(EntityUid uid, ShuttleComponent component, ref Sta // E = MV^2/2 var energyMult = MathF.Pow(jungleDiff, 2) / 2; // mass-based damage reduction to grid with more mass so that plastitanium block rammer doesn't die to lattice - var ourMassDR = MathF.Pow(otherMass / ourMass, _massBias); - var otherMassDR = MathF.Pow(ourMass / otherMass, _massBias); + var ourMassDR = MathF.Pow(otherMass / ourMass, _massBias); // Change-Forge: var ourMassDR = MathF.Max(otherMass / ourMass, 1f); + var otherMassDR = MathF.Pow(ourMass / otherMass, _massBias); // Change-Forge: var otherMassDR = MathF.Max(ourMass / otherMass, 1f); // multiplier to make large grids not just bonk against each other var inertiaMult = MathF.Pow(effectiveInertiaMult / _baseShuttleMass, _inertiaScaling); - var toUsEnergy = otherMass * energyMult * inertiaMult / ourMassDR; - var toOtherEnergy = ourMass * energyMult * inertiaMult / otherMassDR; + var toUsEnergy = otherMass * energyMult * inertiaMult / ourMassDR; // Change-Forge: var toUsEnergy = otherMass * energyMult * inertiaMult * ourMassDR; + var toOtherEnergy = ourMass * energyMult * inertiaMult / otherMassDR; // Change-Forge: var toOtherEnergy = ourMass * energyMult * inertiaMult * otherMassDR; var impact = LogImpact.High; // if impact isn't tiny, log it as extreme @@ -382,9 +382,10 @@ private void ProcessTileBatch( if (_dmgQuery.TryComp(localEnt, out var damageable)) { // Apply damage scaled by distance but capped to prevent gibbing - var scaledDamage = tileData.Energy * _damageMultiplier * 2; + var scaledDamage = tileData.Energy * _damageMultiplier * 2; // Forge-Change: *2 < 0 damageSpec.DamageDict["Blunt"] = scaledDamage; - damageSpec.DamageDict["Structural"] = scaledDamage * _structuralDamage * 4; + damageSpec.DamageDict["Structural"] = scaledDamage * _structuralDamage * 4; // Forge-Change: *4 < 0 + _damageSys.TryChangeDamage(localEnt, damageSpec, damageable: damageable); } diff --git a/Content.Shared/CCVar/CCVars.Shuttle.cs b/Content.Shared/CCVar/CCVars.Shuttle.cs index 6c6d73c26c09..1bcdd5639f90 100644 --- a/Content.Shared/CCVar/CCVars.Shuttle.cs +++ b/Content.Shared/CCVar/CCVars.Shuttle.cs @@ -223,7 +223,7 @@ public sealed partial class CCVars /// [CVarControl(AdminFlags.VarEdit)] public static readonly CVarDef TileBreakEnergyMultiplier = - CVarDef.Create("shuttle.impact.tile_break_energy", 3000f, CVar.SERVERONLY); // Frontier 3000f<35000f + CVarDef.Create("shuttle.impact.tile_break_energy", 3000f, CVar.SERVERONLY); // Change-Forge: 3000f<35000f /// /// Multiplier of damage done to entities on colliding areas diff --git a/Content.Shared/Interaction/SharedInteractionSystem.cs b/Content.Shared/Interaction/SharedInteractionSystem.cs index 630006abe9dc..0b78a8737439 100644 --- a/Content.Shared/Interaction/SharedInteractionSystem.cs +++ b/Content.Shared/Interaction/SharedInteractionSystem.cs @@ -506,13 +506,14 @@ public void InteractHand(EntityUid user, EntityUid target) // allow for special logic before main interaction var ev = new BeforeInteractHandEvent(target); RaiseLocalEvent(user, ev); + // Corvax-Forge-start if (ev.Handled) { if (HasComp(user)) _adminLogger.Add(LogType.InteractHand, LogImpact.Low, $"{ToPrettyString(user):user} interacted with {ToPrettyString(target):target}, but it was handled by another system"); return; } - + // Corvax-Forge-end DebugTools.Assert(!IsDeleted(user) && !IsDeleted(target)); // all interactions should only happen when in range / unobstructed, so no range check is needed var message = new InteractHandEvent(user, target); @@ -520,9 +521,10 @@ public void InteractHand(EntityUid user, EntityUid target) // Frontier modification: adds extra things to the log var extraLogs = LoggingExtensions.GetExtraLogs(EntityManager, target); - + // Corvax-Forge-start if (HasComp(user)) _adminLogger.Add(LogType.InteractHand, LogImpact.Low, $"{ToPrettyString(user):user} interacted with {ToPrettyString(target):target}{extraLogs}"); + // Corvax-Forge-end DoContactInteraction(user, target, message); if (message.Handled) return; @@ -546,6 +548,7 @@ public void InteractUsingRanged(EntityUid user, EntityUid used, EntityUid? targe if (target != null) { + // Corvax-Forge-start if (HasComp(user)) { _adminLogger.Add( @@ -553,9 +556,11 @@ public void InteractUsingRanged(EntityUid user, EntityUid used, EntityUid? targe LogImpact.Low, $"{ToPrettyString(user):user} interacted with {ToPrettyString(target):target} using {ToPrettyString(used):used}"); } + // Corvax-Forge-end } else { + // Corvax-Forge-start if (HasComp(user)) { _adminLogger.Add( @@ -563,6 +568,7 @@ public void InteractUsingRanged(EntityUid user, EntityUid used, EntityUid? targe LogImpact.Low, $"{ToPrettyString(user):user} interacted with *nothing* using {ToPrettyString(used):used}"); } + // Corvax-Forge-end } if (RangedInteractDoBefore(user, used, target, clickLocation, inRangeUnobstructed, checkDeletion: false)) @@ -1051,6 +1057,7 @@ public bool InteractUsing( if (checkCanUse && !_actionBlockerSystem.CanUseHeldEntity(user, used)) return false; + // Corvax-Forge-start if (HasComp(user)) { _adminLogger.Add( @@ -1058,6 +1065,7 @@ public bool InteractUsing( LogImpact.Low, $"{ToPrettyString(user):user} interacted with {ToPrettyString(target):target} using {ToPrettyString(used):used}"); } + // Corvax-Forge-end if (RangedInteractDoBefore(user, used, target, clickLocation, canReach: true, checkDeletion: false)) return true; @@ -1184,9 +1192,10 @@ public bool InteractionActivate( { DoContactInteraction(user, used); if (!activateMsg.WasLogged) + //Change-Forge-Start if (HasComp(user)) _adminLogger.Add(LogType.InteractActivate, LogImpact.Low, $"{ToPrettyString(user):user} activated {ToPrettyString(used):used}"); - + //Change-Forge-End if (delayComponent != null) _useDelay.TryResetDelay(used, component: delayComponent); return true; @@ -1202,9 +1211,10 @@ public bool InteractionActivate( // Still need to call this even without checkUseDelay in case this gets relayed from Activate. if (delayComponent != null) _useDelay.TryResetDelay(used, component: delayComponent); - + //Change-Forge-Start if (HasComp(user)) _adminLogger.Add(LogType.InteractActivate, LogImpact.Low, $"{ToPrettyString(user):user} activated {ToPrettyString(used):used}"); + //Change-Forge-End return true; } #endregion diff --git a/Content.Shared/Prying/Systems/PryingSystem.cs b/Content.Shared/Prying/Systems/PryingSystem.cs index 0f744731ff3a..8911b74989b7 100644 --- a/Content.Shared/Prying/Systems/PryingSystem.cs +++ b/Content.Shared/Prying/Systems/PryingSystem.cs @@ -8,7 +8,7 @@ using Content.Shared.Prying.Components; using Content.Shared.Verbs; using Robust.Shared.Audio.Systems; -using Robust.Shared.Player; +using Robust.Shared.Player; // Corvax-Forge using Robust.Shared.Serialization; using PryUnpoweredComponent = Content.Shared.Prying.Components.PryUnpoweredComponent; @@ -142,6 +142,7 @@ private bool StartPry(EntityUid target, EntityUid user, EntityUid? tool, float t NeedHand = tool != user, }; + // Corvax-Forge-start // don't log NPC prying if (HasComp(user)) { @@ -156,6 +157,7 @@ private bool StartPry(EntityUid target, EntityUid user, EntityUid? tool, float t } return _doAfterSystem.TryStartDoAfter(doAfterArgs, out id); } + // Corvax-Forge-end private void OnDoAfter(EntityUid uid, DoorComponent door, DoorPryDoAfterEvent args) {