DB/Faction: Difference between revisions

From wowdev
Jump to navigation Jump to search
(Added current rep flags & fixed up page some.)
Line 101: Line 101:
| 32 || Peaceful || 0x0010 || 6 - Cannot set the at-war flag with this faction.
| 32 || Peaceful || 0x0010 || 6 - Cannot set the at-war flag with this faction.
|-
|-
| 64 || Inactive || 0x0020 || 7 || Player-controlled (CMSG_SET_FACTION_INACTIVE).
| 64 || Inactive || 0x0020 || 7 - Player-controlled (CMSG_SET_FACTION_INACTIVE).
|-
|-
| 128 || ShowPropagated || 0x0040 || 8 - Unknown. Possibly related to children's factions of parents.
| 128 || ShowPropagated || 0x0040 || 8 - Unknown. Possibly related to children's factions of parents.

Revision as of 08:03, 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
1 None 0x0000 1 - No faction flag.
2 Visible 0x0001 2 -  Makes visible in client (set or can be set at interaction with target of this faction).
4 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.
8 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).
16 Header 0x0008 5 - Display as header in UI.
32 Peaceful 0x0010 6 - Cannot set the at-war flag with this faction.
64 Inactive 0x0020 7 - Player-controlled (CMSG_SET_FACTION_INACTIVE).
128 ShowPropagated 0x0040 8 - Unknown. Possibly related to children's factions of parents.
256 HeaderShowsBar 0x0080 9 - Header has its own reputation bar.
512 CapitalCityForRaceChange 0x0100 10 - Unknown. Likely the respective capital city to send a player after a race or faction change.
1,024 Guild 0x0200 11 - Unknown. Possibly related to guild perks (and guild titles previously).
2,048 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;
};