DB/ChrRaces

From wowdev
Revision as of 04:21, 1 June 2024 by Xiberion (talk | contribs) (→‎Flags - 10.1.7.51536)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Information about character creation and selection screens.

Classic

0.5.3.3368

Struct

struct ChrRacesRec {
  uint32_t m_ID;
  uint32_t m_flags;
  uint32_t m_factionID;
  uint32_t m_MaleDisplayId;
  uint32_t m_FemaleDisplayId;
  stringref m_ClientPrefix;
  float m_MountScale;
  uint32_t m_BaseLanguage;
  uint32_t m_creatureType;
  uint32_t m_LoginEffectSpellID;
  uint32_t m_CombatStunSpellID;
  uint32_t m_ResSicknessSpellID;
  uint32_t m_SplashSoundID;
  uint32_t m_startingTaxiNodes;
  stringref m_clientFileString;
  uint32_t m_cinematicSequenceID;
  langstringref m_name_lang;
};

1.12.1.5875

Struct

struct ChrRacesRec {
  uint32_t m_ID;
  uint32_t m_flags;
  uint32_t m_factionID;
  uint32_t m_MaleDisplayId;
  uint32_t m_FemaleDisplayId;
  stringref m_ClientPrefix;
  float m_MountScale;
  uint32_t m_BaseLanguage;
  uint32_t m_creatureType;
  uint32_t m_LoginEffectSpellID;
  uint32_t m_CombatStunSpellID;
  uint32_t m_ResSicknessSpellID;
  uint32_t m_SplashSoundID;
  uint32_t m_startingTaxiNodes;
  stringref m_clientFileString;
  uint32_t m_cinematicSequenceID;
  langstringref m_name_lang;
  stringref m_facialHairCustomization[2];  // male, female
  stringref m_hairCustomization;
};

Wrath

3.0.5.9294-3.3.5.12340

Table

Column Field Type Notes
1 ID Integer
2 Flags Integer See Below
3 FactionID iRefID faction template id. The order in the creation screen depends on this.
4 Exploration iRefID Played on exploring zones with SMSG_EXPLORATION_EXPERIENCE.
5 MaleModel iRefID only used for the char creation/selection screen. Ingame the server sets the model.
6 FemaleModel iRefID only used for the char creation/selection screen. Ingame the server sets the model.
7 ClientPrefix String A short form of the name. Used for helmet models.
8 Unknown Float This is 1.0 for the most. Maybe some sort of size or speed. -- not in 3.3.5, removed during WOTLK
9 BaseLanguage Integer 1 = Horde, 7 = Alliance & not playable
10 creatureType iRefID Always 7 (humanoid).
11 ResSicknessSpellID Integer Always 15007.
12 SplashSoundID Integer 1090 for dwarfs, 1096 for the others. Getting stored in CGUnit at CGUnit::PostInit.
13 clientFileString String Same as the one used in model-filepathes.
14 cinematicSequenceID iRefID Used for the opening cinematic.
cata alliance Integer
15-31 RaceNameNeutral Loc A name to display.
32-48 RaceNameFemale Loc always is NULL for zhCN.
49-65 RaceNameMale Loc always is NULL for zhCN.
66 facialHairCustomization String Internal names for the facial features.
67 facialHairCustomization String The localized ones are in luas.
68 hairCustomization String
69 required_expansion Integer 0 for classic and non-playables, 1 for Burning Crusade

Warlords

6.0.1.18179-6.0.3.19243

Struct

struct ChrRacesRec {
  uint32_t m_ID;
  uint32_t m_flags;
  foreign_key<uint32_t, &FactionTemplateRec::m_ID> m_factionID;
  uint32_t m_ExplorationSoundID;
  uint32_t m_MaleDisplayId;
  uint32_t m_FemaleDisplayId;
  stringref m_ClientPrefix;
  uint32_t m_BaseLanguage;
  uint32_t m_creatureType;
  uint32_t m_ResSicknessSpellID;
  uint32_t m_SplashSoundID;
  stringref m_clientFileString;
  uint32_t m_cinematicSequenceID;
  uint32_t m_alliance;
  langstringref m_name_lang;
  langstringref m_name_female_lang;
  langstringref m_name_male_lang;
  stringref m_facialHairCustomization[2];  // male, female
  stringref m_hairCustomization;
  uint32_t m_race_related;
  uint32_t m_unalteredVisualRaceID;
  uint32_t m_uaMaleCreatureSoundDataID;
  uint32_t m_uaFemaleCreatureSoundDataID;
  uint32_t m_charComponentTextureLayoutID;
  uint32_t m_defaultClassID;
  uint32_t m_createScreenFileDataID;
  uint32_t m_selectScreenFileDataID;
  float m_maleCustomizeOffset[3];
  float m_femaleCustomizeOffset[3];
  uint32_t m_neutralRaceID;
  uint32_t m_lowResScreenFileDataID;
  uint32_t m_HighResMaleDisplayId;
  uint32_t m_HighResFemaleDisplayId;
  uint32_t m_charComponentTexLayoutHiResID;
};


8.0.1.25902

struct ChrRacesRec {
  stringref m_ClientPrefix;
  stringref m_clientFileString;
  langstringref m_name_lang;
  langstringref m_name_female_lang;
  langstringref m_name_male_lang;
  stringref m_hairCustomization;
  int32_t m_flags;
  uint32_t m_MaleDisplayId;
  uint32_t m_FemaleDisplayId;
  uint32_t m_createScreenFileDataID;
  uint32_t m_selectScreenFileDataID;
  float m_maleCustomizeOffset[3];
  float m_femaleCustomizeOffset[3];
  uint32_t m_lowResScreenFileDataID; 
  int32_t m_startingLevel; // has value 20 for allied races and 1 for others, added in 7.3.5
  int32_t Unk2_735; // UIOrder? RaceID? has 9 for blood elf and 10 for goblin, rest are 0, added in 7.3.5
  uint16_t m_factionID;
  uint16_t m_ResSicknessSpellID;
  uint16_t m_SplashSoundID;
  uint16_t m_cinematicSequenceID;
  uint8_t m_BaseLanguage;
  uint8_t m_creatureType;
  uint8_t m_alliance;
  uint8_t m_race_related; // alternate race ID of opposing faction
  uint8_t m_unalteredVisualRaceID;
  uint8_t m_charComponentTextureLayoutID;
  uint8_t m_defaultClassID;
  uint8_t m_neutralRaceID;
  uint8_t m_itemAppearanceFrameRaceID;
  uint8_t m_charComponentTexLayoutHiResID;
  uint32_t m_ID;
  uint32_t m_HighResMaleDisplayId;
  uint32_t m_HighResFemaleDisplayId;
  int32_t m_heritageArmorUnlockAchievementID; // values 12291, 12413-12415 for allied races, rest are 0, added in 7.3.5
  int32_t m_maleDeathSkeletonModelFileDataID; // World\Generic\PassiveDoodads\DeathSkeletons\<Race><Gender>DeathSkeleton.m2, added in 7.3.5
  int32_t m_femaleDeathSkeletonModelFileDataID;
  int32_t m_alteredFormTransitionSpellVisualID[3];
  int32_t m_alteredFormTransitionSpellVisualKitID[3];
};

Flags

Flag Description
0x000001 Not Playable
0x000002 Bare Feet
0x000004 Can Mount. CGUnit_C::CanCurrentFormMount ( return ( flags ^ 4 ) & 4; ), also: CMD.flags & 0x80.
0x000008 Playable Races(without NightElf) and Vrykul(?). TBC Classic : "Has Bald"
0x000010 TBC Classic : "Bind to Starting Area"
0x000020 TBC Classic : Alternate Form
0x000040 TBC Classic : "Can Mount Self"
0x000080 TBC Classic : "Force to HD model if available"
0x000100 apply the goblin racial [Best Deals Anywhere] discount CGUnit_C::GetPlayerDiscount. TBC Classic : "Exalted With All Vendors"
0x000200 CCharacterCreation::Initialize. TBC Classic : "Not Selectable"
0x000400 CCharacterSelection::MoveSelectionComponentToWorldFrame TBC Classic : "Reputation Bonus"
0x000800 TBC Classic : "Use Loincloth"
0x001000 TBC Classic : "Rest Bonus"
0x002000 TBC Classic : "No Start Kits"
0x004000 TBC Classic : "No Starting Weapon"
0x008000 TBC Classic : "Don't redeem account licenses"
0x010000 skin variation is hair colour
0x020000 TBC Classic : "Use Pandaren Ring for componenting texture"
0x040000 TBC Classic : "Ignore for asset manifest component info parsing "
0x080000 TBC Classic : "Is Allied Race"
0x100000 TBC Classic : "Void Vendor Discount (transmog/void storage)"
0x200000 TBC Classic : "DAMM Component - No Male Generation (Tools Only)"
0x400000 TBC Classic : "DAMM Component - No Female Generation (Tools Only)"
0x800000 TBC Classic : "No Associated Faction Reputation in Race Change"

Flags - 10.1.7.51536

   NPCOnly                                     = 0x00000001,
   DoNotComponentFeet                          = 0x00000002,
   CanMount                                    = 0x00000004,
   HasBald                                     = 0x00000008,
   BindToStartingArea                          = 0x00000010,
   AlternateForm                               = 0x00000020,
   CanMountSelf                                = 0x00000040,
   ForceToHDModelIfAvailable                   = 0x00000080,
   ExaltedWithAllVendors                       = 0x00000100,
   NotSelectable                               = 0x00000200,
   ReputationBonus                             = 0x00000400,
   UseLoincloth                                = 0x00000800,
   RestBonus                                   = 0x00001000,
   NoStartKits                                 = 0x00002000,
   NoStartingWeapon                            = 0x00004000,
   DontRedeemAccountLicenses                   = 0x00008000,
   SkinVariationIsHairColor                    = 0x00010000,
   UsePandarenRingForComponentingTexture       = 0x00020000,
   IgnoreForAssetManifestComponentInfoParsing  = 0x00040000,
   IsAlliedRace                                = 0x00080000,
   VoidVendorDiscount                          = 0x00100000,
   DAMMComponentNoMaleGeneration               = 0x00200000,
   DAMMComponentNoFemaleGeneration             = 0x00400000,
   NoAssociatedFactionReputationInRaceChange   = 0x00800000,
   InternalOnly                                = 0x01000000,