From 96acb39b71f47c8726e2ff6dbb142c8be2960403 Mon Sep 17 00:00:00 2001 From: null <56081759+NullWanderer@users.noreply.github.com> Date: Thu, 25 Jul 2024 02:07:54 +0200 Subject: [PATCH] Untroll reagents --- .../Chemistry/Effects/ChemRemovePsionic.cs | 14 +++++++++----- .../Chemistry/Effects/ChemRerollPsionic.cs | 7 ++++--- .../ChangeGlimmerReactionEffect.cs | 5 +++-- .../Kitchen/Components/DeepFryerComponent.cs | 3 ++- .../EntitySystems/DeepFryerSystem.Update.cs | 17 +++++++++-------- .../Kitchen/EntitySystems/DeepFryerSystem.cs | 8 +++++--- 6 files changed, 32 insertions(+), 22 deletions(-) diff --git a/Content.Server/Nyanotrasen/Chemistry/Effects/ChemRemovePsionic.cs b/Content.Server/Nyanotrasen/Chemistry/Effects/ChemRemovePsionic.cs index a23a5b3d77d..9e2f2adcfa9 100644 --- a/Content.Server/Nyanotrasen/Chemistry/Effects/ChemRemovePsionic.cs +++ b/Content.Server/Nyanotrasen/Chemistry/Effects/ChemRemovePsionic.cs @@ -1,5 +1,6 @@ using Content.Shared.Chemistry.Reagent; using Content.Server.Abilities.Psionics; +using Content.Shared.EntityEffects; using JetBrains.Annotations; using Robust.Shared.Prototypes; @@ -9,19 +10,22 @@ namespace Content.Server.Chemistry.ReagentEffects /// Rerolls psionics once. /// [UsedImplicitly] - public sealed partial class ChemRemovePsionic : ReagentEffect + public sealed partial class ChemRemovePsionic : EntityEffect { protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) => Loc.GetString("reagent-effect-guidebook-chem-remove-psionic", ("chance", Probability)); - public override void Effect(ReagentEffectArgs args) + public override void Effect(EntityEffectBaseArgs args) { - if (args.Scale != 1f) - return; + if (args is EntityEffectReagentArgs reagentArgs) + { + if (reagentArgs.Scale != 1f) + return; + } var psySys = args.EntityManager.EntitySysManager.GetEntitySystem(); - psySys.RemovePsionics(args.SolutionEntity); + psySys.RemovePsionics(args.TargetEntity); } } } diff --git a/Content.Server/Nyanotrasen/Chemistry/Effects/ChemRerollPsionic.cs b/Content.Server/Nyanotrasen/Chemistry/Effects/ChemRerollPsionic.cs index 987a41c04a1..d1f6134df46 100644 --- a/Content.Server/Nyanotrasen/Chemistry/Effects/ChemRerollPsionic.cs +++ b/Content.Server/Nyanotrasen/Chemistry/Effects/ChemRerollPsionic.cs @@ -1,5 +1,6 @@ using Content.Shared.Chemistry.Reagent; using Content.Server.Psionics; +using Content.Shared.EntityEffects; using JetBrains.Annotations; using Robust.Shared.Prototypes; @@ -9,7 +10,7 @@ namespace Content.Server.Chemistry.ReagentEffects /// Rerolls psionics once. /// [UsedImplicitly] - public sealed partial class ChemRerollPsionic : ReagentEffect + public sealed partial class ChemRerollPsionic : EntityEffect { protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) => Loc.GetString("reagent-effect-guidebook-chem-reroll-psionic", ("chance", Probability)); @@ -20,11 +21,11 @@ namespace Content.Server.Chemistry.ReagentEffects [DataField("bonusMultiplier")] public float BonusMuliplier = 1f; - public override void Effect(ReagentEffectArgs args) + public override void Effect(EntityEffectBaseArgs args) { var psySys = args.EntityManager.EntitySysManager.GetEntitySystem(); - psySys.RerollPsionics(args.SolutionEntity, bonusMuliplier: BonusMuliplier); + psySys.RerollPsionics(args.TargetEntity, bonusMuliplier: BonusMuliplier); } } } diff --git a/Content.Server/Nyanotrasen/Chemistry/ReactionEffects/ChangeGlimmerReactionEffect.cs b/Content.Server/Nyanotrasen/Chemistry/ReactionEffects/ChangeGlimmerReactionEffect.cs index 65aaf350cba..acd4d986ee7 100644 --- a/Content.Server/Nyanotrasen/Chemistry/ReactionEffects/ChangeGlimmerReactionEffect.cs +++ b/Content.Server/Nyanotrasen/Chemistry/ReactionEffects/ChangeGlimmerReactionEffect.cs @@ -1,11 +1,12 @@ using Content.Shared.Chemistry.Reagent; +using Content.Shared.EntityEffects; using Content.Shared.Psionics.Glimmer; using Robust.Shared.Prototypes; namespace Content.Server.Chemistry.ReactionEffects; [DataDefinition] -public sealed partial class ChangeGlimmerReactionEffect : ReagentEffect +public sealed partial class ChangeGlimmerReactionEffect : EntityEffect { protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) => Loc.GetString("reagent-effect-guidebook-change-glimmer-reaction-effect", ("chance", Probability), @@ -17,7 +18,7 @@ public sealed partial class ChangeGlimmerReactionEffect : ReagentEffect [DataField("count")] public int Count = 1; - public override void Effect(ReagentEffectArgs args) + public override void Effect(EntityEffectBaseArgs args) { var glimmersys = args.EntityManager.EntitySysManager.GetEntitySystem(); diff --git a/Content.Server/Nyanotrasen/Kitchen/Components/DeepFryerComponent.cs b/Content.Server/Nyanotrasen/Kitchen/Components/DeepFryerComponent.cs index a1c2e69f548..d77bec6b1ae 100644 --- a/Content.Server/Nyanotrasen/Kitchen/Components/DeepFryerComponent.cs +++ b/Content.Server/Nyanotrasen/Kitchen/Components/DeepFryerComponent.cs @@ -1,6 +1,7 @@ using Content.Shared.Chemistry.Components; using Content.Shared.Chemistry.Reagent; using Content.Shared.Construction.Prototypes; +using Content.Shared.EntityEffects; using Content.Shared.FixedPoint; using Content.Shared.Nutrition; using Content.Shared.Nyanotrasen.Kitchen; @@ -187,7 +188,7 @@ namespace Content.Server.Nyanotrasen.Kitchen.Components [ViewVariables(VVAccess.ReadWrite)] [DataField("unsafeOilVolumeEffects")] - public List UnsafeOilVolumeEffects = new(); + public List UnsafeOilVolumeEffects = new(); /// /// What is the temperature of the vat when the deep fryer is powered? diff --git a/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.Update.cs b/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.Update.cs index 0978cffeb4b..aab1bb63fad 100644 --- a/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.Update.cs +++ b/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.Update.cs @@ -4,6 +4,7 @@ using Content.Server.Nyanotrasen.Kitchen.Components; using Content.Shared.Chemistry.Components; using Content.Shared.Chemistry.Components.SolutionManager; using Content.Shared.Chemistry.Reagent; +using Content.Shared.EntityEffects; using Content.Shared.FixedPoint; using Content.Shared.Popups; using Robust.Shared.Player; @@ -54,14 +55,14 @@ public sealed partial class DeepFryerSystem foreach (var effect in component.UnsafeOilVolumeEffects) { - effect.Effect(new ReagentEffectArgs(uid, - null, - component.Solution, - proto!, - reagent.Quantity, - EntityManager, - null, - 1f)); + effect.Effect(new EntityEffectReagentArgs(uid, + EntityManager, + null, + component.Solution, + reagent.Quantity, + proto!, + null, + 1f)); } } diff --git a/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs b/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs index e0a4d038772..af6f8045a17 100644 --- a/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs +++ b/Content.Server/Nyanotrasen/Kitchen/EntitySystems/DeepFryerSystem.cs @@ -29,6 +29,7 @@ using Content.Shared.Damage.Prototypes; using Content.Shared.Database; using Content.Shared.Destructible; using Content.Shared.DoAfter; +using Content.Shared.EntityEffects; using Content.Shared.Examine; using Content.Shared.FixedPoint; using Content.Shared.Hands.Components; @@ -381,12 +382,13 @@ public sealed partial class DeepFryerSystem : SharedDeepfryerSystem { //JJ Comment - not sure this works. Need to check if Reagent.ToString is correct. _prototypeManager.TryIndex(reagent.Reagent.ToString(), out var proto); - var effectsArgs = new ReagentEffectArgs(uid, + + var effectsArgs = new EntityEffectReagentArgs(uid, + EntityManager, null, component.Solution, - proto!, reagent.Quantity, - EntityManager, + proto!, null, 1f); foreach (var effect in component.UnsafeOilVolumeEffects)