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)