From 7acd3f746d59102fbbc36e4e3fc1ef9f1774bd18 Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Mon, 30 Jul 2018 14:30:27 +0300 Subject: [PATCH] StatusEffects don't attempt to use removed items or apply property values to removed entities. --- .../BarotraumaShared/Source/StatusEffects/StatusEffect.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Barotrauma/BarotraumaShared/Source/StatusEffects/StatusEffect.cs b/Barotrauma/BarotraumaShared/Source/StatusEffects/StatusEffect.cs index 7f6db5d43..51096948a 100644 --- a/Barotrauma/BarotraumaShared/Source/StatusEffects/StatusEffect.cs +++ b/Barotrauma/BarotraumaShared/Source/StatusEffects/StatusEffect.cs @@ -370,6 +370,7 @@ namespace Barotrauma { foreach (Item item in targets.FindAll(t => t is Item).Cast()) { + if (item.Removed) continue; item.Use(deltaTime, targets.FirstOrDefault(t => t is Character) as Character); } } @@ -396,10 +397,14 @@ namespace Barotrauma { foreach (ISerializableEntity target in targets) { + if (target is Entity targetEntity) + { + if (targetEntity.Removed) continue; + } + for (int i = 0; i < propertyNames.Length; i++) { SerializableProperty property; - if (target == null || target.SerializableProperties == null || !target.SerializableProperties.TryGetValue(propertyNames[i], out property)) continue; ApplyToProperty(property, propertyEffects[i], deltaTime);