From a0a650db7a58e4afd3ff6ad3aaabbaaac89eff1f Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sun, 18 Oct 2026 18:56:36 +0200 Subject: [PATCH] Boss_carries_exactly: the open slot's brand is one the antagonist's outfitter can choose, not any product of the design Co-Authored-By: Claude Sonnet 5.5 --- tests/Aetheria.Shared.Tests/RunGoalTests.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/Aetheria.Shared.Tests/RunGoalTests.cs b/tests/Aetheria.Shared.Tests/RunGoalTests.cs index 5eb9af5d3..c4f7eaf2e 100644 --- a/tests/Aetheria.Shared.Tests/RunGoalTests.cs +++ b/tests/Aetheria.Shared.Tests/RunGoalTests.cs @@ -186,7 +186,10 @@ public sealed partial class RunStartTests string Cell(LoadoutSlot slot, string brand) => $"{slot.Position.x},{slot.Position.y},{slot.Rotation},{_cache.Get(slot.Design).Name},{brand}"; var pinned = loadout.Slots.Where(slot => slot != open).Select(slot => Cell(slot, _cache.Get(slot.Product).Name)).OrderBy(x => x, StringComparer.Ordinal).ToArray(); - var brands = _cache.GetAll().Where(product => product.Design.Key.Equals(open.Design.Key)).Select(product => product.Name).ToArray(); + // The brands the context can choose for it: what the antagonist's own outfitter picks over many draws, never by key order. + var brands = Enumerable.Range(1, 64).Select(seed => GeneratorFor(galaxy, _items, antagonist, (uint) seed).ChooseProduct(_cache.Get(open.Design))?.Name) + .Where(name => name != null).Distinct().ToArray(); + Assert.NotEmpty(brands); var items = LoggingItems(new List()); var boss = Assert.Single(BossZonePack(galaxy, items, galaxy.Exit).Entities, entity => entity.Boss);