diff --git a/Content.Shared/StepTrigger/Components/ClothingRequiredStepTriggerImmuneComponent.cs b/Content.Shared/StepTrigger/Components/ClothingRequiredStepTriggerImmuneComponent.cs
deleted file mode 100644
index dc76207828..0000000000
--- a/Content.Shared/StepTrigger/Components/ClothingRequiredStepTriggerImmuneComponent.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using Content.Shared.Inventory;
-using Content.Shared.StepTrigger.Systems;
-using Robust.Shared.GameStates;
-
-namespace Content.Shared.StepTrigger.Components;
-
-///
-/// This is used for cancelling step trigger events if the user is wearing clothing in a valid slot.
-///
-[RegisterComponent, NetworkedComponent]
-[Access(typeof(StepTriggerImmuneSystem))]
-public sealed partial class ClothingRequiredStepTriggerImmuneComponent : Component, IClothingSlots
-{
- [DataField]
- public SlotFlags Slots { get; set; } = SlotFlags.FEET;
-}
diff --git a/Content.Shared/StepTrigger/Components/ClothingRequiredStepTriggerComponent.cs b/Content.Shared/StepTrigger/Components/PreventableStepTriggerComponent.cs
similarity index 61%
rename from Content.Shared/StepTrigger/Components/ClothingRequiredStepTriggerComponent.cs
rename to Content.Shared/StepTrigger/Components/PreventableStepTriggerComponent.cs
index 9efd78d082..166d4ae46a 100644
--- a/Content.Shared/StepTrigger/Components/ClothingRequiredStepTriggerComponent.cs
+++ b/Content.Shared/StepTrigger/Components/PreventableStepTriggerComponent.cs
@@ -4,7 +4,7 @@ using Robust.Shared.GameStates;
namespace Content.Shared.StepTrigger.Components;
///
-/// This is used for marking step trigger events that require the user to wear shoes, such as for glass shards.
+/// This is used for marking step trigger events that require the user to wear shoes or have protection of some sort, such as for glass shards.
///
[RegisterComponent, NetworkedComponent]
-public sealed partial class ClothingRequiredStepTriggerComponent : Component;
+public sealed partial class PreventableStepTriggerComponent : Component;
diff --git a/Content.Shared/StepTrigger/Components/ProtectedFromStepTriggersComponent.cs b/Content.Shared/StepTrigger/Components/ProtectedFromStepTriggersComponent.cs
new file mode 100644
index 0000000000..806a367698
--- /dev/null
+++ b/Content.Shared/StepTrigger/Components/ProtectedFromStepTriggersComponent.cs
@@ -0,0 +1,23 @@
+using Content.Shared.Inventory;
+using Content.Shared.StepTrigger.Prototypes;
+using Content.Shared.StepTrigger.Systems;
+using Robust.Shared.GameStates;
+
+namespace Content.Shared.StepTrigger.Components;
+
+///
+/// This is used for cancelling preventable step trigger events if the user is wearing clothing in a valid slot or if the user itself has the component.
+///
+[RegisterComponent, NetworkedComponent]
+[Access(typeof(StepTriggerImmuneSystem))]
+public sealed partial class ProtectedFromStepTriggersComponent : Component, IClothingSlots
+{
+ [DataField]
+ public SlotFlags Slots { get; set; } = SlotFlags.FEET;
+
+ ///
+ /// WhiteList of immunity step triggers.
+ ///
+ [DataField]
+ public StepTriggerGroup? Whitelist;
+}
diff --git a/Content.Shared/StepTrigger/Components/StepTriggerComponent.cs b/Content.Shared/StepTrigger/Components/StepTriggerComponent.cs
index d12c2c983e..0b904bec4a 100644
--- a/Content.Shared/StepTrigger/Components/StepTriggerComponent.cs
+++ b/Content.Shared/StepTrigger/Components/StepTriggerComponent.cs
@@ -6,7 +6,7 @@ using Robust.Shared.GameStates;
namespace Content.Shared.StepTrigger.Components;
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)]
-[Access(typeof(StepTriggerSystem))]
+[Access(typeof(StepTriggerSystem), typeof(StepTriggerImmuneSystem))]
public sealed partial class StepTriggerComponent : Component
{
///
diff --git a/Content.Shared/StepTrigger/Components/StepTriggerImmuneComponent.cs b/Content.Shared/StepTrigger/Components/StepTriggerImmuneComponent.cs
deleted file mode 100644
index 1b92905fa6..0000000000
--- a/Content.Shared/StepTrigger/Components/StepTriggerImmuneComponent.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using Content.Shared.StepTrigger.Prototypes;
-using Content.Shared.StepTrigger.Systems;
-using Robust.Shared.GameStates;
-
-namespace Content.Shared.StepTrigger.Components;
-
-///
-/// This component marks an entity as being immune to all step triggers.
-/// For example, a Felinid or Harpy being so low density, that they don't set off landmines.
-///
-///
-/// This is the "Earliest Possible Exit" method, and therefore isn't possible to un-cancel.
-/// It will prevent ALL step trigger events from firing. Therefore there may sometimes be unintended consequences to this.
-/// Consider using a subscription to StepTriggerAttemptEvent if you wish to be more selective.
-///
-[RegisterComponent, NetworkedComponent]
-[Access(typeof(StepTriggerSystem))]
-public sealed partial class StepTriggerImmuneComponent : Component
-{
- ///
- /// WhiteList of immunity step triggers.
- ///
- [DataField]
- public StepTriggerGroup? Whitelist;
-}
diff --git a/Content.Shared/StepTrigger/Prototypes/StepTriggerGroup.cs b/Content.Shared/StepTrigger/Prototypes/StepTriggerGroup.cs
index 5b64085e9a..bebfda5c9f 100644
--- a/Content.Shared/StepTrigger/Prototypes/StepTriggerGroup.cs
+++ b/Content.Shared/StepTrigger/Prototypes/StepTriggerGroup.cs
@@ -60,9 +60,9 @@ public sealed partial class StepTriggerGroup
///
/// Checks validation (if types of this StepTriggerGroup are similar to types of
- /// another StepTriggerImmuneComponent.
+ /// another ProtectedFromStepTriggersComponent.
///
- public bool IsValid(StepTriggerImmuneComponent component)
+ public bool IsValid(ProtectedFromStepTriggersComponent component)
{
if (component.Whitelist is null)
return false;
diff --git a/Content.Shared/StepTrigger/Systems/StepTriggerImmuneSystem.cs b/Content.Shared/StepTrigger/Systems/StepTriggerImmuneSystem.cs
index ca72a20ae9..cce3186ac0 100644
--- a/Content.Shared/StepTrigger/Systems/StepTriggerImmuneSystem.cs
+++ b/Content.Shared/StepTrigger/Systems/StepTriggerImmuneSystem.cs
@@ -1,7 +1,6 @@
using Content.Shared.Examine;
using Content.Shared.Inventory;
using Content.Shared.StepTrigger.Components;
-using Content.Shared.Tag;
namespace Content.Shared.StepTrigger.Systems;
@@ -12,25 +11,23 @@ public sealed class StepTriggerImmuneSystem : EntitySystem
///
public override void Initialize()
{
- SubscribeLocalEvent(OnStepTriggerAttempt);
- SubscribeLocalEvent(OnStepTriggerClothingAttempt);
- SubscribeLocalEvent(OnExamined);
+ SubscribeLocalEvent(OnStepTriggerClothingAttempt);
+ SubscribeLocalEvent(OnExamined);
}
- private void OnStepTriggerAttempt(Entity ent, ref StepTriggerAttemptEvent args)
+ private void OnStepTriggerClothingAttempt(Entity ent, ref StepTriggerAttemptEvent args)
{
- args.Cancelled = true;
- }
+ if (args.Source.Comp.TriggerGroups == null)
+ return;
- private void OnStepTriggerClothingAttempt(EntityUid uid, ClothingRequiredStepTriggerComponent component, ref StepTriggerAttemptEvent args)
- {
- if (_inventory.TryGetInventoryEntity(args.Tripper, out _))
- {
+ if (TryComp(args.Tripper, out var protectedFromStepTriggers)
+ && !args.Source.Comp.TriggerGroups.IsValid(protectedFromStepTriggers)
+ || _inventory.TryGetInventoryEntity(args.Tripper, out var inventoryProtectedFromStepTriggers)
+ && !args.Source.Comp.TriggerGroups.IsValid(inventoryProtectedFromStepTriggers.Comp?.Whitelist))
args.Cancelled = true;
- }
}
- private void OnExamined(EntityUid uid, ClothingRequiredStepTriggerComponent component, ExaminedEvent args)
+ private void OnExamined(EntityUid uid, PreventableStepTriggerComponent component, ExaminedEvent args)
{
args.PushMarkup(Loc.GetString("clothing-required-step-trigger-examine"));
}
diff --git a/Content.Shared/StepTrigger/Systems/StepTriggerSystem.cs b/Content.Shared/StepTrigger/Systems/StepTriggerSystem.cs
index 6635e331b5..d2d6da91f0 100644
--- a/Content.Shared/StepTrigger/Systems/StepTriggerSystem.cs
+++ b/Content.Shared/StepTrigger/Systems/StepTriggerSystem.cs
@@ -125,14 +125,7 @@ public sealed class StepTriggerSystem : EntitySystem
private bool CanTrigger(EntityUid uid, EntityUid otherUid, StepTriggerComponent component)
{
- if (!component.Active
- || component.CurrentlySteppedOn.Contains(otherUid))
- return false;
-
- // Immunity checks
- if (TryComp(otherUid, out var stepTriggerImmuneComponent)
- && component.TriggerGroups != null
- && component.TriggerGroups.IsValid(stepTriggerImmuneComponent))
+ if (!component.Active || component.CurrentlySteppedOn.Contains(otherUid))
return false;
// Can't trigger if we don't ignore weightless entities
@@ -142,7 +135,7 @@ public sealed class StepTriggerSystem : EntitySystem
(physics.BodyStatus == BodyStatus.InAir || _gravity.IsWeightless(otherUid, physics)))
return false;
- var msg = new StepTriggerAttemptEvent { Source = uid, Tripper = otherUid };
+ var msg = new StepTriggerAttemptEvent { Source = (uid, component), Tripper = otherUid };
RaiseLocalEvent(uid, ref msg);
return msg.Continue && !msg.Cancelled;
@@ -226,7 +219,7 @@ public sealed class StepTriggerSystem : EntitySystem
/// Allows for entities to end the steptrigger early via args.Cancelled.
///
[ByRefEvent]
-public record struct StepTriggerAttemptEvent(EntityUid Source, EntityUid Tripper, bool Continue, bool Cancelled);
+public record struct StepTriggerAttemptEvent(Entity Source, EntityUid Tripper, bool Continue, bool Cancelled);
///
/// Raised when an entity stands on a steptrigger initially (assuming it has both on and off states).
diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml
index e95cbcf30e..3aeaebd98f 100644
--- a/Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml
+++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/armor.yml
@@ -252,7 +252,7 @@
Radiation: 0
Caustic: 0.75
- type: GroupExamine
- - type: ClothingRequiredStepTriggerImmune
+ - type: ProtectedFromStepTriggers
slots: WITHOUT_POCKET
- type: Tag
tags:
@@ -278,7 +278,7 @@
Heat: 0.65
Caustic: 0.75
- type: GroupExamine
- - type: ClothingRequiredStepTriggerImmune
+ - type: ProtectedFromStepTriggers
slots: WITHOUT_POCKET
- type: Tag
tags:
@@ -379,7 +379,7 @@
- type: ExplosionResistance
damageCoefficient: 0.5
- type: GroupExamine
- - type: ClothingRequiredStepTriggerImmune
+ - type: ProtectedFromStepTriggers
slots: WITHOUT_POCKET
- type: Tag
tags:
@@ -410,7 +410,7 @@
- type: Construction
graph: BoneArmor
node: armor
- - type: ClothingRequiredStepTriggerImmune
+ - type: ProtectedFromStepTriggers
slots: WITHOUT_POCKET
- type: entity
@@ -431,7 +431,7 @@
Piercing: 0.6
Heat: 0.5
- type: GroupExamine
- - type: ClothingRequiredStepTriggerImmune
+ - type: ProtectedFromStepTriggers
slots: WITHOUT_POCKET
- type: entity
diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml
index 8d6c51918f..c427639daf 100644
--- a/Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml
+++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml
@@ -196,7 +196,7 @@
localSoundOnly: true
- type: StaminaDamageResistance
coefficient: 0.75 # 25%
- - type: ClothingRequiredStepTriggerImmune
+ - type: ProtectedFromStepTriggers
slots: WITHOUT_POCKET
- type: DamageOnInteractProtection
damageProtection:
@@ -368,7 +368,7 @@
equipDelay: 1.25 # Softsuits are easier to put on and off
unequipDelay: 1
clothingType: hardsuit # WD EDIT
- - type: ClothingRequiredStepTriggerImmune
+ - type: ProtectedFromStepTriggers
slots: WITHOUT_POCKET
- type: DamageOnInteractProtection
damageProtection:
diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml
index 433ed1a0cb..167da62b8a 100644
--- a/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml
+++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml
@@ -28,7 +28,7 @@
- WhitelistChameleon
- FullBodyOuter
- HidesHarpyWings
- - type: ClothingRequiredStepTriggerImmune
+ - type: ProtectedFromStepTriggers
slots: WITHOUT_POCKET
- type: entity
@@ -83,7 +83,7 @@
sprintModifier: 0.7
- type: HeldSpeedModifier
- type: GroupExamine
- - type: ClothingRequiredStepTriggerImmune
+ - type: ProtectedFromStepTriggers
slots: WITHOUT_POCKET
- type: Tag
tags:
@@ -120,7 +120,7 @@
sprintModifier: 0.8
- type: HeldSpeedModifier
- type: GroupExamine
- - type: ClothingRequiredStepTriggerImmune
+ - type: ProtectedFromStepTriggers
slots: WITHOUT_POCKET
- type: Tag
tags:
@@ -151,7 +151,7 @@
- type: ContainerContainer
containers:
toggleable-clothing: !type:Container {}
- - type: ClothingRequiredStepTriggerImmune
+ - type: ProtectedFromStepTriggers
slots: WITHOUT_POCKET
- type: Tag
tags:
@@ -232,7 +232,7 @@
- type: Clothing
sprite: Clothing/OuterClothing/Suits/chicken.rsi
clothingType: suit # WD EDIT
- - type: ClothingRequiredStepTriggerImmune
+ - type: ProtectedFromStepTriggers
slots: WITHOUT_POCKET
- type: Tag
tags:
@@ -264,7 +264,7 @@
- type: ContainerContainer
containers:
toggleable-clothing: !type:Container {}
- - type: ClothingRequiredStepTriggerImmune
+ - type: ProtectedFromStepTriggers
slots: WITHOUT_POCKET
- type: Tag
tags:
@@ -291,7 +291,7 @@
- type: Construction
graph: ClothingOuterSuitIan
node: suit
- - type: ClothingRequiredStepTriggerImmune
+ - type: ProtectedFromStepTriggers
slots: WITHOUT_POCKET
- type: entity
diff --git a/Resources/Prototypes/Entities/Clothing/Shoes/base_clothingshoes.yml b/Resources/Prototypes/Entities/Clothing/Shoes/base_clothingshoes.yml
index 1906aa5e87..c18412bd18 100644
--- a/Resources/Prototypes/Entities/Clothing/Shoes/base_clothingshoes.yml
+++ b/Resources/Prototypes/Entities/Clothing/Shoes/base_clothingshoes.yml
@@ -23,7 +23,7 @@
tags:
- ClothMade
- WhitelistChameleon
- - type: ClothingRequiredStepTriggerImmune
+ - type: ProtectedFromStepTriggers
- type: Fixtures
fixtures:
fix1:
diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/base_clothinguniforms.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/base_clothinguniforms.yml
index 23ca666e9a..6ca15bda6e 100644
--- a/Resources/Prototypes/Entities/Clothing/Uniforms/base_clothinguniforms.yml
+++ b/Resources/Prototypes/Entities/Clothing/Uniforms/base_clothinguniforms.yml
@@ -202,7 +202,7 @@
tags:
- WhitelistChameleon
- PlasmamanSafe
- - type: ClothingRequiredStepTriggerImmune
+ - type: ProtectedFromStepTriggers
slots: WITHOUT_POCKET
- type: GuideHelp # While the playerbase is getting introduced to Plasmamen, add their guidebook here
guides: [ Plasmaman ]
diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
index b3ae7261d5..0e38e5342e 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
@@ -242,7 +242,7 @@
guides:
- Cyborgs
- Robotics
- - type: StepTriggerImmune
+ - type: ProtectedFromStepTriggers
- type: DamageOnInteractProtection
damageProtection:
flatReductions:
diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
index fd1a2e4989..e5be5a5d57 100644
--- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
+++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
@@ -783,7 +783,7 @@
- Mouse
- type: Body
prototype: Squackroach
- - type: StepTriggerImmune
+ - type: ProtectedFromStepTriggers
whitelist:
types:
- Shard
@@ -2036,7 +2036,7 @@
- type: FireVisuals
sprite: Mobs/Effects/onfire.rsi
normalState: Mouse_burning
- - type: StepTriggerImmune
+ - type: ProtectedFromStepTriggers
whitelist:
types:
- Landmine
@@ -3399,7 +3399,7 @@
- DoorBumpOpener
- type: MovementAlwaysTouching
- type: PressureImmunity
- - type: StepTriggerImmune
+ - type: ProtectedFromStepTriggers
- type: Insulated
- type: InteractionPopup
successChance: 0.7
diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml b/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml
index 7fc32bd794..6abee031fc 100644
--- a/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml
+++ b/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml
@@ -46,8 +46,8 @@
- DoorBumpOpener
- type: MobState
allowedStates:
- - Alive
- - Dead
+ - Alive
+ - Dead
- type: MobThresholds
thresholds:
0: Alive
@@ -72,8 +72,7 @@
- type: InputMover
- type: MobMover
- type: ZombieImmune
- - type: ClothingRequiredStepTriggerImmune
- slots: All
+ - type: ProtectedFromStepTriggers
- type: Dispellable
- type: Fauna # Lavaland Change
@@ -101,17 +100,17 @@
baseSprintSpeed : 2.5
- type: NpcFactionMember
factions:
- - SimpleHostile
+ - SimpleHostile
- type: Damageable
damageContainer: StructuralInorganic
- type: Psionic
removable: false
roller: false
assayFeedback:
- - orecrab-feedback
+ - orecrab-feedback
- type: InnatePsionicPowers
powersToAdd:
- - TelepathyPower
+ - TelepathyPower
- type: entity
parent: MobOreCrab
@@ -178,7 +177,7 @@
attackMemoryLength: 10
- type: NpcFactionMember
factions:
- - SimpleNeutral
+ - SimpleNeutral
- type: RadiationSource
intensity: 2
slope: 0.3
@@ -254,9 +253,9 @@
drawdepth: Mobs
sprite: Mobs/Aliens/elemental.rsi
layers:
- - map: [ "enum.DamageStateVisualLayers.Base" ]
- state: alive
- color: "#75b1f0"
+ - map: [ "enum.DamageStateVisualLayers.Base" ]
+ state: alive
+ color: "#75b1f0"
- type: PointLight
radius: 2.0
energy: 3.5
@@ -298,9 +297,9 @@
Base: dead
- type: Tag
tags:
- - FootstepSound
- - CannotSuicide
- - DoorBumpOpener
+ - FootstepSound
+ - CannotSuicide
+ - DoorBumpOpener
- type: NoSlip
- type: ZombieImmune
- type: ExaminableSolution
@@ -313,10 +312,10 @@
roller: false
removable: false
assayFeedback:
- - reagent-slime-feedback
+ - reagent-slime-feedback
- type: InnatePsionicPowers
powersToAdd:
- - TelepathyPower
+ - TelepathyPower
- type: Fauna # Lavaland Change
- type: entity
@@ -324,41 +323,41 @@
id: ReagentSlimeSpawner
parent: MarkerBase
components:
- - type: Sprite
- layers:
- - state: red
- - sprite: Mobs/Aliens/elemental.rsi
- state: alive
- - type: RandomSpawner
- prototypes:
- - ReagentSlime
- - ReagentSlimeBeer
- - ReagentSlimePax
- - ReagentSlimeNocturine
- - ReagentSlimeTHC
- - ReagentSlimeBicaridine
- - ReagentSlimeToxin
- - ReagentSlimeNapalm
- - ReagentSlimeOmnizine
- - ReagentSlimeMuteToxin
- - ReagentSlimeNorepinephricAcid
- - ReagentSlimeEphedrine
- - ReagentSlimeRobustHarvest
- - ReagentSlimeIchor
- - ReagentSlimeBleach
- - ReagentSlimeSoap
- - ReagentSlimeSpacelube
- - ReagentSlimeBuzzachloricbees
- - ReagentSlimeWehjuice
- - ReagentCognizine
- - ReagentSlimeNecrosol
- - ReagentSlimeSpaceDrugs
- - ReagentSlimeUnstableMutagen
- - ReagentSlimeLead
- - ReagentSlimechlorinetriflouride
- - ReagentSlimePotassium
- - ReagentSlimeLotophagoiOil
- chance: 1
+ - type: Sprite
+ layers:
+ - state: red
+ - sprite: Mobs/Aliens/elemental.rsi
+ state: alive
+ - type: RandomSpawner
+ prototypes:
+ - ReagentSlime
+ - ReagentSlimeBeer
+ - ReagentSlimePax
+ - ReagentSlimeNocturine
+ - ReagentSlimeTHC
+ - ReagentSlimeBicaridine
+ - ReagentSlimeToxin
+ - ReagentSlimeNapalm
+ - ReagentSlimeOmnizine
+ - ReagentSlimeMuteToxin
+ - ReagentSlimeNorepinephricAcid
+ - ReagentSlimeEphedrine
+ - ReagentSlimeRobustHarvest
+ - ReagentSlimeIchor
+ - ReagentSlimeBleach
+ - ReagentSlimeSoap
+ - ReagentSlimeSpacelube
+ - ReagentSlimeBuzzachloricbees
+ - ReagentSlimeWehjuice
+ - ReagentCognizine
+ - ReagentSlimeNecrosol
+ - ReagentSlimeSpaceDrugs
+ - ReagentSlimeUnstableMutagen
+ - ReagentSlimeLead
+ - ReagentSlimechlorinetriflouride
+ - ReagentSlimePotassium
+ - ReagentSlimeLotophagoiOil
+ chance: 1
- type: entity
id: ReagentSlimeBeer
@@ -373,9 +372,9 @@
drawdepth: Mobs
sprite: Mobs/Aliens/elemental.rsi
layers:
- - map: [ "enum.DamageStateVisualLayers.Base" ]
- state: alive
- color: "#cfa85f"
+ - map: [ "enum.DamageStateVisualLayers.Base" ]
+ state: alive
+ color: "#cfa85f"
- type: entity
id: ReagentSlimePax
@@ -390,9 +389,9 @@
drawdepth: Mobs
sprite: Mobs/Aliens/elemental.rsi
layers:
- - map: [ "enum.DamageStateVisualLayers.Base" ]
- state: alive
- color: "#AAAAAA"
+ - map: [ "enum.DamageStateVisualLayers.Base" ]
+ state: alive
+ color: "#AAAAAA"
- type: MeleeChemicalInjector
solution: bloodstream
transferAmount: 1
@@ -410,9 +409,9 @@
drawdepth: Mobs
sprite: Mobs/Aliens/elemental.rsi
layers:
- - map: [ "enum.DamageStateVisualLayers.Base" ]
- state: alive
- color: "#128e80"
+ - map: [ "enum.DamageStateVisualLayers.Base" ]
+ state: alive
+ color: "#128e80"
- type: MeleeChemicalInjector
solution: bloodstream
transferAmount: 3
@@ -430,9 +429,9 @@
drawdepth: Mobs
sprite: Mobs/Aliens/elemental.rsi
layers:
- - map: [ "enum.DamageStateVisualLayers.Base" ]
- state: alive
- color: "#808080"
+ - map: [ "enum.DamageStateVisualLayers.Base" ]
+ state: alive
+ color: "#808080"
- type: entity
id: ReagentSlimeBicaridine
@@ -447,9 +446,9 @@
drawdepth: Mobs
sprite: Mobs/Aliens/elemental.rsi
layers:
- - map: [ "enum.DamageStateVisualLayers.Base" ]
- state: alive
- color: "#ffaa00"
+ - map: [ "enum.DamageStateVisualLayers.Base" ]
+ state: alive
+ color: "#ffaa00"
- type: entity
id: ReagentSlimeToxin
@@ -464,9 +463,9 @@
drawdepth: Mobs
sprite: Mobs/Aliens/elemental.rsi
layers:
- - map: [ "enum.DamageStateVisualLayers.Base" ]
- state: alive
- color: "#cf3600"
+ - map: [ "enum.DamageStateVisualLayers.Base" ]
+ state: alive
+ color: "#cf3600"
- type: entity
id: ReagentSlimeNapalm
@@ -481,9 +480,9 @@
drawdepth: Mobs
sprite: Mobs/Aliens/elemental.rsi
layers:
- - map: [ "enum.DamageStateVisualLayers.Base" ]
- state: alive
- color: "#FA00AF"
+ - map: [ "enum.DamageStateVisualLayers.Base" ]
+ state: alive
+ color: "#FA00AF"
- type: entity
id: ReagentSlimeOmnizine
@@ -498,9 +497,9 @@
drawdepth: Mobs
sprite: Mobs/Aliens/elemental.rsi
layers:
- - map: [ "enum.DamageStateVisualLayers.Base" ]
- state: alive
- color: "#fcf7f9"
+ - map: [ "enum.DamageStateVisualLayers.Base" ]
+ state: alive
+ color: "#fcf7f9"
- type: entity
id: ReagentSlimeMuteToxin
@@ -515,9 +514,9 @@
drawdepth: Mobs
sprite: Mobs/Aliens/elemental.rsi
layers:
- - map: [ "enum.DamageStateVisualLayers.Base" ]
- state: alive
- color: "#0f0f0f"
+ - map: [ "enum.DamageStateVisualLayers.Base" ]
+ state: alive
+ color: "#0f0f0f"
- type: entity
id: ReagentSlimeNorepinephricAcid
@@ -532,9 +531,9 @@
drawdepth: Mobs
sprite: Mobs/Aliens/elemental.rsi
layers:
- - map: [ "enum.DamageStateVisualLayers.Base" ]
- state: alive
- color: "#96a8b5"
+ - map: [ "enum.DamageStateVisualLayers.Base" ]
+ state: alive
+ color: "#96a8b5"
- type: entity
id: ReagentSlimeEphedrine
@@ -549,9 +548,9 @@
drawdepth: Mobs
sprite: Mobs/Aliens/elemental.rsi
layers:
- - map: [ "enum.DamageStateVisualLayers.Base" ]
- state: alive
- color: "#D2FFFA"
+ - map: [ "enum.DamageStateVisualLayers.Base" ]
+ state: alive
+ color: "#D2FFFA"
- type: entity
id: ReagentSlimeRobustHarvest
@@ -566,9 +565,9 @@
drawdepth: Mobs
sprite: Mobs/Aliens/elemental.rsi
layers:
- - map: [ "enum.DamageStateVisualLayers.Base" ]
- state: alive
- color: "#3e901c"
+ - map: [ "enum.DamageStateVisualLayers.Base" ]
+ state: alive
+ color: "#3e901c"
- type: entity
id: ReagentSlimeLotophagoiOil
@@ -583,9 +582,9 @@
drawdepth: Mobs
sprite: Mobs/Aliens/elemental.rsi
layers:
- - map: [ "enum.DamageStateVisualLayers.Base" ]
- state: alive
- color: "#3e901c"
+ - map: [ "enum.DamageStateVisualLayers.Base" ]
+ state: alive
+ color: "#3e901c"
- type: GhostRole
prob: 1 #it's significantly more psionic than the others
description: ghost-role-information-angry-slimes-description
diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml b/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml
index 22afc6c859..ac20f9e42f 100644
--- a/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml
+++ b/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml
@@ -117,7 +117,7 @@
- type: TypingIndicator
proto: robot
- type: ZombieImmune
- - type: StepTriggerImmune
+ - type: ProtectedFromStepTriggers
- type: NoSlip
- type: Insulated
- type: LanguageKnowledge
diff --git a/Resources/Prototypes/Entities/Mobs/Player/ipc.yml b/Resources/Prototypes/Entities/Mobs/Player/ipc.yml
index 95456440df..fc036c4a93 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/ipc.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/ipc.yml
@@ -113,7 +113,7 @@
- type: Carriable
- type: StatusIcon
bounds: -0.5,-0.5,0.5,0.5
- - type: StepTriggerImmune
+ - type: ProtectedFromStepTriggers
whitelist:
types:
- Shard
diff --git a/Resources/Prototypes/Entities/Mobs/Species/arachne.yml b/Resources/Prototypes/Entities/Mobs/Species/arachne.yml
index aa0f2b3efb..78b7e7d107 100644
--- a/Resources/Prototypes/Entities/Mobs/Species/arachne.yml
+++ b/Resources/Prototypes/Entities/Mobs/Species/arachne.yml
@@ -118,7 +118,7 @@
- FootstepSound
- DoorBumpOpener
- SpiderCraft
- - type: StepTriggerImmune
+ - type: ProtectedFromStepTriggers
- type: Bloodstream
bloodReagent: DemonsBlood
bloodRegenerationThirst: 4 # 1 unit of demon's blood satiates 4 thirst
diff --git a/Resources/Prototypes/Entities/Mobs/Species/diona.yml b/Resources/Prototypes/Entities/Mobs/Species/diona.yml
index 8dea2a84d2..f053f51c8a 100644
--- a/Resources/Prototypes/Entities/Mobs/Species/diona.yml
+++ b/Resources/Prototypes/Entities/Mobs/Species/diona.yml
@@ -118,7 +118,7 @@
60: 0.9
80: 0.75
- type: NoSlip
- - type: StepTriggerImmune
+ - type: ProtectedFromStepTriggers
whitelist:
types:
- Shard
diff --git a/Resources/Prototypes/Entities/Mobs/Species/harpy.yml b/Resources/Prototypes/Entities/Mobs/Species/harpy.yml
index ccd3dbb61d..4484877ba2 100644
--- a/Resources/Prototypes/Entities/Mobs/Species/harpy.yml
+++ b/Resources/Prototypes/Entities/Mobs/Species/harpy.yml
@@ -121,7 +121,7 @@
understands:
- TauCetiBasic
- ValyrianStandard
- - type: StepTriggerImmune
+ - type: ProtectedFromStepTriggers
whitelist:
types:
- Shard
diff --git a/Resources/Prototypes/Entities/Objects/Devices/mousetrap.yml b/Resources/Prototypes/Entities/Objects/Devices/mousetrap.yml
index 5db68b5582..622c6ba32c 100644
--- a/Resources/Prototypes/Entities/Objects/Devices/mousetrap.yml
+++ b/Resources/Prototypes/Entities/Objects/Devices/mousetrap.yml
@@ -18,7 +18,7 @@
- Mousetrap
- type: Mousetrap
- type: TriggerOnStepTrigger
- - type: ClothingRequiredStepTrigger
+ - type: PreventableStepTrigger
- type: DamageUserOnTrigger
damage:
types:
diff --git a/Resources/Prototypes/Entities/Objects/Fun/dice.yml b/Resources/Prototypes/Entities/Objects/Fun/dice.yml
index bca5ec7ab9..7c45a75544 100644
--- a/Resources/Prototypes/Entities/Objects/Fun/dice.yml
+++ b/Resources/Prototypes/Entities/Objects/Fun/dice.yml
@@ -124,7 +124,7 @@
- Shard
intersectRatio: 0.2
- type: TriggerOnStepTrigger
- - type: ClothingRequiredStepTrigger
+ - type: PreventableStepTrigger
- type: Slippery
slipSound:
path: /Audio/Effects/glass_step.ogg
diff --git a/Resources/Prototypes/Entities/Objects/Materials/shards.yml b/Resources/Prototypes/Entities/Objects/Materials/shards.yml
index ae129c6568..5d057dda6c 100644
--- a/Resources/Prototypes/Entities/Objects/Materials/shards.yml
+++ b/Resources/Prototypes/Entities/Objects/Materials/shards.yml
@@ -73,7 +73,7 @@
types:
- Shard
intersectRatio: 0.2
- - type: ClothingRequiredStepTrigger
+ - type: PreventableStepTrigger
- type: Slippery
slipSound:
path: /Audio/Effects/glass_step.ogg
diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Species/felinid.yml b/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Species/felinid.yml
index e43b415178..10263fd01d 100644
--- a/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Species/felinid.yml
+++ b/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Species/felinid.yml
@@ -27,8 +27,8 @@
damageModifierSet: Felinid
- type: SlowOnDamage
speedModifierThresholds:
- 60: 0.75 # 0.7 is base speed. # WWDP who buffed these lol
- 80: 0.55 # 0.5 is base speed. # WWDP reverted both back to same as humans
+ 60: 0.75 # 0.7 is base speed. - WD EDIT: 0.85 -> 0.75
+ 80: 0.55 # 0.5 is base speed. - WD EDIT: 0.75 -> 0.55
- type: MeleeWeapon
soundHit:
collection: Punch
@@ -37,9 +37,9 @@
types:
Slash: 4
Piercing: 1
- # - type: DiseaseCarrier
- # naturalImmunities:
- # - OwOnavirus
+# - type: DiseaseCarrier
+# naturalImmunities:
+# - OwOnavirus
- type: Speech
speechSounds: Alto
- type: DamageOnHighSpeedImpact # Landing on all fours!
@@ -54,9 +54,9 @@
- type: PseudoItem
storedOffset: 0,17
shape:
- - 0,0,1,4
- - 0,2,3,4
- - 4,0,5,4
+ - 0,0,1,4
+ - 0,2,3,4
+ - 4,0,5,4
- type: Vocal
wilhelm: "/Audio/Nyanotrasen/Voice/Felinid/cat_wilhelm.ogg"
sounds:
@@ -72,26 +72,26 @@
understands:
- TauCetiBasic
- Nekomimetic
- #WWDP EDIT START
- - type: Tag
- tags:
- - CanPilot
- - FootstepSound
- - DoorBumpOpener
- - FelinidEmotes
- #WWDP EDIT END
- type: Thieving
ignoreStripHidden: true
stealth: Subtle
stripTimeReduction: 0
stripTimeMultiplier: 0.667
- # - type: StepTriggerImmune # WWDP no free noslips/ignoring traps
+ # WD EDIT START
+ # - type: ProtectedFromStepTriggers
# whitelist:
# types:
# - Shard
# - Landmine
# - Mousetrap
# - SlipEntity
+ # WD EDIT END
+ - type: Tag
+ tags:
+ - CanPilot
+ - FootstepSound
+ - DoorBumpOpener
+ - FelinidEmotes
- type: Inventory
femaleDisplacements:
jumpsuit:
@@ -130,7 +130,7 @@
32:
sprite: _White/Mobs/Species/Human/displacement.rsi
state: suit
- # WD EDIT END
+ # WD EDIT END
- type: entity
save: false
diff --git a/Resources/Prototypes/Traits/skills.yml b/Resources/Prototypes/Traits/skills.yml
index 9b7497105c..1e31e6c04c 100644
--- a/Resources/Prototypes/Traits/skills.yml
+++ b/Resources/Prototypes/Traits/skills.yml
@@ -217,7 +217,7 @@
functions:
- !type:TraitAddComponent
components:
- - type: StepTriggerImmune
+ - type: ProtectedFromStepTriggers
whitelist:
types:
- Shard
diff --git a/Resources/Prototypes/_EE/Entities/Mobs/Species/tajaran.yml b/Resources/Prototypes/_EE/Entities/Mobs/Species/tajaran.yml
index 6fe8fc16b1..16a6a29f54 100644
--- a/Resources/Prototypes/_EE/Entities/Mobs/Species/tajaran.yml
+++ b/Resources/Prototypes/_EE/Entities/Mobs/Species/tajaran.yml
@@ -78,7 +78,7 @@
Unsexed: MaleFelinid
- type: Felinid # real
- type: NoShoesSilentFootsteps
- - type: StepTriggerImmune
+ - type: ProtectedFromStepTriggers
whitelist:
types:
- Shard
diff --git a/Resources/Prototypes/_Imp/_Drone/Mobs_Player_silicon.yml b/Resources/Prototypes/_Imp/_Drone/Mobs_Player_silicon.yml
index 80700a07be..adfaa74337 100644
--- a/Resources/Prototypes/_Imp/_Drone/Mobs_Player_silicon.yml
+++ b/Resources/Prototypes/_Imp/_Drone/Mobs_Player_silicon.yml
@@ -69,7 +69,7 @@
- type: Puller
- type: StandingState
- type: Alerts
- - type: StepTriggerImmune
+ - type: ProtectedFromStepTriggers
- type: Targeting # Shitmed Change
- type: entity
@@ -207,7 +207,7 @@
softness: 1
mask: /Textures/Effects/LightMasks/cone.png
autoRot: true
- - type: StepTriggerImmune
+ - type: ProtectedFromStepTriggers
- type: InputMover
- type: MobMover
- type: ContentEye
diff --git a/Resources/Prototypes/_Shitmed/Body/Parts/cybernetic.yml b/Resources/Prototypes/_Shitmed/Body/Parts/cybernetic.yml
index a026217ce7..9fa0502632 100644
--- a/Resources/Prototypes/_Shitmed/Body/Parts/cybernetic.yml
+++ b/Resources/Prototypes/_Shitmed/Body/Parts/cybernetic.yml
@@ -157,7 +157,7 @@
sprintSpeed: 5.625
- type: BodyPart
onAdd:
- - type: StepTriggerImmune
+ - type: ProtectedFromStepTriggers
whitelist:
types:
- Shard
@@ -175,7 +175,7 @@
sprintSpeed: 5.625
- type: BodyPart
onAdd:
- - type: StepTriggerImmune
+ - type: ProtectedFromStepTriggers
whitelist:
types:
- Shard