fix(items): finish corpse pickup and combat switching
Port retail's first-slot ShowPendingInPlayer path for double-click loot and carry the current owned-container destination through deferred pickup. Retire the previous ground-container view as soon as a replacement is requested so its range close cannot cancel ACE's active MoveTo chain. Preserve active-combat weapon intent across ACE's authoritative wand-to-missile stance tail while leaving peace-mode switches unchanged. Release build succeeds and all 5,885 tests pass with five intentional skips. Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
parent
d51a0fc825
commit
0392c6d721
17 changed files with 631 additions and 81 deletions
|
|
@ -6,7 +6,7 @@ namespace AcDream.App.Tests.World;
|
|||
public sealed class ExternalContainerLifecycleControllerTests
|
||||
{
|
||||
[Fact]
|
||||
public void Replacement_RetiresPreviousRootExactlyOnce()
|
||||
public void ReplacementRequest_RetiresPreviousRootBeforeViewContents()
|
||||
{
|
||||
var state = new ExternalContainerState();
|
||||
var objects = new ClientObjectTable();
|
||||
|
|
@ -18,6 +18,10 @@ public sealed class ExternalContainerLifecycleControllerTests
|
|||
state.RequestOpen(10u);
|
||||
state.ApplyViewContents(10u);
|
||||
state.RequestOpen(20u);
|
||||
|
||||
Assert.Equal(new uint[] { 10u }, retired);
|
||||
Assert.Empty(objects.GetContents(10u));
|
||||
|
||||
state.ApplyViewContents(20u);
|
||||
state.ApplyViewContents(20u);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue