diff --git a/Content.Server/Explosion/EntitySystems/ExplosionSystem.Airtight.cs b/Content.Server/Explosion/EntitySystems/ExplosionSystem.Airtight.cs index 87513df99d..6ebcf59f2e 100644 --- a/Content.Server/Explosion/EntitySystems/ExplosionSystem.Airtight.cs +++ b/Content.Server/Explosion/EntitySystems/ExplosionSystem.Airtight.cs @@ -158,7 +158,9 @@ public sealed partial class ExplosionSystem : EntitySystem damagePerIntensity += value * Math.Max(0, ev.DamageCoefficient); } - explosionTolerance[index] = (float) ((totalDamageTarget - damageable.TotalDamage) / damagePerIntensity); + explosionTolerance[index] = damagePerIntensity > 0 + ? (float) ((totalDamageTarget - damageable.TotalDamage) / damagePerIntensity) + : float.MaxValue; } return explosionTolerance; diff --git a/Content.Server/Explosion/EntitySystems/TriggerSystem.cs b/Content.Server/Explosion/EntitySystems/TriggerSystem.cs index 3bdf14336d..57541b289a 100644 --- a/Content.Server/Explosion/EntitySystems/TriggerSystem.cs +++ b/Content.Server/Explosion/EntitySystems/TriggerSystem.cs @@ -126,7 +126,8 @@ namespace Content.Server.Explosion.EntitySystems { // Check if entity is bomb/mod. grenade/etc if (_container.TryGetContainer(uid, "payload", out IContainer? container) && - TryComp(container.ContainedEntities.First(), out ChemicalPayloadComponent? chemicalPayloadComponent)) + container.ContainedEntities.Count > 0 && + TryComp(container.ContainedEntities[0], out ChemicalPayloadComponent? chemicalPayloadComponent)) { // If a beaker is missing, the entity won't explode, so no reason to log it if (!TryComp(chemicalPayloadComponent?.BeakerSlotA.Item, out SolutionContainerManagerComponent? beakerA) ||