From 8a46ade2b0eaa77436cfe0de42d6524e42e16e9b Mon Sep 17 00:00:00 2001 From: wylab Date: Thu, 18 Dec 2025 21:04:01 +0100 Subject: [PATCH] Fix NukeOpsTest for IPC species MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Skip respirator checks when nukie spawns as IPC (android) since they don't have lungs. Fixes test failure with RespiratorComponent. Based on Corvax fix: space-syndicate/space-station-14#3472 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- Content.IntegrationTests/Tests/GameRules/NukeOpsTest.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Content.IntegrationTests/Tests/GameRules/NukeOpsTest.cs b/Content.IntegrationTests/Tests/GameRules/NukeOpsTest.cs index 246a770190..2fe8145cbc 100644 --- a/Content.IntegrationTests/Tests/GameRules/NukeOpsTest.cs +++ b/Content.IntegrationTests/Tests/GameRules/NukeOpsTest.cs @@ -226,15 +226,20 @@ public sealed class NukeOpsTest Assert.That(total, Is.GreaterThan(3)); // Check the nukie commander passed basic training and figured out how to breathe. + // Skip respirator checks for IPC (they don't breathe) + var isIpc = entMan.GetComponent(player).EntityPrototype?.ID == "MobIpc"; var totalSeconds = 30; var totalTicks = (int) Math.Ceiling(totalSeconds / server.Timing.TickPeriod.TotalSeconds); var increment = 5; - var resp = entMan.GetComponent(player); + RespiratorComponent? resp = null; + if (!isIpc) + resp = entMan.GetComponent(player); var damage = entMan.GetComponent(player); for (var tick = 0; tick < totalTicks; tick += increment) { await pair.RunTicksSync(increment); - Assert.That(resp.SuffocationCycles, Is.LessThanOrEqualTo(resp.SuffocationCycleThreshold)); + if (!isIpc) + Assert.That(resp!.SuffocationCycles, Is.LessThanOrEqualTo(resp.SuffocationCycleThreshold)); Assert.That(damage.TotalDamage, Is.EqualTo(FixedPoint2.Zero)); }