From 6496d99a328c50e937a4f966d04676e571bcd1b3 Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Sat, 16 Dec 2023 22:22:19 +0000 Subject: [PATCH] medibot toctou gaming (#22608) Co-authored-by: deltanedas <@deltanedas:kde.org> --- .../Operators/Specific/MedibotInjectOperator.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Content.Server/NPC/HTN/PrimitiveTasks/Operators/Specific/MedibotInjectOperator.cs b/Content.Server/NPC/HTN/PrimitiveTasks/Operators/Specific/MedibotInjectOperator.cs index c9c495cba5..7b66cff1f8 100644 --- a/Content.Server/NPC/HTN/PrimitiveTasks/Operators/Specific/MedibotInjectOperator.cs +++ b/Content.Server/NPC/HTN/PrimitiveTasks/Operators/Specific/MedibotInjectOperator.cs @@ -16,8 +16,9 @@ namespace Content.Server.NPC.HTN.PrimitiveTasks.Operators.Specific; public sealed partial class MedibotInjectOperator : HTNOperator { [Dependency] private readonly IEntityManager _entMan = default!; - private SharedAudioSystem _audio = default!; private ChatSystem _chat = default!; + private MedibotSystem _medibot = default!; + private SharedAudioSystem _audio = default!; private SharedInteractionSystem _interaction = default!; private SharedPopupSystem _popup = default!; private SolutionContainerSystem _solution = default!; @@ -31,8 +32,9 @@ public sealed partial class MedibotInjectOperator : HTNOperator public override void Initialize(IEntitySystemManager sysManager) { base.Initialize(sysManager); - _audio = sysManager.GetEntitySystem(); _chat = sysManager.GetEntitySystem(); + _medibot = sysManager.GetEntitySystem(); + _audio = sysManager.GetEntitySystem(); _interaction = sysManager.GetEntitySystem(); _popup = sysManager.GetEntitySystem(); _solution = sysManager.GetEntitySystem(); @@ -75,8 +77,7 @@ public sealed partial class MedibotInjectOperator : HTNOperator return HTNOperatorStatus.Failed; var state = mobState.CurrentState; - var treatment = botComp.Treatments[mobState.CurrentState]; - if (!treatment.IsValid(total)) + if (!_medibot.TryGetTreatment(botComp, mobState.CurrentState, out var treatment) || !treatment.IsValid(total)) return HTNOperatorStatus.Failed; _entMan.EnsureComponent(target); -- 2.51.2