diff --git a/Content.Shared/EntityConditions/Conditions/ReagentEntityConditionSystem.cs b/Content.Shared/EntityConditions/Conditions/ReagentEntityConditionSystem.cs
index dbe585e631..c1da05ae30 100644
--- a/Content.Shared/EntityConditions/Conditions/ReagentEntityConditionSystem.cs
+++ b/Content.Shared/EntityConditions/Conditions/ReagentEntityConditionSystem.cs
@@ -9,7 +9,7 @@ namespace Content.Shared.EntityConditions.Conditions;
/// Returns true if this solution entity has an amount of reagent in it within a specified minimum and maximum.
///
///
-public sealed partial class ReagentThresholdEntityConditionSystem : EntityConditionSystem
+public sealed partial class ReagentEntityConditionSystem : EntityConditionSystem
{
protected override void Condition(Entity entity, ref EntityConditionEvent args)
{
diff --git a/Content.Shared/EntityEffects/Effects/EntitySpawning/BaseSpawnEntityEntityEffect.cs b/Content.Shared/EntityEffects/Effects/EntitySpawning/BaseSpawnEntityEntityEffect.cs
index bd8d68813e..3f5d5b3b57 100644
--- a/Content.Shared/EntityEffects/Effects/EntitySpawning/BaseSpawnEntityEntityEffect.cs
+++ b/Content.Shared/EntityEffects/Effects/EntitySpawning/BaseSpawnEntityEntityEffect.cs
@@ -28,9 +28,6 @@ public abstract partial class BaseSpawnEntityEntityEffect : EntityEffectBase<
[DataField]
public bool Predicted = true;
- ///
- public override bool Scaling => true;
-
public override string EntityEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys)
=> Loc.GetString("entity-effect-guidebook-spawn-entity",
("chance", Probability),
diff --git a/Content.Shared/EntityEffects/Effects/Solution/AreaReactionEntityEffect.cs b/Content.Shared/EntityEffects/Effects/Solution/AreaReactionEntityEffect.cs
index 9d3dc38222..13175cfed1 100644
--- a/Content.Shared/EntityEffects/Effects/Solution/AreaReactionEntityEffect.cs
+++ b/Content.Shared/EntityEffects/Effects/Solution/AreaReactionEntityEffect.cs
@@ -28,8 +28,6 @@ public sealed partial class AreaReactionEffect : EntityEffectBase
[DataField(required: true)] public SoundSpecifier Sound = default!;
- public override bool Scaling => true;
-
public override string EntityEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys)
=> Loc.GetString("entity-effect-guidebook-area-reaction",
("duration", Duration)
diff --git a/Content.Shared/EntityEffects/Effects/Transform/EmpEntityEffectSystem.cs b/Content.Shared/EntityEffects/Effects/Transform/EmpEntityEffectSystem.cs
index 334223686b..2cbb6d6dad 100644
--- a/Content.Shared/EntityEffects/Effects/Transform/EmpEntityEffectSystem.cs
+++ b/Content.Shared/EntityEffects/Effects/Transform/EmpEntityEffectSystem.cs
@@ -49,8 +49,6 @@ public sealed partial class Emp : EntityEffectBase
[DataField]
public TimeSpan Duration = TimeSpan.FromSeconds(15);
- public override bool Scaling => true;
-
public override string EntityEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys)
=> Loc.GetString("entity-effect-guidebook-emp-reaction-effect", ("chance", Probability));
diff --git a/Content.Shared/EntityEffects/Effects/Transform/ExplosionEntityEffect.cs b/Content.Shared/EntityEffects/Effects/Transform/ExplosionEntityEffect.cs
index 2e32c434a3..907c4e321f 100644
--- a/Content.Shared/EntityEffects/Effects/Transform/ExplosionEntityEffect.cs
+++ b/Content.Shared/EntityEffects/Effects/Transform/ExplosionEntityEffect.cs
@@ -50,8 +50,6 @@ public sealed partial class Explosion : EntityEffectBase
[DataField]
public float TileBreakScale = 1f;
- public override bool Scaling => true;
-
public override string EntityEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys)
=> Loc.GetString("entity-effect-guidebook-explosion", ("chance", Probability));
diff --git a/Content.Shared/EntityEffects/Effects/Transform/FlashEntityEffectSystem.cs b/Content.Shared/EntityEffects/Effects/Transform/FlashEntityEffectSystem.cs
index 66d30945aa..df788e94d6 100644
--- a/Content.Shared/EntityEffects/Effects/Transform/FlashEntityEffectSystem.cs
+++ b/Content.Shared/EntityEffects/Effects/Transform/FlashEntityEffectSystem.cs
@@ -76,8 +76,6 @@ public sealed partial class Flash : EntityEffectBase
[DataField]
public SoundSpecifier? Sound = new SoundPathSpecifier("/Audio/Weapons/flash.ogg");
- public override bool Scaling => true;
-
public override string EntityEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys)
=> Loc.GetString("entity-effect-guidebook-flash-reaction-effect", ("chance", Probability));
}
diff --git a/Content.Shared/EntityEffects/EntityEffect.cs b/Content.Shared/EntityEffects/EntityEffect.cs
index 072ff8a61a..e34dbe63f3 100644
--- a/Content.Shared/EntityEffects/EntityEffect.cs
+++ b/Content.Shared/EntityEffects/EntityEffect.cs
@@ -25,7 +25,7 @@ public abstract partial class EntityEffect
/// If true, then it allows the scale multiplier to go above 1.
///
[DataField]
- public virtual bool Scaling { get; private set; }
+ public virtual bool Scaling { get; private set; } = true;
// TODO: This should be an entity condition but guidebook relies on it heavily for formatting...
///
diff --git a/Content.Shared/EntityEffects/SharedEntityEffectsSystem.cs b/Content.Shared/EntityEffects/SharedEntityEffectsSystem.cs
index 7eed94a099..8270f8bf7c 100644
--- a/Content.Shared/EntityEffects/SharedEntityEffectsSystem.cs
+++ b/Content.Shared/EntityEffects/SharedEntityEffectsSystem.cs
@@ -26,35 +26,35 @@ public sealed partial class SharedEntityEffectsSystem : EntitySystem, IEntityEff
private void OnReactive(Entity entity, ref ReactionEntityEvent args)
{
- if (args.Reagent.ReactiveEffects == null || entity.Comp.ReactiveGroups == null)
- return;
-
var scale = args.ReagentQuantity.Quantity.Float();
- foreach (var (key, val) in args.Reagent.ReactiveEffects)
+ if (args.Reagent.ReactiveEffects != null && entity.Comp.ReactiveGroups != null)
{
- if (!val.Methods.Contains(args.Method))
- continue;
+ foreach (var (key, val) in args.Reagent.ReactiveEffects)
+ {
+ if (!val.Methods.Contains(args.Method))
+ continue;
- if (!entity.Comp.ReactiveGroups.TryGetValue(key, out var group))
- continue;
+ if (!entity.Comp.ReactiveGroups.TryGetValue(key, out var group))
+ continue;
- if (!group.Contains(args.Method))
- continue;
+ if (!group.Contains(args.Method))
+ continue;
- ApplyEffects(entity, val.Effects, scale);
+ ApplyEffects(entity, val.Effects, scale);
+ }
}
- if (entity.Comp.Reactions == null)
- return;
-
- foreach (var entry in entity.Comp.Reactions)
+ if (entity.Comp.Reactions != null)
{
- if (!entry.Methods.Contains(args.Method))
- continue;
+ foreach (var entry in entity.Comp.Reactions)
+ {
+ if (!entry.Methods.Contains(args.Method))
+ continue;
- if (entry.Reagents == null || entry.Reagents.Contains(args.Reagent.ID))
- ApplyEffects(entity, entry.Effects, scale);
+ if (entry.Reagents == null || entry.Reagents.Contains(args.Reagent.ID))
+ ApplyEffects(entity, entry.Effects, scale);
+ }
}
}
diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/miscellaneous.yml b/Resources/Prototypes/Entities/Mobs/NPCs/miscellaneous.yml
index dd3fd5d430..64fa4e2292 100644
--- a/Resources/Prototypes/Entities/Mobs/NPCs/miscellaneous.yml
+++ b/Resources/Prototypes/Entities/Mobs/NPCs/miscellaneous.yml
@@ -104,7 +104,6 @@
methods: [ Touch ]
effects:
- !type:HealthChange
- scaling: true
damage:
groups:
Brute: -0.15
@@ -112,7 +111,6 @@
methods: [ Touch ]
effects:
- !type:HealthChange
- scaling: true
damage:
groups:
Brute: -0.25
@@ -121,7 +119,6 @@
methods: [ Touch ]
effects:
- !type:HealthChange
- scaling: true
damage:
groups:
Brute: -1
@@ -130,7 +127,6 @@
methods: [ Touch ]
effects:
- !type:HealthChange
- scaling: true
damage:
types:
Heat: 1
diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/slimes.yml b/Resources/Prototypes/Entities/Mobs/NPCs/slimes.yml
index a239ede7b0..95cf95bcbc 100644
--- a/Resources/Prototypes/Entities/Mobs/NPCs/slimes.yml
+++ b/Resources/Prototypes/Entities/Mobs/NPCs/slimes.yml
@@ -79,7 +79,6 @@
methods: [ Touch ]
effects:
- !type:HealthChange
- scaling: true
damage:
types:
Heat: 0.05 #Same as slime species
diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/space.yml b/Resources/Prototypes/Entities/Mobs/NPCs/space.yml
index 69a1b93245..4dc0778efb 100644
--- a/Resources/Prototypes/Entities/Mobs/NPCs/space.yml
+++ b/Resources/Prototypes/Entities/Mobs/NPCs/space.yml
@@ -512,7 +512,6 @@
methods: [Touch, Ingestion, Injection]
effects:
- !type:HealthChange
- scaling: true
damage:
types:
Caustic: 1
diff --git a/Resources/Prototypes/Entities/Mobs/Species/diona.yml b/Resources/Prototypes/Entities/Mobs/Species/diona.yml
index fa992ded0b..6cad3bdfc5 100644
--- a/Resources/Prototypes/Entities/Mobs/Species/diona.yml
+++ b/Resources/Prototypes/Entities/Mobs/Species/diona.yml
@@ -48,7 +48,6 @@
methods: [ Touch ]
effects:
- !type:HealthChange
- scaling: true
damage:
types:
Blunt: 0.05
@@ -63,7 +62,6 @@
methods: [ Touch ]
effects:
- !type:HealthChange
- scaling: true
damage:
types:
Poison: 0.125
diff --git a/Resources/Prototypes/Entities/Mobs/Species/skeleton.yml b/Resources/Prototypes/Entities/Mobs/Species/skeleton.yml
index ca6301b0a4..fb4dd0cdd6 100644
--- a/Resources/Prototypes/Entities/Mobs/Species/skeleton.yml
+++ b/Resources/Prototypes/Entities/Mobs/Species/skeleton.yml
@@ -81,7 +81,6 @@
methods: [ Touch ]
effects: # TODO: when magic is around - make a milk transformation to a skeleton monster
- !type:HealthChange
- scaling: true
damage:
groups:
Burn: -1 # healing obviously up to discussion
diff --git a/Resources/Prototypes/Entities/Mobs/Species/slime.yml b/Resources/Prototypes/Entities/Mobs/Species/slime.yml
index 9526b490e3..1ca590d496 100644
--- a/Resources/Prototypes/Entities/Mobs/Species/slime.yml
+++ b/Resources/Prototypes/Entities/Mobs/Species/slime.yml
@@ -87,7 +87,6 @@
methods: [ Touch ]
effects:
- !type:HealthChange
- scaling: true
damage:
types:
Heat: 0.05
diff --git a/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml b/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml
index 3b8196c30b..157a9616ab 100644
--- a/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml
+++ b/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml
@@ -75,7 +75,6 @@
methods: [Touch]
effects:
- !type:HealthChange
- scaling: true
damage:
types:
Heat: 0.5
diff --git a/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml b/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml
index d21de70031..d80dc5f8b3 100644
--- a/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml
+++ b/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml
@@ -453,7 +453,6 @@
Gas:
effects:
- !type:HealthChange
- scaling: true
ignoreResistances: true
conditions:
- !type:MetabolizerTypeCondition
diff --git a/Resources/Prototypes/Reagents/botany.yml b/Resources/Prototypes/Reagents/botany.yml
index eb5ceba470..c2698b2b29 100644
--- a/Resources/Prototypes/Reagents/botany.yml
+++ b/Resources/Prototypes/Reagents/botany.yml
@@ -258,7 +258,6 @@
- !type:ReagentCondition
reagent: Ammonia
min: 1
- scaling: true
ignoreResistances: true
damage:
groups:
diff --git a/Resources/Prototypes/Reagents/fun.yml b/Resources/Prototypes/Reagents/fun.yml
index f6bddeee2d..781e816ac4 100644
--- a/Resources/Prototypes/Reagents/fun.yml
+++ b/Resources/Prototypes/Reagents/fun.yml
@@ -183,7 +183,6 @@
methods: [ Touch ]
effects:
- !type:HealthChange
- scaling: true
ignoreResistances: false
damage:
types:
@@ -233,7 +232,6 @@
methods: [ Touch ]
effects:
- !type:HealthChange
- scaling: true
ignoreResistances: false
damage:
types:
diff --git a/Resources/Prototypes/Reagents/gases.yml b/Resources/Prototypes/Reagents/gases.yml
index 6a0b257877..b7e82d0960 100644
--- a/Resources/Prototypes/Reagents/gases.yml
+++ b/Resources/Prototypes/Reagents/gases.yml
@@ -11,13 +11,11 @@
Poison:
effects:
- !type:Oxygenate
- scaling: true
conditions:
- !type:MetabolizerTypeCondition
type: [ Human, Animal, Rat, Plant ]
# Convert Oxygen into CO2.
- !type:ModifyLungGas
- scaling: true
conditions:
- !type:MetabolizerTypeCondition
type: [ Vox ]
@@ -29,7 +27,6 @@
conditions:
- !type:MetabolizerTypeCondition
type: [ Vox ]
- scaling: true
ignoreResistances: true
damage:
types:
@@ -45,13 +42,11 @@
Gas:
effects:
- !type:Oxygenate
- scaling: true
conditions:
- !type:MetabolizerTypeCondition
type: [ Human, Animal, Rat, Plant ]
# Convert Oxygen into CO2.
- !type:ModifyLungGas
- scaling: true
conditions:
- !type:MetabolizerTypeCondition
type: [ Vox ]
@@ -63,7 +58,6 @@
conditions:
- !type:MetabolizerTypeCondition
type: [ Vox ]
- scaling: true
ignoreResistances: true
damage:
types:
@@ -103,7 +97,6 @@
Gas:
effects:
- !type:HealthChange
- scaling: true
ignoreResistances: true
damage:
types:
@@ -149,7 +142,6 @@
Gas:
effects:
- !type:HealthChange
- scaling: true
ignoreResistances: true
damage:
types:
@@ -173,7 +165,6 @@
Poison:
effects:
- !type:Oxygenate
- scaling: true
conditions:
- !type:MetabolizerTypeCondition
type: [ Plant ]
@@ -182,14 +173,12 @@
- !type:MetabolizerTypeCondition
type: [ Plant, Vox ]
inverted: true
- scaling: true
ignoreResistances: true
damage:
types:
Poison:
0.4
- !type:Oxygenate
- scaling: true
conditions:
- !type:MetabolizerTypeCondition
type: [ Plant ]
@@ -198,7 +187,6 @@
Gas:
effects:
- !type:Oxygenate
- scaling: true
conditions:
- !type:MetabolizerTypeCondition
type: [ Plant ]
@@ -210,14 +198,12 @@
inverted: true
# Don't want people to get toxin damage from the gas they just
# exhaled, right?
- scaling: true
ignoreResistances: true
damage:
types:
Poison:
0.8
- !type:Oxygenate # carbon dioxide displaces oxygen from the bloodstream, causing asphyxiation
- scaling: true
conditions:
- !type:MetabolizerTypeCondition
type: [ Plant ]
@@ -246,13 +232,11 @@
Gas:
effects:
- !type:Oxygenate
- scaling: true
conditions:
- !type:MetabolizerTypeCondition
type: [ Vox, Slime ]
# Converts Nitrogen into Ammonia
- !type:ModifyLungGas
- scaling: true
conditions:
- !type:MetabolizerTypeCondition
type: [ Vox ]
@@ -260,7 +244,6 @@
Ammonia: 1.0
Nitrogen: -1.0
- !type:ModifyLungGas
- scaling: true
conditions:
- !type:MetabolizerTypeCondition
type: [ Slime ]
@@ -359,7 +342,6 @@
Narcotic:
effects:
- !type:HealthChange
- scaling: true
ignoreResistances: true
damage:
types:
@@ -386,7 +368,6 @@
effects:
- !type:HealthChange
minScale: 1
- scaling: true
ignoreResistances: true
damage:
types:
diff --git a/Resources/Prototypes/Reagents/medicine.yml b/Resources/Prototypes/Reagents/medicine.yml
index 9569faf01d..84b5535802 100644
--- a/Resources/Prototypes/Reagents/medicine.yml
+++ b/Resources/Prototypes/Reagents/medicine.yml
@@ -1176,7 +1176,6 @@
methods: [ Touch ]
effects:
- !type:HealthChange
- scaling: true
ignoreResistances: false
damage:
types:
diff --git a/Resources/Prototypes/Reagents/toxins.yml b/Resources/Prototypes/Reagents/toxins.yml
index ea7437aa7b..4a75270325 100644
--- a/Resources/Prototypes/Reagents/toxins.yml
+++ b/Resources/Prototypes/Reagents/toxins.yml
@@ -145,7 +145,6 @@
methods: [ Touch ]
effects:
- !type:HealthChange
- scaling: true
ignoreResistances: false
damage:
types:
@@ -184,7 +183,6 @@
- !type:SatiateThirst
factor: -1.5
- !type:HealthChange
- scaling: true
ignoreResistances: true
damage:
types:
@@ -207,7 +205,6 @@
methods: [ Touch ]
effects:
- !type:HealthChange
- scaling: true
ignoreResistances: false
damage:
types:
@@ -257,7 +254,6 @@
methods: [ Touch ]
effects:
- !type:HealthChange
- scaling: true
ignoreResistances: false
damage:
types: