fix(ui): restore modern spell formula presentation

Resolve spell-examination component cells through their DAT icon DIDs, project scarab and prismatic-taper formulas when ACE disables component enforcement, and version authored window geometry so stale examination sizes reset once without losing user layout behavior.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-24 07:08:47 +02:00
parent 3e31b0ac70
commit d4ce64f56b
22 changed files with 307 additions and 41 deletions

View file

@ -37,15 +37,18 @@ public sealed class SpellComponentRequirementServiceTests
}
[Fact]
public void ServerDisabledComponents_BypassesInventoryPreflight()
public void ServerDisabledComponents_BypassesPreflightAndUsesModernFormula()
{
var objects = new ClientObjectTable();
var player = new ClientObject { ObjectId = 1u, Name = "Player" };
player.Properties.Bools[SpellComponentRequirementService.SpellComponentsRequiredProperty] = false;
objects.AddOrUpdate(player);
Assert.True(Service(objects, [10u], new Dictionary<uint, uint>())
.HasRequiredComponents(50u));
SpellComponentRequirementService service =
Service(objects, [1u, 63u, 10u], new Dictionary<uint, uint>());
Assert.True(service.HasRequiredComponents(50u));
Assert.Equal(new uint[] { 1u, 0xBCu }, service.GetAppropriateFormula(50u));
}
[Fact]