//
// 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 PropertyString property table — the numeric keys the server sends in
/// PrivateUpdatePropertyString (0x02DD) / PublicUpdatePropertyString (0x02DE)
/// and in the property bundles carried by CreateObject / PlayerDescription /
/// IdentifyResponse. The CLR payload for this table is string.
///
/// 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 StringId) and the 38,985-file ACE weenie export corpus
/// (references/weenies/), whose per-stat _comment carries the enum member
/// name beside the numeric key. 28 of these 53 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 PropertyString : uint
{
Undef = 0,
/// 38984 weenie attestations.
Name = 1,
Title = 2,
/// 1697 weenie attestations.
Sex = 3,
/// 1693 weenie attestations.
HeritageGroup = 4,
/// 1622 weenie attestations.
Template = 5,
AttackersName = 6,
/// 93 weenie attestations.
Inscription = 7,
/// 93 weenie attestations.
ScribeName = 8,
VendorsName = 9,
/// 1 weenie attestations.
Fellowship = 10,
MonarchsName = 11,
/// 449 weenie attestations.
LockCode = 12,
/// 238 weenie attestations.
KeyCode = 13,
/// 3219 weenie attestations.
Use = 14,
/// 5597 weenie attestations.
ShortDesc = 15,
/// 7107 weenie attestations.
LongDesc = 16,
/// 109 weenie attestations.
ActivationTalk = 17,
/// 10 weenie attestations.
UseMessage = 18,
/// 45 weenie attestations.
ItemHeritageGroupRestriction = 19,
/// 1318 weenie attestations.
PluralName = 20,
MonarchsTitle = 21,
/// 96 weenie attestations.
ActivationFailure = 22,
ScribeAccount = 23,
/// 591 weenie attestations.
TownName = 24,
/// 2 weenie attestations.
CraftsmanName = 25,
/// 4 weenie attestations.
UsePkServerError = 26,
ScoreCachedText = 27,
/// 5 weenie attestations.
ScoreDefaultEntryFormat = 28,
/// 5 weenie attestations.
ScoreFirstEntryFormat = 29,
/// 5 weenie attestations.
ScoreLastEntryFormat = 30,
/// 5 weenie attestations.
ScoreOnlyEntryFormat = 31,
/// 5 weenie attestations.
ScoreNoEntry = 32,
/// 859 weenie attestations.
Quest = 33,
/// 249 weenie attestations.
GeneratorEvent = 34,
PatronsTitle = 35,
HouseOwnerName = 36,
/// 170 weenie attestations.
QuestRestriction = 37,
AppraisalPortalDestination = 38,
TinkerName = 39,
ImbuerName = 40,
HouseOwnerAccount = 41,
DisplayName = 42,
DateOfBirth = 43,
ThirdPartyApi = 44,
KillQuest = 45,
Afk = 46,
AllegianceName = 47,
AugmentationAddQuest = 48,
KillQuest2 = 49,
KillQuest3 = 50,
UseSendsSignal = 51,
GearPlatingName = 52,
}