diff --git a/src/AcDream.Core.Net/WorldSession.cs b/src/AcDream.Core.Net/WorldSession.cs
index db21014d..2118ca75 100644
--- a/src/AcDream.Core.Net/WorldSession.cs
+++ b/src/AcDream.Core.Net/WorldSession.cs
@@ -91,7 +91,24 @@ public sealed class WorldSession : IDisposable
uint IconUnderlayId = 0,
// D.5.2 (2026-06-17): UiEffects bitfield (weenieFlags 0x80) — drives the icon's
// effect recolor. CreateObject-only; 0 = no effect.
- uint UiEffects = 0);
+ uint UiEffects = 0,
+ // D.5.4 (2026-06-18): full item field set, forwarded to the object table.
+ // Quantity fields int? (ACE PropertyInt convention); id/mask fields uint?.
+ uint WeenieClassId = 0,
+ int? Value = null,
+ int? StackSize = null,
+ int? StackSizeMax = null,
+ int? Burden = null,
+ int? ItemsCapacity = null,
+ int? ContainersCapacity = null,
+ uint? ContainerId = null,
+ uint? WielderId = null,
+ uint? ValidLocations = null,
+ uint? CurrentWieldedLocation = null,
+ uint? Priority = null,
+ int? Structure = null,
+ int? MaxStructure = null,
+ float? Workmanship = null);
/// Fires when the session finishes parsing a CreateObject.
public event Action? EntitySpawned;
@@ -745,7 +762,22 @@ public sealed class WorldSession : IDisposable
parsed.Value.IconId,
parsed.Value.IconOverlayId,
parsed.Value.IconUnderlayId,
- parsed.Value.UiEffects));
+ parsed.Value.UiEffects,
+ parsed.Value.WeenieClassId,
+ parsed.Value.Value,
+ parsed.Value.StackSize,
+ parsed.Value.StackSizeMax,
+ parsed.Value.Burden,
+ parsed.Value.ItemsCapacity,
+ parsed.Value.ContainersCapacity,
+ parsed.Value.ContainerId,
+ parsed.Value.WielderId,
+ parsed.Value.ValidLocations,
+ parsed.Value.CurrentWieldedLocation,
+ parsed.Value.Priority,
+ parsed.Value.Structure,
+ parsed.Value.MaxStructure,
+ parsed.Value.Workmanship));
}
}
else if (op == DeleteObject.Opcode)