Add logging for hacking (#12861)

This commit is contained in:
Chief-Engineer
2023-01-15 15:14:46 -06:00
committed by GitHub
parent d3b8084f6f
commit 3cfd814503
14 changed files with 128 additions and 6 deletions

View File

@@ -1,5 +1,7 @@
using Content.Server.Power.Components;
using Content.Server.Power.EntitySystems;
using Content.Shared.Administration.Logs;
using Content.Shared.Database;
using Content.Shared.Wires;
namespace Content.Server.Wires;
@@ -7,6 +9,13 @@ namespace Content.Server.Wires;
/// <summary><see cref="IWireAction" /></summary>
public abstract class BaseWireAction : IWireAction
{
private ISharedAdminLogManager _adminLogger = default!;
protected virtual string Text
{
get => GetType().Name.Replace("WireAction", "");
set { }
}
public IEntityManager EntityManager = default!;
public WiresSystem WiresSystem = default!;
@@ -17,14 +26,27 @@ public abstract class BaseWireAction : IWireAction
public virtual void Initialize()
{
EntityManager = IoCManager.Resolve<IEntityManager>();
_adminLogger = IoCManager.Resolve<ISharedAdminLogManager>();
WiresSystem = EntityManager.EntitySysManager.GetEntitySystem<WiresSystem>();
}
public virtual bool AddWire(Wire wire, int count) => count == 1;
public abstract bool Cut(EntityUid user, Wire wire);
public abstract bool Mend(EntityUid user, Wire wire);
public abstract bool Pulse(EntityUid user, Wire wire);
public virtual bool Cut(EntityUid user, Wire wire)
{
_adminLogger.Add(LogType.Action, LogImpact.Medium, $"{EntityManager.ToPrettyString(user):player} cut {wire.Color.Name()} {Text} in {EntityManager.ToPrettyString(wire.Owner)}");
return false;
}
public virtual bool Mend(EntityUid user, Wire wire)
{
_adminLogger.Add(LogType.Action, LogImpact.Medium, $"{EntityManager.ToPrettyString(user):player} mended {wire.Color.Name()} {Text} in {EntityManager.ToPrettyString(wire.Owner)}");
return false;
}
public virtual bool Pulse(EntityUid user, Wire wire)
{
_adminLogger.Add(LogType.Action, LogImpact.Medium, $"{EntityManager.ToPrettyString(user):player} pulsed {wire.Color.Name()} {Text} in {EntityManager.ToPrettyString(wire.Owner)}");
return false;
}
public virtual void Update(Wire wire)
{
return;