using System; namespace AcDream.Core.Items; /// /// Player PropertyInt.AetheriaBitfield (322 / 0x142). Each bit independently /// unlocks one paperdoll sigil location after its corresponding retail quest. /// /// /// Retail: gmPaperDollUI::UpdateAetheria @ 0x004A3E50. /// ACE: PropertyInt.AetheriaBitfield + AetheriaBitfield. /// [Flags] public enum AetheriaUnlockState : uint { None = 0x0, Blue = 0x1, Yellow = 0x2, Red = 0x4, All = Blue | Yellow | Red, } public static class AetheriaUnlocks { public const uint PropertyId = 0x142u; public static AetheriaUnlockState Read(ClientObject? player) { if (player?.Properties.Ints.TryGetValue(PropertyId, out int value) != true) return AetheriaUnlockState.None; return (AetheriaUnlockState)(uint)value; } }