Difference between revisions of "DB/Achievement"

From wowdev
Jump to: navigation, search
(3.3.5.12340)
m (flags from client, comments from trinity)
 
Line 80: Line 80:
 
   uint32_t m_criteria_tree;
 
   uint32_t m_criteria_tree;
 
  };
 
  };
 +
 +
==Flags==
 +
{| style="background:#FCFCFC; color:black"
 +
|-
 +
! width="80" | Value
 +
! width="350" | Description
 +
! width="350" | Comment
 +
|-
 +
| 0x000001 || ACHIEVEMENT_FLAG_STATISTIC                || just count statistic (never stop and complete)
 +
|-
 +
| 0x000002 || ACHIEVEMENT_FLAG_HIDDEN                    || client side only
 +
|-
 +
| 0x000004 || ACHIEVEMENT_FLAG_NOTOAST                  || client does not play achievement earned visual
 +
|-
 +
| 0x000008 || ACHIEVEMENT_FLAG_CUMULATIVE                || combine criteria from all requirements
 +
|-
 +
| 0x000010 || ACHIEVEMENT_FLAG_DISPLAY_HIGHEST          || show max criteria
 +
|-
 +
| 0x000020 || ACHIEVEMENT_FLAG_CRITERIA_COUNT            || use non-zero req count
 +
|-
 +
| 0x000040 || ACHIEVEMENT_FLAG_AVG_PER_DAY              || show as average value (value / time_in_days)
 +
|-
 +
| 0x000080 || ACHIEVEMENT_FLAG_HAS_PROGRESS_BAR          || show as progress bar (value / max value)
 +
|-
 +
| 0x000100 || ACHIEVEMENT_FLAG_SERVER_FIRST              ||
 +
|-
 +
| 0x000200 || ACHIEVEMENT_FLAG_SERVER_FIRST_KILL        ||
 +
|-
 +
| 0x000400 || ACHIEVEMENT_FLAG_HIDE_NAME_IN_TIE          ||
 +
|-
 +
| 0x000800 || ACHIEVEMENT_FLAG_HIDDEN_TILL_AWARDED      || hide from ui if not completed
 +
|-
 +
| 0x001000 || ACHIEVEMENT_FLAG_SHOW_IN_GUILD_NEWS        ||
 +
|-
 +
| 0x002000 || ACHIEVEMENT_FLAG_SHOW_IN_GUILD_HEADER      ||
 +
|-
 +
| 0x004000 || ACHIEVEMENT_FLAG_GUILD                    ||
 +
|-
 +
| 0x008000 || ACHIEVEMENT_FLAG_SHOW_GUILD_MEMBERS        ||
 +
|-
 +
| 0x010000 || ACHIEVEMENT_FLAG_SHOW_CRITERIA_MEMBERS    ||
 +
|-
 +
| 0x020000 || ACHIEVEMENT_FLAG_ACCOUNT_BOUND            ||
 +
|-
 +
| 0x080000 || ACHIEVEMENT_FLAG_HIDE_ZERO_COUNTER        || statistics are hidden from ui if no criteria value exists
 +
|-
 +
| 0x100000 || ACHIEVEMENT_FLAG_TRACK_LOCAL_UNTIL_AWARDED ||
 +
|}
  
 
[[Category:DBC]]
 
[[Category:DBC]]
 
[[Category:DBC_WotLK]]
 
[[Category:DBC_WotLK]]
 
[[Category:DBC_WoD]]
 
[[Category:DBC_WoD]]

Latest revision as of 10:14, 16 April 2019


Achievement names and descriptions. Referenced from the criterias.

≥ Wrath

3.3.5.12340

Column Field Type Notes
1 ID Integer
2 Faction Integer -1: both, 0: Horde or 1: Alliance
3 Map iRefID Only set if achievement is related to a zone.
4 Previous iRefID If the Achievement belongs to a series, this is the ID of the previous one. 0 otherwise.
5-21 Name Loc
22-38 Description Loc If Description is empty, it's not an Achievement but part of the statistics tab
39 Category iRefID
40 Points Integer 0,5,10,15,20,25,30,50
41 OrderInCategory Integer 0-111
42 Flags Integer 0-768, if it's 256 only one person per Realm can reach that achievement and if it's 768 it's only reachable for one raid per realm. Perhaps a second category?
43 SpellIcon iRefID An icon to display.
44-60 Reward Loc
61 MinCriteriaDemandend Integer Number of things you have to get/fulfill to get this Achievement. For example if you have to get 25 tabards, there is a 25. TrinityCore: "need this count of completed criterias (own or referenced achievement criterias)"
62 LinkedAchievement iRefID TrinityCore: "referenced achievement (counting of all completed criterias)"

4.0.x.?????

struct AchievementEntry // sizeof(0x38)
{
   m_ID; // +0x0, size 0x4, type 0
   m_faction; // +0x4, size 0x4, type 0
   m_instance_id; // +0x8, size 0x4, type 0
   m_supercedes; // +0xC, size 0x4, type 0
   m_title_lang; // +0x10, size 0x4, type 2
   m_description_lang; // +0x14, size 0x4, type 2
   m_category; // +0x18, size 0x4, type 0
   m_points; // +0x1C, size 0x4, type 0
   m_ui_order; // +0x20, size 0x4, type 0
   m_flags; // +0x24, size 0x4, type 0
   m_iconID; // +0x28, size 0x4, type 0
   m_reward_lang; // +0x2C, size 0x4, type 2
   m_minimum_criteria; // +0x30, size 0x4, type 0
   m_shares_criteria; // +0x34, size 0x4, type 0
};

- TOM_RUS

6.0.1.18179

struct AchievementRec {
  uint32_t m_ID;
  uint32_t m_faction;
  foreign_key<uint32_t, &MapRec::m_ID> m_instance_id;
  foreign_key<uint32_t, &AchievementRec::m_ID> m_supercedes;
  stringref m_title_lang;
  stringref m_description_lang;
  foreign_key<uint32_t, &Achievement_CategoryRec::m_ID> m_category;
  uint32_t m_points;
  uint32_t m_ui_order;
  uint32_t m_flags;
  foreign_key<uint32_t, &SpellIconRec::m_ID> m_iconID;
  stringref m_reward_lang;
  uint32_t m_minimum_criteria;
  foreign_key<uint32_t, &AchievementRec::m_ID> m_shares_criteria;
  uint32_t m_criteria_tree;
};

Flags

Value Description Comment
0x000001 ACHIEVEMENT_FLAG_STATISTIC just count statistic (never stop and complete)
0x000002 ACHIEVEMENT_FLAG_HIDDEN client side only
0x000004 ACHIEVEMENT_FLAG_NOTOAST client does not play achievement earned visual
0x000008 ACHIEVEMENT_FLAG_CUMULATIVE combine criteria from all requirements
0x000010 ACHIEVEMENT_FLAG_DISPLAY_HIGHEST show max criteria
0x000020 ACHIEVEMENT_FLAG_CRITERIA_COUNT use non-zero req count
0x000040 ACHIEVEMENT_FLAG_AVG_PER_DAY show as average value (value / time_in_days)
0x000080 ACHIEVEMENT_FLAG_HAS_PROGRESS_BAR show as progress bar (value / max value)
0x000100 ACHIEVEMENT_FLAG_SERVER_FIRST
0x000200 ACHIEVEMENT_FLAG_SERVER_FIRST_KILL
0x000400 ACHIEVEMENT_FLAG_HIDE_NAME_IN_TIE
0x000800 ACHIEVEMENT_FLAG_HIDDEN_TILL_AWARDED hide from ui if not completed
0x001000 ACHIEVEMENT_FLAG_SHOW_IN_GUILD_NEWS
0x002000 ACHIEVEMENT_FLAG_SHOW_IN_GUILD_HEADER
0x004000 ACHIEVEMENT_FLAG_GUILD
0x008000 ACHIEVEMENT_FLAG_SHOW_GUILD_MEMBERS
0x010000 ACHIEVEMENT_FLAG_SHOW_CRITERIA_MEMBERS
0x020000 ACHIEVEMENT_FLAG_ACCOUNT_BOUND
0x080000 ACHIEVEMENT_FLAG_HIDE_ZERO_COUNTER statistics are hidden from ui if no criteria value exists
0x100000 ACHIEVEMENT_FLAG_TRACK_LOCAL_UNTIL_AWARDED