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;
}
}