DB/Faction: Difference between revisions

From wowdev
Jump to navigation Jump to search
Line 12: Line 12:
|2  || reputationIndex  || Integer  || Each faction that has gainable rep has a unique number. All factions that you can not gain rep with have -1.
|2  || reputationIndex  || Integer  || Each faction that has gainable rep has a unique number. All factions that you can not gain rep with have -1.
|-  
|-  
|3  || reputationRaceMask || BitMask  || <.. Points to another Allied / AtWar ID
|3  || reputationRaceMask1 || BitMask  || Mask of races using field 11 as base reputation
|-  
|-  
|4  || reputationRaceMask || BitMask  || .. Honor Hold has 1101,690 & Thrallmar 690,1101 for example. ..>
|4  || reputationRaceMask2 || BitMask  || Mask of races using field 12 as base reputation
|-  
|-  
|5  || reputationRaceMask || BitMask  || Mask of Alliance races using base reputation with faction from field 13
|5  || reputationRaceMask3 || BitMask  || Mask of races using field 13 as base reputation
|-  
|-  
|6  || reputationRaceMask || BitMask  || Mask of Horde races using base reputation with faction from field 14
|6  || reputationRaceMask4 || BitMask  || Mask of races using field 14 as base reputation
|-  
|-  
|7  || reputationClassMask || BitMask  || (479 = Cenerion Circle; 1503 = Lower City, "Friendly, Hidden", Netherwing; Shatari Skyguards)
|7  || reputationClassMask1 || BitMask  || Mask of classes using field 11 as base reputation
|-  
|-  
|8  || reputationClassMask || BitMask  || (1024 = Cenerion Circle;)
|8  || reputationClassMask2 || BitMask  || Mask of classes using field 12 as base reputation
|-  
|-  
|9  || reputationClassMask || BitMask  || Never set pre 3.* but 0x80 on "Kirin Tor"
|9  || reputationClassMask3 || BitMask  || Mask of classes using field 13 as base reputation
|-  
|-  
|10  || reputationClassMask || BitMask  || Never set pre 3.* but 0x80 on "Kirin Tor"
|10  || reputationClassMask4 || BitMask  || Mask of classes using field 14 as base reputation
|-  
|-  
|11  || reputationBaseAlliance || Integer[4]  || Based on 0 = Neutral; for Alliance races not specified in field5
|11  || reputationBase1 || Integer[4]  || -42000 - 42999 (0 neutral) - used by races specified in mask in fields 3, 7
|-  
|-  
|12  || reputationBaseHorde || Integer[4]  || Based on 0 = Neutral; for Horde races not specified in field6
|12  || reputationBase2 || Integer[4]  || -42000 - 42999 (0 neutral) - used by races specified in mask in fields 4, 8
|-  
|-  
|13  || reputationBaseAllianceSpecial || Integer[4]  || Based on 0 = Neutral; for Alliance races specified in field5
|13  || reputationBase3 || Integer[4]  || -42000 - 42999 (0 neutral) - used by races specified in mask in fields 5, 9
|-  
|-  
|14  || reputationBaseHordeSpecial || Integer[4]  || Based on 0 = Neutral; for Horde races specified in field5
|14  || reputationBase4 || Integer[4]  || -42000 - 42999 (0 neutral) - used by races specified in mask in fields 6, 10
|-  
|-  
|15  || reputationFlags  || Integer[4]  ||
|15  || reputationFlags  || Integer[4]  ||

Revision as of 16:24, 24 May 2015

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.
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.


https://github.com/TrinityCore/TrinityCore/blob/master/src/server/game/Reputation/ReputationMgr.h

   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

};


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];
  stringref m_name_lang;
  stringref m_description_lang;
  uint32_t m_expansion;
  uint32_t m_flags;
  uint32_t m_friendshipRepID;
};