DB/ChrRaces: Difference between revisions
Jump to navigation
Jump to search
m (Marlamin moved page ChrRaces.dbc to DB/ChrRaces) |
(Added current flags.) |
||
(19 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
__TOC__ | |||
Information about character creation and selection screens. | 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; | |||
{{Template:Type|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; | |||
{{Template:Type|stringref}} m_clientFileString; | |||
uint32_t m_cinematicSequenceID; | |||
{{Template:Type|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; | |||
{{Template:Type|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; | |||
{{Template:Type|stringref}} m_clientFileString; | |||
uint32_t m_cinematicSequenceID; | |||
{{Template:Type|langstringref}} m_name_lang; | |||
{{Template:Type|stringref}} m_facialHairCustomization[2]; // male, female | |||
{{Template:Type|stringref}} m_hairCustomization; | |||
}; | |||
==Wrath== | |||
===3.0.5.9294-3.3.5.12340=== | |||
====Table==== | |||
{| style="background:#FCFCFC; color:black" | {| style="background:#FCFCFC; color:black" | ||
|- | |- | ||
Line 13: | Line 61: | ||
| 2 || Flags || Integer || See Below | | 2 || Flags || Integer || See Below | ||
|- style="background:#F0F8FF;" | |- style="background:#F0F8FF;" | ||
| 3 || [[FactionTemplate.dbc|FactionID]] || iRefID || | | 3 || [[FactionTemplate.dbc|FactionID]] || iRefID || faction template id. The order in the creation screen depends on this. | ||
|- style="background:#F0F8FF;" | |- style="background:#F0F8FF;" | ||
| 4 || [[SoundEntries.dbc|Exploration]] || iRefID || Played on exploring zones with SMSG_EXPLORATION_EXPERIENCE. | | 4 || [[SoundEntries.dbc|Exploration]] || iRefID || Played on exploring zones with SMSG_EXPLORATION_EXPERIENCE. | ||
Line 23: | Line 71: | ||
| 7 || ClientPrefix || String || A short form of the name. Used for helmet models. | | 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. -- removed | | 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 | | 9 || BaseLanguage || Integer || 1 = Horde, 7 = Alliance & not playable | ||
Line 52: | Line 100: | ||
|- | |- | ||
| 69 || required_expansion || Integer || 0 for classic and non-playables, 1 for Burning Crusade | | 69 || required_expansion || Integer || 0 for classic and non-playables, 1 for Burning Crusade | ||
|} | |} | ||
==6.0.1.18179== | |||
==Warlords== | |||
===6.0.1.18179-6.0.3.19243=== | |||
====Struct==== | |||
struct ChrRacesRec { | struct ChrRacesRec { | ||
uint32_t m_ID; | uint32_t m_ID; | ||
uint32_t m_flags; | uint32_t m_flags; | ||
foreign_key | {{Template:Type/foreign_key|table=FactionTemplate}} m_factionID; | ||
uint32_t m_ExplorationSoundID; | uint32_t m_ExplorationSoundID; | ||
uint32_t m_MaleDisplayId; | uint32_t m_MaleDisplayId; | ||
uint32_t m_FemaleDisplayId; | uint32_t m_FemaleDisplayId; | ||
stringref m_ClientPrefix; | {{Template:Type|stringref}} m_ClientPrefix; | ||
uint32_t m_BaseLanguage; | uint32_t m_BaseLanguage; | ||
uint32_t m_creatureType; | uint32_t m_creatureType; | ||
uint32_t m_ResSicknessSpellID; | uint32_t m_ResSicknessSpellID; | ||
uint32_t m_SplashSoundID; | uint32_t m_SplashSoundID; | ||
stringref m_clientFileString; | {{Template:Type|stringref}} m_clientFileString; | ||
uint32_t m_cinematicSequenceID; | uint32_t m_cinematicSequenceID; | ||
uint32_t m_alliance; | uint32_t m_alliance; | ||
{{Template:Type|langstringref}} m_name_lang; | |||
{{Template:Type|langstringref}} m_name_female_lang; | |||
{{Template:Type|langstringref}} m_name_male_lang; | |||
stringref m_facialHairCustomization[2]; | {{Template:Type|stringref}} m_facialHairCustomization[2]; // male, female | ||
stringref m_hairCustomization; | {{Template:Type|stringref}} m_hairCustomization; | ||
uint32_t m_race_related; | uint32_t m_race_related; | ||
uint32_t m_unalteredVisualRaceID; | uint32_t m_unalteredVisualRaceID; | ||
Line 93: | Line 142: | ||
}; | }; | ||
== | |||
==8.0.1.25902== | |||
struct ChrRacesRec { | 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_MaleDisplayId; | ||
uint32_t m_FemaleDisplayId; | uint32_t m_FemaleDisplayId; | ||
uint32_t m_createScreenFileDataID; | uint32_t m_createScreenFileDataID; | ||
uint32_t m_selectScreenFileDataID; | uint32_t m_selectScreenFileDataID; | ||
float m_maleCustomizeOffset[3]; | float m_maleCustomizeOffset[3]; | ||
float m_femaleCustomizeOffset[3]; | float m_femaleCustomizeOffset[3]; | ||
uint32_t m_neutralRaceID; | uint32_t m_lowResScreenFileDataID; | ||
uint32_t | int32_t {{Template:Unverified|m_startingLevel}}; // has value 20 for allied races and 1 for others, added in 7.3.5 | ||
int32_t Unk2_735; // {{Template:Unverified|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; // {{Template:Unverified|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_HighResMaleDisplayId; | ||
uint32_t m_HighResFemaleDisplayId; | uint32_t m_HighResFemaleDisplayId; | ||
int32_t {{Template:Unverified|m_heritageArmorUnlockAchievementID}}; // values 12291, 12413-12415 for allied races, rest are 0, added in 7.3.5 | |||
int32_t {{Template:Unverified|m_maleDeathSkeletonModelFileDataID}}; // World\Generic\PassiveDoodads\DeathSkeletons\<Race><Gender>DeathSkeleton.m2, added in 7.3.5 | |||
int32_t {{Template:Unverified|m_femaleDeathSkeletonModelFileDataID}}; | |||
int32_t m_alteredFormTransitionSpellVisualID[3]; | |||
int32_t m_alteredFormTransitionSpellVisualKitID[3]; | |||
}; | }; | ||
===Flags=== | ===Flags=== | ||
Line 137: | Line 189: | ||
|- | |- | ||
! width="80" | Flag | ! width="80" | Flag | ||
! width=" | ! width="600 " | Description | ||
|- | |- | ||
| | | 0x000001 || Not Playable | ||
|- | |||
| 0x000002 || Bare Feet | |||
|- | |||
| 0x000004 || Can Mount. CGUnit_C::CanCurrentFormMount ( return ( flags ^ 4 ) & 4; ), also: [[CreatureModelData.dbc|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 <code>CGUnit_C::GetPlayerDiscount</code>. TBC Classic : "Exalted With All Vendors" | |||
|- | |||
| 0x000200 || <code>CCharacterCreation::Initialize</code>. TBC Classic : "Not Selectable" | |||
|- | |||
| 0x000400 || <code>CCharacterSelection::MoveSelectionComponentToWorldFrame</code> 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 = 0x000001, | |||
DoNotComponentFeet = 0x000002, | |||
CanMount = 0x000004, | |||
HasBald = 0x000008, | |||
BindToStartingArea = 0x000010, | |||
AlternateForm = 0x000020, | |||
CanMountSelf = 0x000040, | |||
ForceToHDModelIfAvailable = 0x000080, | |||
ExaltedWithAllVendors = 0x000100, | |||
NotSelectable = 0x000200, | |||
ReputationBonus = 0x000400, | |||
UseLoincloth = 0x000800, | |||
RestBonus = 0x001000, | |||
NoStartKits = 0x002000, | |||
NoStartingWeapon = 0x004000, | |||
DontRedeemAccountLicenses = 0x008000, | |||
SkinVariationIsHairColor = 0x010000, | |||
UsePandarenRingForComponentingTexture = 0x020000, | |||
IgnoreForAssetManifestComponentInfoParsing = 0x040000, | |||
IsAlliedRace = 0x080000, | |||
VoidVendorDiscount = 0x100000, | |||
DAMMComponentNoMaleGeneration = 0x200000, | |||
DAMMComponentNoFemaleGeneration = 0x400000, | |||
NoAssociatedFactionReputationInRaceChange = 0x800000, | |||
InternalOnly = 0x100000, | |||
[[Category:DBC]][[Category:3.0.5.9294]][[Category: | [[Category:DBC]] | ||
[[Category:DBC_Alpha]] | |||
[[Category:DBC_Vanilla]] | |||
[[Category:DBC_WotLK]][[Category:3.0.5.9294]][[Category:3.3.5.12340]] | |||
[[Category:DBC_WoD]][[Category:6.0.1.18179]][[Category:6.0.3.19243]] | [[Category:DBC_WoD]][[Category:6.0.1.18179]][[Category:6.0.3.19243]] |
Revision as of 08:15, 16 October 2023
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 = 0x000001, DoNotComponentFeet = 0x000002, CanMount = 0x000004, HasBald = 0x000008, BindToStartingArea = 0x000010, AlternateForm = 0x000020, CanMountSelf = 0x000040, ForceToHDModelIfAvailable = 0x000080, ExaltedWithAllVendors = 0x000100, NotSelectable = 0x000200, ReputationBonus = 0x000400, UseLoincloth = 0x000800, RestBonus = 0x001000, NoStartKits = 0x002000, NoStartingWeapon = 0x004000, DontRedeemAccountLicenses = 0x008000, SkinVariationIsHairColor = 0x010000, UsePandarenRingForComponentingTexture = 0x020000, IgnoreForAssetManifestComponentInfoParsing = 0x040000, IsAlliedRace = 0x080000, VoidVendorDiscount = 0x100000, DAMMComponentNoMaleGeneration = 0x200000, DAMMComponentNoFemaleGeneration = 0x400000, NoAssociatedFactionReputationInRaceChange = 0x800000, InternalOnly = 0x100000,