From aa0ecaeb4d64325f11c4849840abcbd13f24bc90 Mon Sep 17 00:00:00 2001 From: Erik Date: Sun, 21 Jun 2026 19:08:26 +0200 Subject: [PATCH] =?UTF-8?q?fix(app):=20D.2b-B=20B-Wire=20=E2=80=94=20burde?= =?UTF-8?q?n=20bar=20refreshes=20on=20player-object=20property=20update?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit InventoryController.Concerns() now returns true when the updated object IS the player object itself (o.ObjectId == playerGuid). Previously the method only triggered a repopulate for objects that the player *contains* or *wields*, but the player's own ClientObject is the carrier of EncumbranceVal — so a live PrivateUpdatePropertyInt for burden would be silently ignored. Task 15 of the B-Wire plan. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/AcDream.App/UI/Layout/InventoryController.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/AcDream.App/UI/Layout/InventoryController.cs b/src/AcDream.App/UI/Layout/InventoryController.cs index f051bb13..41fd325a 100644 --- a/src/AcDream.App/UI/Layout/InventoryController.cs +++ b/src/AcDream.App/UI/Layout/InventoryController.cs @@ -115,7 +115,8 @@ public sealed class InventoryController private bool Concerns(ClientObject o) { uint p = _playerGuid(); - return o.ContainerId == p || o.WielderId == p + return o.ObjectId == p // B-Wire: the player object IS the burden source + || o.ContainerId == p || o.WielderId == p || (o.ContainerId != 0 && _objects.Get(o.ContainerId)?.ContainerId == p); // 2-deep }