From b5cede485d233327c48f4e77070b411f05f47167 Mon Sep 17 00:00:00 2001 From: Aviu00 <93730715+Aviu00@users.noreply.github.com> Date: Tue, 2 Apr 2024 23:18:05 +0900 Subject: [PATCH] - tweak: Nerf blight. (#263) * - tweak: Nerf blight. * - tweak: ... But bible no longer works. --- Content.Server/Bible/BibleSystem.cs | 4 ++-- .../Revenant/Components/BlightComponent.cs | 2 +- .../Revenant/Components/CureBlight.cs | 19 +++++++++++++++++++ .../Revenant/EntitySystems/BlightSystem.cs | 2 +- .../EntitySystems/RevenantSystem.Abilities.cs | 7 ++++--- .../Cult/Runes/Systems/CultSystem.Rune.cs | 3 +++ .../Revenant/Components/CorporealComponent.cs | 2 +- Resources/Prototypes/Reagents/medicine.yml | 1 + 8 files changed, 32 insertions(+), 8 deletions(-) create mode 100644 Content.Server/Revenant/Components/CureBlight.cs diff --git a/Content.Server/Bible/BibleSystem.cs b/Content.Server/Bible/BibleSystem.cs index 3e6e8b6b92..3049a77ca3 100644 --- a/Content.Server/Bible/BibleSystem.cs +++ b/Content.Server/Bible/BibleSystem.cs @@ -119,7 +119,7 @@ namespace Content.Server.Bible } // WD START - if (HasComp(args.Target.Value)) + /*if (HasComp(args.Target.Value)) { var othersMessage = Loc.GetString(component.LocPrefix + "-blight-success-others", ("user", Identity.Entity(args.User, EntityManager)), ("target", Identity.Entity(args.Target.Value, EntityManager)), ("bible", uid)); _popupSystem.PopupEntity(othersMessage, args.User, Filter.PvsExcept(args.User), true, PopupType.Medium); @@ -130,7 +130,7 @@ namespace Content.Server.Bible _delay.TryResetDelay((uid, useDelay)); RemCompDeferred(args.Target.Value); return; - } + }*/ // WD END // This only has a chance to fail if the target is not wearing anything on their head and is not a familiar. diff --git a/Content.Server/Revenant/Components/BlightComponent.cs b/Content.Server/Revenant/Components/BlightComponent.cs index d03fab1dc2..ff50e44126 100644 --- a/Content.Server/Revenant/Components/BlightComponent.cs +++ b/Content.Server/Revenant/Components/BlightComponent.cs @@ -16,7 +16,7 @@ public sealed partial class BlightComponent : Component public float Delay; [ViewVariables(VVAccess.ReadWrite)] - public TimeSpan SleepingCureTime = TimeSpan.FromSeconds(25); + public TimeSpan SleepingCureTime = TimeSpan.FromSeconds(15); [ViewVariables(VVAccess.ReadWrite)] public float SleepDelay; diff --git a/Content.Server/Revenant/Components/CureBlight.cs b/Content.Server/Revenant/Components/CureBlight.cs new file mode 100644 index 0000000000..1babd4210b --- /dev/null +++ b/Content.Server/Revenant/Components/CureBlight.cs @@ -0,0 +1,19 @@ +using Content.Shared.Chemistry.Reagent; +using JetBrains.Annotations; +using Robust.Shared.Prototypes; + +namespace Content.Server.Revenant.Components; + +[UsedImplicitly] +public sealed partial class CureBlight : ReagentEffect +{ + protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) + { + return null; + } + + public override void Effect(ReagentEffectArgs args) + { + args.EntityManager.RemoveComponentDeferred(args.SolutionEntity); + } +} diff --git a/Content.Server/Revenant/EntitySystems/BlightSystem.cs b/Content.Server/Revenant/EntitySystems/BlightSystem.cs index e86249b9c0..b18e0c6835 100644 --- a/Content.Server/Revenant/EntitySystems/BlightSystem.cs +++ b/Content.Server/Revenant/EntitySystems/BlightSystem.cs @@ -92,6 +92,6 @@ public sealed class BlightSystem : EntitySystem private void SetDelay(BlightComponent comp) { - comp.MaxDelay = TimeSpan.FromSeconds(_random.Next(10, 30)); + comp.MaxDelay = TimeSpan.FromSeconds(_random.Next(20, 50)); } } diff --git a/Content.Server/Revenant/EntitySystems/RevenantSystem.Abilities.cs b/Content.Server/Revenant/EntitySystems/RevenantSystem.Abilities.cs index 6622ff858d..ab5ab8e347 100644 --- a/Content.Server/Revenant/EntitySystems/RevenantSystem.Abilities.cs +++ b/Content.Server/Revenant/EntitySystems/RevenantSystem.Abilities.cs @@ -15,9 +15,9 @@ using Content.Shared.Item; using Content.Shared.Bed.Sleep; using System.Linq; using System.Numerics; -using Content.Server.Bible.Components; using Content.Server.Maps; using Content.Server.Revenant.Components; +using Content.Shared._White.Cult.Components; using Content.Shared.DoAfter; using Content.Shared.Emag.Systems; using Content.Shared.FixedPoint; @@ -334,10 +334,11 @@ public sealed partial class RevenantSystem args.Handled = true; // WD START - var query = GetEntityQuery(); + var cultistQuery = GetEntityQuery(); + var humanoidQuery = GetEntityQuery(); foreach (var e in _lookup.GetEntitiesInRange(uid, component.BlightRadius)) { - if (!_mobState.IsAlive(e) || query.HasComponent(e)) + if (!humanoidQuery.HasComponent(e) || !_mobState.IsAlive(e) || cultistQuery.HasComponent(e)) continue; var blight = EnsureComp(e); diff --git a/Content.Server/_White/Cult/Runes/Systems/CultSystem.Rune.cs b/Content.Server/_White/Cult/Runes/Systems/CultSystem.Rune.cs index 48a3ac35f5..1a0d177f5c 100644 --- a/Content.Server/_White/Cult/Runes/Systems/CultSystem.Rune.cs +++ b/Content.Server/_White/Cult/Runes/Systems/CultSystem.Rune.cs @@ -16,6 +16,7 @@ using Content.Server.Chemistry.Components; using Content.Server.Chemistry.Containers.EntitySystems; using Content.Server.Fluids.Components; using Content.Server.Ghost; +using Content.Server.Revenant.Components; using Content.Shared._White.Chaplain; using Content.Shared.Chemistry.Components.SolutionManager; using Content.Shared.Cuffs.Components; @@ -547,6 +548,8 @@ public sealed partial class CultSystem : EntitySystem _statusEffectsSystem.TryRemoveStatusEffect(target, "Muted"); + RemCompDeferred(target); + return true; } diff --git a/Content.Shared/Revenant/Components/CorporealComponent.cs b/Content.Shared/Revenant/Components/CorporealComponent.cs index ee9c4924e9..289e20606a 100644 --- a/Content.Shared/Revenant/Components/CorporealComponent.cs +++ b/Content.Shared/Revenant/Components/CorporealComponent.cs @@ -11,5 +11,5 @@ public sealed partial class CorporealComponent : Component /// The debuff applied when the component is present. /// [ViewVariables(VVAccess.ReadWrite)] - public float MovementSpeedDebuff = 0.66f; + public float MovementSpeedDebuff = 0.4f; // WD EDIT } diff --git a/Resources/Prototypes/Reagents/medicine.yml b/Resources/Prototypes/Reagents/medicine.yml index 627cb08608..e5d937d1b4 100644 --- a/Resources/Prototypes/Reagents/medicine.yml +++ b/Resources/Prototypes/Reagents/medicine.yml @@ -1032,6 +1032,7 @@ Heat: -0.2 Shock: -0.2 Cold: -0.2 + - !type:CureBlight - !type:DeconvertCultist conditions: - !type:ReagentThreshold