DB/Faction: Difference between revisions

From wowdev
Jump to navigation Jump to search
mNo edit summary
 
(36 intermediate revisions by 10 users not shown)
Line 1: Line 1:
Factions
Much information can be located in the source file of "..src\server\game\\Reputation\ReputationMgr.h".
==0.5.3.3368==
struct FactionRec {
  uint32_t m_ID;
  uint32_t m_reputationIndex;
  uint32_t m_reputationRaceMask[4];
  uint32_t m_reputationClassMask[4];
  uint32_t m_reputationBase[4];
  {{Template:Type|langstringref}} m_name_lang;
};
==1.12.1.5875==
struct FactionRec {
  uint32_t m_ID;
  uint32_t m_reputationIndex;
  uint32_t m_reputationRaceMask[4];
  uint32_t m_reputationClassMask[4];
  uint32_t m_reputationBase[4];
  uint32_t m_reputationFlags[4];
  uint32_t m_parentFactionID;
  {{Template:Type|langstringref}} m_name_lang;
  {{Template:Type|langstringref}} m_description_lang;
};
== Structure ==


== Header Info ==
{| style="background:#FCFCFC; color:black"
  Records...................373
|-
  Fields.....................53
! width="80" | Column
  Record Size...............212
! width="180 " | Field
  String Block Size.......15190
! width="80" | Type
! width="800" | Notes
|-
|1  || ID  || Integer  ||
|-
|2 || reputationIndex  || Integer  || Each faction that has gainable rep has a unique number. All factions that you can not gain rep with have -1. Max value 127.
|-
|3  || reputationRaceMask1  || BitMask  || Mask of races using field 11 as base reputation
|-
|4  || reputationRaceMask2  || BitMask  || Mask of races using field 12 as base reputation
|-
|5  || reputationRaceMask3  || BitMask  || Mask of races using field 13 as base reputation
|-
|6  || reputationRaceMask4  || BitMask  || Mask of races using field 14 as base reputation
|-
|7  || reputationClassMask1  || BitMask  || Mask of classes using field 11 as base reputation
|-
|8  || reputationClassMask2  || BitMask  || Mask of classes using field 12 as base reputation
|-
|9  || reputationClassMask3  || BitMask  || Mask of classes using field 13 as base reputation
|-
|10  || reputationClassMask4  || BitMask  || Mask of classes using field 14 as base reputation
|-
|11  || reputationBase1  || Integer[4]  || -42000 - 42999 (0 neutral); used by races specified in mask in fields 3, 7
|-
|12  || reputationBase2  || Integer[4]  || -42000 - 42999 (0 neutral); used by races specified in mask in fields 4, 8
|-
|13  || reputationBase3  || Integer[4]  || -42000 - 42999 (0 neutral); used by races specified in mask in fields 5, 9
|-
|14  || reputationBase4  || Integer[4]  || -42000 - 42999 (0 neutral); used by races specified in mask in fields 6, 10
|-
|15  || reputationFlags  || Integer[4]  ||
|- style="background:#F0F8FF;"
|19  || [[Faction.dbc|parentFactionID]]  || iRefID  || Recursive. i.e. Undercity lists ID 67, which is Horde
|-
|20  ||  parentFactionMod || Float[2]  ||
|-
|22 ||  parentFactionCap || Integer[2]  ||
|-
|24 || Name || [[Loc]]  || Display name of the faction
|-
|41 || Description  || [[Loc]]  || Seen in the reputation-GUI on click.
|}


== Notes ==


Last updated against: WoW 3.0.1.8334
    FACTION_FLAG_NONE = 0x00, // no faction flag
    FACTION_FLAG_VISIBLE = 0x01, // makes visible in client (set or can be set at interaction with target of this faction)
    FACTION_FLAG_AT_WAR = 0x02, // enable AtWar-button in client. player controlled (except opposition team always war state), Flag only set on initial creation
    FACTION_FLAG_HIDDEN = 0x04, // hidden faction from reputation pane in client (player can gain reputation, but this update not sent to client)
    FACTION_FLAG_INVISIBLE_FORCED = 0x08, // always overwrite FACTION_FLAG_VISIBLE and hide faction in rep.list, used for hide opposite team factions
    FACTION_FLAG_PEACE_FORCED = 0x10, // always overwrite FACTION_FLAG_AT_WAR, used for prevent war with own team factions
    FACTION_FLAG_INACTIVE = 0x20, // player controlled, state stored in characters.data (CMSG_SET_FACTION_INACTIVE)
    FACTION_FLAG_RIVAL = 0x40, // flag for the two competing outland factions
    FACTION_FLAG_SPECIAL = 0x80 // horde and alliance home cities and their northrend allies have this flag


== Structure ==
'''Column Field Type Notes'''
1 ID Integer
2 Unknown Integer Unique Faction Gain ID? Each faction that has gainable rep has a unique number. All factions that you can not gain rep with has -1 (or MaxInt)
3 AtWar BitMask <.. Points to another Allied / AtWar ID
4 Allied BitMask .. Honor Hold has 1101,690 & Thrallmar 690,1101 for example. ..>
5 Unknown Binary? Only city factions have a value. Possible relationship to Modifiers and 17 (1 = Stormwind; 2 = Orgrimmar; 4 = Wildhammer Clan & Iron Forge; 8 = Dranassus; 16 = Undercity; 64 = Gnomeregan Exiles; 512 = Shattrath City Factions & Silvermoon City; 528 = Thunder Bluff & Darkspear Trolls; 1024 = Exodar)
6 Unknown Binary? Only Horde cities have a value. Possible relationship to Modifiers and 18 (16 = Silvermoon City; 32 = Thunder Bluff; 128 = Darkspear Trolls; 512 = Undercity; 528 = Orgrimmar)
7 Unknown Binary? (479 = Cenerion Circle; 1503 = Lower City, "Friendly, Hidden", Netherwing; Shatari Skyguards)
8 Unknown Binary? (1024 = Cenerion Circle;)
''9 Unknown None NULL''
''10 Unknown None NULL''
11 Reputation Signed Integer Base repuation (Based on 0 = Neutral)
12 Modifier 1 Signed Integer Modifies the reputation of selected factions based on a condition (eg. Aliance or Horde)
13 Modifier 2 Signed Integer Modifies the reputation of selected factions based on a condition (eg. Orc, Troll or Tauren)
14 Modifier 3 Signed Integer Modifies the reputation of selected factions based on a condition (eg. Blood Elf or Undead)
15 Unknown Integer Relationship to field 11. Possible Relationship to 3 (2 = Key rep factions; 4 = Proffesions,  Caer Darrow & "Friendly, Hidden"; 6 = Wintersabre Trainers; 8 = Outland & Steamwheedle Cartel; 9 = Alliance & Horde; 12 = Shattrath City; 16 = PvP Factions & Randoms; 17 = Capital Cities; 20 = Wildhammer Clan; 24 = Alliance & Horde Forces; 80 = Shattrath City Factions;)
16 Unknown Integer Relationship to field 12. Possible Relationship to 4 (2 = AB and AV Factions; 6 = Tranquillien, WSG Factions, The Mag'har & Alliance and Horde Factions; 17 = Alliance & Horde Forces, Alliance, Horde; 80 = Shattrath City Factions;)
17 Unknown Integer Relationship to field 13. Possible Relationship to 5 (4 = Wildhammer Clan; 17 = Alliance and Horde Factions; 80 = Shattrath City Factions;)
18 Unknown Integer Relationship to field 14. Possible Relationship to 6 (17 = Horde Factions;)
19 iRefID_[[Faction.dbc|Faction]] Integer Recursive. Parent Faction -- References to [[Faction.dbc]] ID (i.e. Undercity lists ID 67, which is Horde)
20-36 iRefName String + [[Loc]] Display name of the faction
37-53 description String + [[Loc]]


Retrieved from "http://www.sourcepeek.com/wiki/Faction.dbc"
== Version - 10.2.7 (Updated 5/19/24) - ReputationFlags({{Template:Sandbox/PrettyVersion|expansionlevel=10}})==
 
{| class="wikitable sortable"
|-
! Flag !! Attribute String !! Bitmask !! Comments
|-
| 0 || None || 0x0000 || 1 - No faction flag.
|-
| 1 || Visible || 0x0001 || 2 -  Makes visible in client (set or can be set at interaction with target of this faction).
|-
| 2 || AtWar || 0x0002 || 3 - Enable the at-war flag in the client. Player-controlled (except the opposition faction always has a war state), this flag is only set on initial creation.
|-
| 4 || Hidden || 0x0004 || 4 - Hidden faction from the reputation pane in the client (players can gain reputation, but this update is not sent to the client).
|-
| 8 || Header || 0x0008 || 5 - Display as header in UI.
|-
| 16 || Peaceful || 0x0010 || 6 - Cannot set the at-war flag with this faction.
|-
| 32 || Inactive || 0x0020 || 7 - Player-controlled (CMSG_SET_FACTION_INACTIVE).
|-
| 64 || ShowPropagated || 0x0040 || 8 - Unknown. Possibly related to children's factions of parents.
|-
| 128 || HeaderShowsBar || 0x0080 || 9 - Header has its own reputation bar.
|-
| 256 || CapitalCityForRaceChange || 0x0100 || 10 - Unknown. Likely the respective capital city to send a player after a race or faction change.
|-
| 512 || Guild || 0x0200 || 11 - Unknown. Possibly related to guild perks (and guild titles previously).
|-
| 1,024 || GarrisonInvasion || 0x0400 || 12 - Unknown. Added after version 6.0.1+ in relation to garrisons.
|}


==6.0.1.18179==
struct FactionRec {
  uint32_t m_ID;
  uint32_t m_reputationIndex;
  uint32_t m_reputationRaceMask[4];
  uint32_t m_reputationClassMask[4];
  uint32_t m_reputationBase[4];
  uint32_t m_reputationFlags[4];
  uint32_t m_parentFactionID;
  float m_parentFactionMod[2];
  uint32_t m_parentFactionCap[2];
  {{Template:Type|langstringref}} m_name_lang;
  {{Template:Type|langstringref}} m_description_lang;
  uint32_t m_expansion;
  uint32_t m_flags;
  uint32_t m_friendshipRepID;
};
[[Category:DBC]]
[[Category:DBC]]
[[Category:DBC_Alpha]]
[[Category:DBC_Vanilla]]
[[Category:2.4.3.8606]]
[[Category:3.0.2.8905]]
[[Category:3.3.5.12340]]
[[Category:DBC_WotLK]]
[[Category:DBC_WoD]][[Category:6.0.1.18179]]

Latest revision as of 09:00, 19 May 2024

Much information can be located in the source file of "..src\server\game\\Reputation\ReputationMgr.h".

0.5.3.3368

struct FactionRec {
  uint32_t m_ID;
  uint32_t m_reputationIndex;
  uint32_t m_reputationRaceMask[4];
  uint32_t m_reputationClassMask[4];
  uint32_t m_reputationBase[4];
  langstringref m_name_lang;
};

1.12.1.5875

struct FactionRec {
  uint32_t m_ID;
  uint32_t m_reputationIndex;
  uint32_t m_reputationRaceMask[4];
  uint32_t m_reputationClassMask[4];
  uint32_t m_reputationBase[4];
  uint32_t m_reputationFlags[4];
  uint32_t m_parentFactionID;
  langstringref m_name_lang;
  langstringref m_description_lang;
};

Structure

Column Field Type Notes
1 ID Integer
2 reputationIndex Integer Each faction that has gainable rep has a unique number. All factions that you can not gain rep with have -1. Max value 127.
3 reputationRaceMask1 BitMask Mask of races using field 11 as base reputation
4 reputationRaceMask2 BitMask Mask of races using field 12 as base reputation
5 reputationRaceMask3 BitMask Mask of races using field 13 as base reputation
6 reputationRaceMask4 BitMask Mask of races using field 14 as base reputation
7 reputationClassMask1 BitMask Mask of classes using field 11 as base reputation
8 reputationClassMask2 BitMask Mask of classes using field 12 as base reputation
9 reputationClassMask3 BitMask Mask of classes using field 13 as base reputation
10 reputationClassMask4 BitMask Mask of classes using field 14 as base reputation
11 reputationBase1 Integer[4] -42000 - 42999 (0 neutral); used by races specified in mask in fields 3, 7
12 reputationBase2 Integer[4] -42000 - 42999 (0 neutral); used by races specified in mask in fields 4, 8
13 reputationBase3 Integer[4] -42000 - 42999 (0 neutral); used by races specified in mask in fields 5, 9
14 reputationBase4 Integer[4] -42000 - 42999 (0 neutral); used by races specified in mask in fields 6, 10
15 reputationFlags Integer[4]
19 parentFactionID iRefID Recursive. i.e. Undercity lists ID 67, which is Horde
20 parentFactionMod Float[2]
22 parentFactionCap Integer[2]
24 Name Loc Display name of the faction
41 Description Loc Seen in the reputation-GUI on click.


   FACTION_FLAG_NONE = 0x00, // no faction flag
   FACTION_FLAG_VISIBLE = 0x01, // makes visible in client (set or can be set at interaction with target of this faction)
   FACTION_FLAG_AT_WAR = 0x02, // enable AtWar-button in client. player controlled (except opposition team always war state), Flag only set on initial creation
   FACTION_FLAG_HIDDEN = 0x04, // hidden faction from reputation pane in client (player can gain reputation, but this update not sent to client)
   FACTION_FLAG_INVISIBLE_FORCED = 0x08, // always overwrite FACTION_FLAG_VISIBLE and hide faction in rep.list, used for hide opposite team factions
   FACTION_FLAG_PEACE_FORCED = 0x10, // always overwrite FACTION_FLAG_AT_WAR, used for prevent war with own team factions
   FACTION_FLAG_INACTIVE = 0x20, // player controlled, state stored in characters.data (CMSG_SET_FACTION_INACTIVE)
   FACTION_FLAG_RIVAL = 0x40, // flag for the two competing outland factions
   FACTION_FLAG_SPECIAL = 0x80 // horde and alliance home cities and their northrend allies have this flag


Version - 10.2.7 (Updated 5/19/24) - ReputationFlags(DF)

Flag Attribute String Bitmask Comments
0 None 0x0000 1 - No faction flag.
1 Visible 0x0001 2 -  Makes visible in client (set or can be set at interaction with target of this faction).
2 AtWar 0x0002 3 - Enable the at-war flag in the client. Player-controlled (except the opposition faction always has a war state), this flag is only set on initial creation.
4 Hidden 0x0004 4 - Hidden faction from the reputation pane in the client (players can gain reputation, but this update is not sent to the client).
8 Header 0x0008 5 - Display as header in UI.
16 Peaceful 0x0010 6 - Cannot set the at-war flag with this faction.
32 Inactive 0x0020 7 - Player-controlled (CMSG_SET_FACTION_INACTIVE).
64 ShowPropagated 0x0040 8 - Unknown. Possibly related to children's factions of parents.
128 HeaderShowsBar 0x0080 9 - Header has its own reputation bar.
256 CapitalCityForRaceChange 0x0100 10 - Unknown. Likely the respective capital city to send a player after a race or faction change.
512 Guild 0x0200 11 - Unknown. Possibly related to guild perks (and guild titles previously).
1,024 GarrisonInvasion 0x0400 12 - Unknown. Added after version 6.0.1+ in relation to garrisons.

6.0.1.18179

struct FactionRec {
  uint32_t m_ID;
  uint32_t m_reputationIndex;
  uint32_t m_reputationRaceMask[4];
  uint32_t m_reputationClassMask[4];
  uint32_t m_reputationBase[4];
  uint32_t m_reputationFlags[4];
  uint32_t m_parentFactionID;
  float m_parentFactionMod[2];
  uint32_t m_parentFactionCap[2];
  langstringref m_name_lang;
  langstringref m_description_lang;
  uint32_t m_expansion;
  uint32_t m_flags;
  uint32_t m_friendshipRepID;
};