Log a lot less reagent effects (#5572)
This commit is contained in:
@@ -160,12 +160,15 @@ namespace Content.Server.Body.Systems
|
|||||||
if (!effect.ShouldApply(args, _random))
|
if (!effect.ShouldApply(args, _random))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (effect.ShouldLog)
|
||||||
|
{
|
||||||
var entity = EntityManager.GetEntity(args.SolutionEntity);
|
var entity = EntityManager.GetEntity(args.SolutionEntity);
|
||||||
_logSystem.Add(LogType.ReagentEffect, LogImpact.Low,
|
_logSystem.Add(LogType.ReagentEffect, effect.LogImpact,
|
||||||
$"Metabolism effect {effect.GetType().Name} of reagent {args.Reagent.Name:reagent} applied on entity {entity} at {entity.Transform.Coordinates}");
|
$"Metabolism effect {effect.GetType().Name} of reagent {args.Reagent.Name:reagent} applied on entity {entity} at {entity.Transform.Coordinates}");
|
||||||
effect.Effect(args);
|
effect.Effect(args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// remove a certain amount of reagent
|
// remove a certain amount of reagent
|
||||||
if (mostToRemove > FixedPoint2.Zero)
|
if (mostToRemove > FixedPoint2.Zero)
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
using Content.Server.Chemistry.Components;
|
using Content.Server.Chemistry.Components;
|
||||||
using Content.Server.Chemistry.EntitySystems;
|
using Content.Server.Chemistry.EntitySystems;
|
||||||
using Content.Server.Coordinates.Helpers;
|
using Content.Server.Coordinates.Helpers;
|
||||||
|
using Content.Shared.Administration.Logs;
|
||||||
using Content.Shared.Audio;
|
using Content.Shared.Audio;
|
||||||
using Content.Shared.Chemistry.Components;
|
using Content.Shared.Chemistry.Components;
|
||||||
using Content.Shared.Chemistry.Reaction;
|
using Content.Shared.Chemistry.Reaction;
|
||||||
@@ -78,6 +79,9 @@ namespace Content.Server.Chemistry.ReactionEffects
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField("sound", required: true)] private SoundSpecifier _sound = default!;
|
[DataField("sound", required: true)] private SoundSpecifier _sound = default!;
|
||||||
|
|
||||||
|
public override bool ShouldLog => true;
|
||||||
|
public override LogImpact LogImpact => LogImpact.High;
|
||||||
|
|
||||||
void ISerializationHooks.AfterDeserialization()
|
void ISerializationHooks.AfterDeserialization()
|
||||||
{
|
{
|
||||||
IoCManager.InjectDependencies(this);
|
IoCManager.InjectDependencies(this);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using Content.Server.Chemistry.Components.SolutionManager;
|
using Content.Server.Chemistry.Components.SolutionManager;
|
||||||
using Content.Server.Explosion.EntitySystems;
|
using Content.Server.Explosion.EntitySystems;
|
||||||
|
using Content.Shared.Administration.Logs;
|
||||||
using Content.Shared.Chemistry.Reagent;
|
using Content.Shared.Chemistry.Reagent;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
using Robust.Shared.Serialization.Manager.Attributes;
|
using Robust.Shared.Serialization.Manager.Attributes;
|
||||||
@@ -26,6 +27,9 @@ namespace Content.Server.Chemistry.ReactionEffects
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField("maxScale")] private float _maxScale = 1;
|
[DataField("maxScale")] private float _maxScale = 1;
|
||||||
|
|
||||||
|
public override bool ShouldLog => true;
|
||||||
|
public override LogImpact LogImpact => LogImpact.High;
|
||||||
|
|
||||||
public override void Effect(ReagentEffectArgs args)
|
public override void Effect(ReagentEffectArgs args)
|
||||||
{
|
{
|
||||||
var floatIntensity = (float) args.Quantity;
|
var floatIntensity = (float) args.Quantity;
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ public class Electrocute : ReagentEffect
|
|||||||
|
|
||||||
[DataField("electrocuteDamageScale")] public int ElectrocuteDamageScale = 5;
|
[DataField("electrocuteDamageScale")] public int ElectrocuteDamageScale = 5;
|
||||||
|
|
||||||
|
public override bool ShouldLog => true;
|
||||||
|
|
||||||
public override void Effect(ReagentEffectArgs args)
|
public override void Effect(ReagentEffectArgs args)
|
||||||
{
|
{
|
||||||
EntitySystem.Get<ElectrocutionSystem>().TryDoElectrocution(args.SolutionEntity, null,
|
EntitySystem.Get<ElectrocutionSystem>().TryDoElectrocution(args.SolutionEntity, null,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Content.Server.Atmos.Components;
|
using Content.Server.Atmos.Components;
|
||||||
using Content.Server.Atmos.EntitySystems;
|
using Content.Server.Atmos.EntitySystems;
|
||||||
|
using Content.Shared.Administration.Logs;
|
||||||
using Content.Shared.Chemistry.Components;
|
using Content.Shared.Chemistry.Components;
|
||||||
using Content.Shared.Chemistry.Reagent;
|
using Content.Shared.Chemistry.Reagent;
|
||||||
using Content.Shared.FixedPoint;
|
using Content.Shared.FixedPoint;
|
||||||
@@ -14,6 +15,9 @@ namespace Content.Server.Chemistry.ReagentEffects
|
|||||||
[UsedImplicitly]
|
[UsedImplicitly]
|
||||||
public class FlammableReaction : ReagentEffect
|
public class FlammableReaction : ReagentEffect
|
||||||
{
|
{
|
||||||
|
public override bool ShouldLog => true;
|
||||||
|
public override LogImpact LogImpact => LogImpact.Medium;
|
||||||
|
|
||||||
public override void Effect(ReagentEffectArgs args)
|
public override void Effect(ReagentEffectArgs args)
|
||||||
{
|
{
|
||||||
if (!args.EntityManager.TryGetComponent(args.SolutionEntity, out FlammableComponent? flammable)) return;
|
if (!args.EntityManager.TryGetComponent(args.SolutionEntity, out FlammableComponent? flammable)) return;
|
||||||
|
|||||||
@@ -114,12 +114,15 @@ namespace Content.Shared.Chemistry.Reaction
|
|||||||
if (!effect.ShouldApply(args))
|
if (!effect.ShouldApply(args))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (effect.ShouldLog)
|
||||||
|
{
|
||||||
var entity = EntityManager.GetEntity(args.SolutionEntity);
|
var entity = EntityManager.GetEntity(args.SolutionEntity);
|
||||||
_logSystem.Add(LogType.ReagentEffect, LogImpact.Low,
|
_logSystem.Add(LogType.ReagentEffect, effect.LogImpact,
|
||||||
$"Reaction effect {effect.GetType().Name} of reaction ${reaction.ID:reaction} applied on entity {entity} at {entity.Transform.Coordinates}");
|
$"Reaction effect {effect.GetType().Name} of reaction ${reaction.ID:reaction} applied on entity {entity} at {entity.Transform.Coordinates}");
|
||||||
effect.Effect(args);
|
effect.Effect(args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Performs all chemical reactions that can be run on a solution.
|
/// Performs all chemical reactions that can be run on a solution.
|
||||||
|
|||||||
@@ -61,13 +61,16 @@ namespace Content.Shared.Chemistry
|
|||||||
if (!effect.ShouldApply(args, _robustRandom))
|
if (!effect.ShouldApply(args, _robustRandom))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (effect.ShouldLog)
|
||||||
|
{
|
||||||
var entity = EntityManager.GetEntity(args.SolutionEntity);
|
var entity = EntityManager.GetEntity(args.SolutionEntity);
|
||||||
_logSystem.Add(LogType.ReagentEffect, LogImpact.Medium,
|
_logSystem.Add(LogType.ReagentEffect, effect.LogImpact,
|
||||||
$"Reactive effect {effect.GetType().Name} of reagent {reagent.ID:reagent} with method {method} applied on entity {entity} at {entity.Transform.Coordinates}");
|
$"Reactive effect {effect.GetType().Name} of reagent {reagent.ID:reagent} with method {method} applied on entity {entity} at {entity.Transform.Coordinates}");
|
||||||
effect.Effect(args);
|
effect.Effect(args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Then, check if the prototype has any effects it can apply as well.
|
// Then, check if the prototype has any effects it can apply as well.
|
||||||
if (reactive.Reactions != null)
|
if (reactive.Reactions != null)
|
||||||
@@ -85,8 +88,10 @@ namespace Content.Shared.Chemistry
|
|||||||
if (!effect.ShouldApply(args, _robustRandom))
|
if (!effect.ShouldApply(args, _robustRandom))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (effect.ShouldLog)
|
||||||
|
{
|
||||||
var entity = EntityManager.GetEntity(args.SolutionEntity);
|
var entity = EntityManager.GetEntity(args.SolutionEntity);
|
||||||
_logSystem.Add(LogType.ReagentEffect, LogImpact.Low,
|
_logSystem.Add(LogType.ReagentEffect, effect.LogImpact,
|
||||||
$"Reactive effect {effect.GetType().Name} of {entity} using reagent {reagent.ID} with method {method} at {entity.Transform.Coordinates}");
|
$"Reactive effect {effect.GetType().Name} of {entity} using reagent {reagent.ID} with method {method} at {entity.Transform.Coordinates}");
|
||||||
effect.Effect(args);
|
effect.Effect(args);
|
||||||
}
|
}
|
||||||
@@ -94,4 +99,5 @@ namespace Content.Shared.Chemistry
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,15 @@ namespace Content.Shared.Chemistry.Reagent
|
|||||||
[DataField("probability")]
|
[DataField("probability")]
|
||||||
public float Probability = 1.0f;
|
public float Probability = 1.0f;
|
||||||
|
|
||||||
|
[DataField("logImpact")]
|
||||||
|
public virtual LogImpact LogImpact { get; } = LogImpact.Low;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Should this reagent effect log at all?
|
||||||
|
/// </summary>
|
||||||
|
[DataField("shouldLog")]
|
||||||
|
public virtual bool ShouldLog { get; } = false;
|
||||||
|
|
||||||
public abstract void Effect(ReagentEffectArgs args);
|
public abstract void Effect(ReagentEffectArgs args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -120,13 +120,16 @@ namespace Content.Shared.Chemistry.Reagent
|
|||||||
if (!plantMetabolizable.ShouldApply(args, random))
|
if (!plantMetabolizable.ShouldApply(args, random))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (plantMetabolizable.ShouldLog)
|
||||||
|
{
|
||||||
var entity = entMan.GetEntity(args.SolutionEntity);
|
var entity = entMan.GetEntity(args.SolutionEntity);
|
||||||
EntitySystem.Get<SharedAdminLogSystem>().Add(LogType.ReagentEffect, LogImpact.Low,
|
EntitySystem.Get<SharedAdminLogSystem>().Add(LogType.ReagentEffect, plantMetabolizable.LogImpact,
|
||||||
$"Plant metabolism effect {plantMetabolizable.GetType().Name:effect} of reagent {ID} applied on entity {entity} at {entity.Transform.Coordinates}");
|
$"Plant metabolism effect {plantMetabolizable.GetType().Name:effect} of reagent {ID} applied on entity {entity} at {entity.Transform.Coordinates}");
|
||||||
plantMetabolizable.Effect(args);
|
plantMetabolizable.Effect(args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[DataDefinition]
|
[DataDefinition]
|
||||||
public class ReagentEffectsEntry
|
public class ReagentEffectsEntry
|
||||||
|
|||||||
Reference in New Issue
Block a user