Difference between revisions of "DB/Achievement"

From wowdev
Jump to: navigation, search
m (flags from client, comments from trinity)
 
(29 intermediate revisions by 8 users not shown)
Line 1: Line 1:
Achievement names and descriptions. Referenced from the [[Achievement_Criteria.dbc|criterias]]. This file has been added with WoW 3.0.1.8303
+
__FORCETOC__
  
== 8905 ==
+
Achievement names and descriptions. Referenced from the [[Achievement_Criteria.dbc|criterias]].
 +
 
 +
{{Template:Sandbox/VersionRange|min_expansionlevel=3}}
 +
 
 +
==3.3.5.12340==
 
{| style="background:#FCFCFC; color:black"
 
{| style="background:#FCFCFC; color:black"
 
|-  
 
|-  
Line 11: Line 15:
 
| 1  || ID || Integer ||  
 
| 1  || ID || Integer ||  
 
|-  
 
|-  
| 2  || Unknown || Integer || -1, 0 or 1. Some kind of type?
+
| 2  || Faction || Integer || -1: both, 0: Horde or 1: Alliance
 
|- style="background:#F0F8FF;"
 
|- style="background:#F0F8FF;"
 
| 3 || [[Map.dbc|Map]] || iRefID || Only set if achievement is related to a zone.
 
| 3 || [[Map.dbc|Map]] || iRefID || Only set if achievement is related to a zone.
Line 17: Line 21:
 
| 4  || [[Achievement.dbc|Previous]] || iRefID || If the Achievement belongs to a series, this is the ID of the previous one. 0 otherwise.
 
| 4  || [[Achievement.dbc|Previous]] || iRefID || If the Achievement belongs to a series, this is the ID of the previous one. 0 otherwise.
 
|-  
 
|-  
| 5  || Name || [[Loc]] ||
+
| 5-21 || Name || [[Loc]] ||
 
|-  
 
|-  
| 22 || Description || [[Loc]] || If Description is empty, it's not an Achievement but part of the statistics tab
+
| 22-38 || Description || [[Loc]] || If Description is empty, it's not an Achievement but part of the statistics tab
 
|- style="background:#F0F8FF;"
 
|- style="background:#F0F8FF;"
 
| 39 || [[Achievement_Category.dbc|Category]] || iRefID ||  
 
| 39 || [[Achievement_Category.dbc|Category]] || iRefID ||  
Line 25: Line 29:
 
| 40  || Points || Integer || 0,5,10,15,20,25,30,50
 
| 40  || Points || Integer || 0,5,10,15,20,25,30,50
 
|-  
 
|-  
| 41 || Unknown || Integer || 0-111
+
| 41 || OrderInCategory || Integer || 0-111
 
|-  
 
|-  
| 42 || Unknown || 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?
 
|-  style="background:#F0F8FF;"
 
|-  style="background:#F0F8FF;"
 
| 43  || [[SpellIcon.dbc|SpellIcon]] || iRefID || An icon to display.
 
| 43  || [[SpellIcon.dbc|SpellIcon]] || iRefID || An icon to display.
 
|-  
 
|-  
| 44  || Reward || [[Loc]] ||
+
| 44-60 || Reward || [[Loc]] ||
 
|-  
 
|-  
| 61  || Unknown || Integer ||
+
| 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  || Unknown || Integer ||
+
| 62  || [[Achievement.dbc|LinkedAchievement]] || iRefID|| TrinityCore: "referenced achievement (counting of all completed criterias)"
 
|}
 
|}
  
== 9183 ==
+
==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;
 +
  {{Template:Type/foreign_key|table=Map}} m_instance_id;
 +
  {{Template:Type/foreign_key|table=Achievement}} m_supercedes;
 +
  {{Template:Type|stringref}} m_title_lang;
 +
  {{Template:Type|stringref}} m_description_lang;
 +
  {{Template:Type/foreign_key|table=Achievement_Category}} m_category;
 +
  uint32_t m_points;
 +
  uint32_t m_ui_order;
 +
  uint32_t m_flags;
 +
  {{Template:Type/foreign_key|table=SpellIcon}} m_iconID;
 +
  {{Template:Type|stringref}} m_reward_lang;
 +
  uint32_t m_minimum_criteria;
 +
  {{Template:Type/foreign_key|table=Achievement}} m_shares_criteria;
 +
  uint32_t m_criteria_tree;
 +
};
 +
 
 +
==Flags==
 
{| style="background:#FCFCFC; color:black"
 
{| style="background:#FCFCFC; color:black"
|-  
+
|-
! width="80" | Column
+
! width="80" | Value
! width="180" | Field
+
! width="350" | Description
! width="80" | Type
+
! width="350" | Comment
! width="500" | Notes
+
|-
|-  
+
| 0x000001 || ACHIEVEMENT_FLAG_STATISTIC                || just count statistic (never stop and complete)
| || ID || Integer ||  
+
|-
|-  
+
| 0x000002 || ACHIEVEMENT_FLAG_HIDDEN                    || client side only
| || Unknown || Integer || -1, 0 or 1. Some kind of type?
+
|-
|- style="background:#F0F8FF;"
+
| 0x000004 || ACHIEVEMENT_FLAG_NOTOAST                  || client does not play achievement earned visual
| 3 || [[Map.dbc|Map]] || iRefID || Only set if achievement is related to a zone.
+
|-
|-  
+
| 0x000008 || ACHIEVEMENT_FLAG_CUMULATIVE                || combine criteria from all requirements
| || [[Achievement.dbc|Previous]] || iRefID || If the Achievement belongs to a series, this is the ID of the previous one. 0 otherwise.
+
|-
|-  
+
| 0x000010 || ACHIEVEMENT_FLAG_DISPLAY_HIGHEST          || show max criteria
| || Name || [[Loc]] ||
+
|-
|-  
+
| 0x000020 || ACHIEVEMENT_FLAG_CRITERIA_COUNT            || use non-zero req count
| 25 || Description || [[Loc]] || If Description is empty, it's not an Achievement but part of the statistics tab
+
|-
|- style="background:#F0F8FF;"
+
| 0x000040 || ACHIEVEMENT_FLAG_AVG_PER_DAY              || show as average value (value / time_in_days)
| 39 || [[Achievement_Category.dbc|Category]] || iRefID ||  
+
|-
|-  
+
| 0x000080 || ACHIEVEMENT_FLAG_HAS_PROGRESS_BAR          || show as progress bar (value / max value)
| 40  || Points || Integer || 0,5,10,15,20,25,30,50
+
|-
|-  
+
| 0x000100 || ACHIEVEMENT_FLAG_SERVER_FIRST              ||
| 41 || Unknown || Integer || 0-111
+
|-
|-  
+
| 0x000200 || ACHIEVEMENT_FLAG_SERVER_FIRST_KILL        ||
| 42 || Unknown || 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?
+
|-
|-  style="background:#F0F8FF;"
+
| 0x000400 || ACHIEVEMENT_FLAG_HIDE_NAME_IN_TIE          ||
| 43  || [[SpellIcon.dbc|SpellIcon]] || iRefID || An icon to display.
+
|-
|-  
+
| 0x000800 || ACHIEVEMENT_FLAG_HIDDEN_TILL_AWARDED      || hide from ui if not completed
| 44  || Reward || [[Loc]] ||
+
|-
|-  
+
| 0x001000 || ACHIEVEMENT_FLAG_SHOW_IN_GUILD_NEWS        ||
| 61  || Demands || 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.
+
|-
|-  
+
| 0x002000 || ACHIEVEMENT_FLAG_SHOW_IN_GUILD_HEADER      ||
| 62  || Unknown || Integer ||
+
|-
 +
| 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 ||
 
|}
 
|}
  
-- Tigurus
+
[[Category:DBC]]
 
+
[[Category:DBC_WotLK]]
[[Category:DBC]][[Category:3.0.2.8905]][[Category:3.0.3.9183]]
+
[[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