namespace AcDream.Core.CharGen; /// /// One hair-style option in a /// list. Retail schema: HairStyle_CG (nested inside /// Sex_CG::Serialize @ 0x005C1600). Bald and /// AlternateSetup handle the Gear Knight / Olthoi bald-head special /// case ACE's SexCG.GetHeadObject comment documents. /// public sealed record ChargenHairStyle( uint IconId, bool Bald, uint AlternateSetup, ChargenObjDesc ObjDesc); /// /// One eye-strip option. Retail carries a SEPARATE bald variant /// (BaldIconId / BaldObjDesc) because a bald hairstyle /// selection changes which eye texture applies — see ACE's /// SexCG.GetEyeTexture(strip, isBald). /// public sealed record ChargenEyeStrip( uint IconId, uint BaldIconId, ChargenObjDesc ObjDesc, ChargenObjDesc BaldObjDesc); /// One nose- or mouth-strip option (retail FaceStrip_CG). public sealed record ChargenFaceStrip(uint IconId, ChargenObjDesc ObjDesc); /// /// One clothing-slot option (headgear/shirt/pants/footwear). Retail schema: /// Gear_CG. ClothingTableId resolves through /// ClothingTable::BuildObjDesc; WeenieDefaultId is the weenie /// class the character actually receives in inventory on creation (ACE's /// SexCG.GetHeadgearWeenie family). /// public sealed record ChargenGearOption( string Name, uint ClothingTableId, uint WeenieDefaultId);