Downstream devil fix to Painnumbness status effect

This commit is contained in:
BarryNorfolk 2026-01-23 09:14:02 +01:00
parent b24ec257b7
commit 538a1b1839
3 changed files with 21 additions and 1 deletions

View File

@ -35,6 +35,7 @@ using Robust.Shared.Prototypes;
using Robust.Shared.Random; using Robust.Shared.Random;
using Robust.Shared.Utility; using Robust.Shared.Utility;
using Content.Shared._EE.Silicon.Components; using Content.Shared._EE.Silicon.Components;
using Content.Shared.StatusEffectNew; // DeltaV - Clause status effects
namespace Content.Server._Goobstation.Devil.Contract; namespace Content.Server._Goobstation.Devil.Contract;
@ -51,6 +52,7 @@ public sealed partial class DevilContractSystem : EntitySystem
[Dependency] private readonly PolymorphSystem _polymorph = null!; [Dependency] private readonly PolymorphSystem _polymorph = null!;
[Dependency] private readonly ExplosionSystem _explosion = null!; [Dependency] private readonly ExplosionSystem _explosion = null!;
[Dependency] private readonly MindSystem _mind = null!; [Dependency] private readonly MindSystem _mind = null!;
[Dependency] private readonly StatusEffectsSystem _statusEffects = null!; // DeltaV - Clause status effects
public override void Initialize() public override void Initialize()
{ {
@ -363,6 +365,8 @@ public sealed partial class DevilContractSystem : EntitySystem
OverrideComponents(target, clause); // DeltaV - Fix component modifications OverrideComponents(target, clause); // DeltaV - Fix component modifications
ApplyStatusEffect(target, clause); // DeltaV - Clause status effects
ChangeDamageModifier(target, clause); ChangeDamageModifier(target, clause);
AddImplants(target, clause); AddImplants(target, clause);
@ -414,6 +418,16 @@ public sealed partial class DevilContractSystem : EntitySystem
} }
// End DeltaV Addition // End DeltaV Addition
// Begin DeltaV Addition - Devil clause status effects
private void ApplyStatusEffect(EntityUid target, DevilClausePrototype clause)
{
foreach (var effect in clause.StatusEffects)
{
_statusEffects.TrySetStatusEffectDuration(target, effect);
}
}
// End DeltaV Addition - Devil clause status effects
private void SpawnItems(EntityUid target, DevilClausePrototype clause) private void SpawnItems(EntityUid target, DevilClausePrototype clause)
{ {
if (clause.SpawnedItems == null) if (clause.SpawnedItems == null)

View File

@ -27,6 +27,9 @@ public sealed class DevilClausePrototype : IPrototype
[DataField] [DataField]
public ComponentRegistry? OverriddenComponents; // DeltaV - Added overridden components public ComponentRegistry? OverriddenComponents; // DeltaV - Added overridden components
[DataField]
public HashSet<EntProtoId> StatusEffects = new(); // DeltaV - Add status effects to clauses
[DataField] [DataField]
public string? DamageModifierSet; public string? DamageModifierSet;

View File

@ -117,11 +117,14 @@
id: pain id: pain
clauseWeight: -5 clauseWeight: -5
addedComponents: addedComponents:
- type: PainNumbness
- type: SlowOnDamage - type: SlowOnDamage
speedModifierThresholds: speedModifierThresholds:
60: 1 60: 1
80: 1 80: 1
# Begin DeltaV Additions - Clause status effects
statusEffects:
- PainNumbnessTraitStatusEffect
# End DeltaV Additions - Clause status effects
- type: clause - type: clause
id: chance id: chance