* Portal repalette * Portal traversal verb + anchoring * map restriction * optional max distance checks if we decide to have them later * lower pointlight energy slightly hopefully makes it less garish
22 lines
838 B
C#
22 lines
838 B
C#
using Content.Server.Ghost.Components;
|
|
using Content.Server.Mind.Components;
|
|
using Content.Shared.Administration.Logs;
|
|
using Content.Shared.Database;
|
|
using Content.Shared.Teleportation.Systems;
|
|
using Robust.Shared.Map;
|
|
|
|
namespace Content.Server.Teleportation;
|
|
|
|
public sealed class PortalSystem : SharedPortalSystem
|
|
{
|
|
[Dependency] private readonly ISharedAdminLogManager _adminLogger = default!;
|
|
|
|
// TODO Move to shared
|
|
protected override void LogTeleport(EntityUid portal, EntityUid subject, EntityCoordinates source,
|
|
EntityCoordinates target)
|
|
{
|
|
if (HasComp<MindContainerComponent>(subject) && !HasComp<GhostComponent>(subject))
|
|
_adminLogger.Add(LogType.Teleport, LogImpact.Low, $"{ToPrettyString(subject):player} teleported via {ToPrettyString(portal)} from {source} to {target}");
|
|
}
|
|
}
|