DB/Achievement
Jump to navigation
Jump to search
Achievement names and descriptions. Referenced from the criterias.
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 |