fix(items): dispatch carried use without world approach

This commit is contained in:
Erik 2026-07-23 09:50:28 +02:00
parent f71f947475
commit 19e8863f4e
7 changed files with 99 additions and 18 deletions

View file

@ -361,6 +361,33 @@ public sealed class SelectionInteractionControllerTests
Assert.Equal(new[] { Target }, h.Transport.Uses);
}
[Fact]
public void CarriedDirectUseBypassesWorldApproachAndWaitsForUseDone()
{
const uint favor = 0x8000_0606u;
var h = new Harness();
h.Query.Useable = false;
h.Objects.AddOrUpdate(new ClientObject
{
ObjectId = favor,
Name = "Blackmoor's Favor",
Type = ItemType.Gem,
Useability = ItemUseability.Undef,
});
Assert.True(h.Objects.MoveItem(favor, Player, newSlot: 1));
Assert.True(h.Items.ActivateItem(favor));
Assert.Empty(h.Movement.Approaches);
Assert.Equal(new[] { favor }, h.Transport.Uses);
Assert.Equal(1, h.Items.BusyCount);
h.Items.CompleteUse(0u);
Assert.Equal(0, h.Items.BusyCount);
Assert.True(h.Items.CanMakeInventoryRequest);
}
[Fact]
public void HiddenOrStaleIncarnationCancelsDeferredAction()
{