// // Regenerate with the 2026-07-29 enum verification campaign tooling; see // docs/research/2026-07-29-enum-verification-campaign.md for the oracle set, // the extraction method, and the open-question ledger. // Hand edits are pinned by PropertyEnumConformanceTests — change the oracle, // not the enum. // namespace AcDream.Core.Properties; /// /// AC's PropertyInstanceId property table — the numeric keys the server sends in /// PrivateUpdatePropertyInstanceId (0x02E5) / PublicUpdatePropertyInstanceId (0x02E6) /// and in the property bundles carried by CreateObject / PlayerDescription / /// IdentifyResponse. The CLR payload for this table is uint (object guid). /// /// Verified 2026-07-29 against two independent oracles: the vendored /// client-side enum catalog (references/acclientlib/UtilityBelt.Common/Enums/Enums.cs, /// which names this table InstanceId) and the 38,985-file ACE weenie export corpus /// (references/weenies/), whose per-stat _comment carries the enum member /// name beside the numeric key. 2 of these 46 members are attested by BOTH /// oracles with zero value conflicts; the remainder are single-sourced from the /// catalog because no weenie in the corpus sets them. /// /// This enum is a vocabulary, not a parser contract: the wire carries a raw /// uint and unknown keys must still round-trip untouched, so never assume a /// received key is a defined member. /// public enum PropertyInstanceId : uint { Undef = 0, Owner = 1, Container = 2, Wielder = 3, Freezer = 4, Viewer = 5, Generator = 6, Scribe = 7, CurrentCombatTarget = 8, CurrentEnemy = 9, ProjectileLauncher = 10, CurrentAttacker = 11, CurrentDamager = 12, CurrentFollowTarget = 13, CurrentAppraisalTarget = 14, CurrentFellowshipAppraisalTarget = 15, /// 130 weenie attestations. ActivationTarget = 16, Creator = 17, Victim = 18, Killer = 19, Vendor = 20, Customer = 21, Bonded = 22, Wounder = 23, Allegiance = 24, Patron = 25, Monarch = 26, CombatTarget = 27, HealthQueryTarget = 28, LastUnlocker = 29, CrashAndTurnTarget = 30, AllowedActivator = 31, HouseOwner = 32, House = 33, Slumlord = 34, ManaQueryTarget = 35, CurrentGame = 36, RequestedAppraisalTarget = 37, /// 2 weenie attestations. AllowedWielder = 38, AssignedTarget = 39, LimboSource = 40, Snooper = 41, TeleportedCharacter = 42, Pet = 43, PetOwner = 44, PetDevice = 45, }