namespace AcDream.Core.Items; /// /// Lossless retail ShortCutData value: signed slot index, object id, /// and raw 32-bit spell word. The C++ object is 16 bytes including its vtable; /// the packed value is exactly 12 bytes. Retail anchors: /// ShortCutData::ShortCutData @ 0x005D55E0, /// ShortCutManager::AddShortCut @ 0x005D5790, and /// acclient.h:36484. /// public readonly record struct ShortcutEntry(int Index, uint ObjectId, uint SpellId) { public ShortcutEntry WithIndex(int index) => this with { Index = index }; }