Add anchorable flags (#25667)

Added it to cargo pallet and the ATS puter. Small steps. Also moved the log until the anchoring is actually confirmed to prevent dummy logs.
This commit is contained in:
metalgearsloth
2024-02-29 09:00:12 +11:00
committed by GitHub
parent dddec4dcc6
commit 5425742617
4 changed files with 35 additions and 11 deletions

View File

@@ -69,6 +69,9 @@ public sealed partial class AnchorableSystem : EntitySystem
if (!Valid(uid, userUid, usingUid, false))
return;
// Log unanchor attempt (server only)
_adminLogger.Add(LogType.Anchor, LogImpact.Low, $"{ToPrettyString(userUid):user} is trying to unanchor {ToPrettyString(uid):entity} from {transform.Coordinates:targetlocation}");
_tool.UseTool(usingUid, userUid, uid, anchorable.Delay, usingTool.Qualities, new TryUnanchorCompletedEvent());
}
@@ -181,16 +184,10 @@ public sealed partial class AnchorableSystem : EntitySystem
if (transform.Anchored)
{
TryUnAnchor(uid, userUid, usingUid, anchorable, transform, usingTool);
// Log unanchor attempt (server only)
_adminLogger.Add(LogType.Anchor, LogImpact.Low, $"{ToPrettyString(userUid):user} is trying to unanchor {ToPrettyString(uid):entity} from {transform.Coordinates:targetlocation}");
}
else
{
TryAnchor(uid, userUid, usingUid, anchorable, transform, pullable, usingTool);
// Log anchor attempt (server only)
_adminLogger.Add(LogType.Anchor, LogImpact.Low, $"{ToPrettyString(userUid):user} is trying to anchor {ToPrettyString(uid):entity} to {transform.Coordinates:targetlocation}");
}
}
@@ -216,6 +213,9 @@ public sealed partial class AnchorableSystem : EntitySystem
if (!Valid(uid, userUid, usingUid, true, anchorable, usingTool))
return;
// Log anchor attempt (server only)
_adminLogger.Add(LogType.Anchor, LogImpact.Low, $"{ToPrettyString(userUid):user} is trying to anchor {ToPrettyString(uid):entity} to {transform.Coordinates:targetlocation}");
if (TryComp<PhysicsComponent>(uid, out var anchorBody) &&
!TileFree(transform.Coordinates, anchorBody))
{
@@ -246,6 +246,12 @@ public sealed partial class AnchorableSystem : EntitySystem
if (!Resolve(usingUid, ref usingTool))
return false;
if (anchoring && (anchorable.Flags & AnchorableFlags.Anchorable) == 0x0)
return false;
if (!anchoring && (anchorable.Flags & AnchorableFlags.Unanchorable) == 0x0)
return false;
BaseAnchoredAttemptEvent attempt =
anchoring ? new AnchorAttemptEvent(userUid, usingUid) : new UnanchorAttemptEvent(userUid, usingUid);