The `achievement_dbc` table
This table has the same columns as Achievement.dbc. The core loads it after the DBC file: a row adds an achievement that is not in Achievement.dbc, or replaces the achievement with the same ID.
The core reads every column in order, so a row must have a value for all of them, even the columns the core does not use. An empty text column keeps the text from the DBC file.
Table Structure
| Field | Type | Attributes | Key | Null | Default | Extra | Comment |
|---|---|---|---|---|---|---|---|
| ID | INT | PRI | NO | 0 | |||
| Faction | INT | NO | 0 | ||||
| Instance_Id | INT | NO | 0 | ||||
| Supercedes | INT | NO | 0 | ||||
| Title_Lang_enUS | VARCHAR(100) | YES | NULL | ||||
| Title_Lang_enGB | VARCHAR(100) | YES | NULL | ||||
| Title_Lang_koKR | VARCHAR(100) | YES | NULL | ||||
| Title_Lang_frFR | VARCHAR(100) | YES | NULL | ||||
| Title_Lang_deDE | VARCHAR(100) | YES | NULL | ||||
| Title_Lang_enCN | VARCHAR(100) | YES | NULL | ||||
| Title_Lang_zhCN | VARCHAR(100) | YES | NULL | ||||
| Title_Lang_enTW | VARCHAR(100) | YES | NULL | ||||
| Title_Lang_zhTW | VARCHAR(100) | YES | NULL | ||||
| Title_Lang_esES | VARCHAR(100) | YES | NULL | ||||
| Title_Lang_esMX | VARCHAR(100) | YES | NULL | ||||
| Title_Lang_ruRU | VARCHAR(100) | YES | NULL | ||||
| Title_Lang_ptPT | VARCHAR(100) | YES | NULL | ||||
| Title_Lang_ptBR | VARCHAR(100) | YES | NULL | ||||
| Title_Lang_itIT | VARCHAR(100) | YES | NULL | ||||
| Title_Lang_Unk | VARCHAR(100) | YES | NULL | ||||
| Title_Lang_Mask | INT | UNSIGNED | NO | 0 | |||
| Description_Lang_enUS | VARCHAR(200) | YES | NULL | ||||
| Description_Lang_enGB | VARCHAR(200) | YES | NULL | ||||
| Description_Lang_koKR | VARCHAR(200) | YES | NULL | ||||
| Description_Lang_frFR | VARCHAR(200) | YES | NULL | ||||
| Description_Lang_deDE | VARCHAR(200) | YES | NULL | ||||
| Description_Lang_enCN | VARCHAR(200) | YES | NULL | ||||
| Description_Lang_zhCN | VARCHAR(200) | YES | NULL | ||||
| Description_Lang_enTW | VARCHAR(200) | YES | NULL | ||||
| Description_Lang_zhTW | VARCHAR(200) | YES | NULL | ||||
| Description_Lang_esES | VARCHAR(200) | YES | NULL | ||||
| Description_Lang_esMX | VARCHAR(200) | YES | NULL | ||||
| Description_Lang_ruRU | VARCHAR(200) | YES | NULL | ||||
| Description_Lang_ptPT | VARCHAR(200) | YES | NULL | ||||
| Description_Lang_ptBR | VARCHAR(200) | YES | NULL | ||||
| Description_Lang_itIT | VARCHAR(200) | YES | NULL | ||||
| Description_Lang_Unk | VARCHAR(100) | YES | NULL | ||||
| Description_Lang_Mask | INT | UNSIGNED | NO | 0 | |||
| Category | INT | NO | 0 | ||||
| Points | INT | NO | 0 | ||||
| Ui_Order | INT | NO | 0 | ||||
| Flags | INT | NO | 0 | ||||
| IconID | INT | NO | 0 | ||||
| Reward_Lang_enUS | VARCHAR(100) | YES | NULL | ||||
| Reward_Lang_enGB | VARCHAR(100) | YES | NULL | ||||
| Reward_Lang_koKR | VARCHAR(100) | YES | NULL | ||||
| Reward_Lang_frFR | VARCHAR(100) | YES | NULL | ||||
| Reward_Lang_deDE | VARCHAR(100) | YES | NULL | ||||
| Reward_Lang_enCN | VARCHAR(100) | YES | NULL | ||||
| Reward_Lang_zhCN | VARCHAR(100) | YES | NULL | ||||
| Reward_Lang_enTW | VARCHAR(100) | YES | NULL | ||||
| Reward_Lang_zhTW | VARCHAR(100) | YES | NULL | ||||
| Reward_Lang_esES | VARCHAR(100) | YES | NULL | ||||
| Reward_Lang_esMX | VARCHAR(100) | YES | NULL | ||||
| Reward_Lang_ruRU | VARCHAR(100) | YES | NULL | ||||
| Reward_Lang_ptPT | VARCHAR(100) | YES | NULL | ||||
| Reward_Lang_ptBR | VARCHAR(100) | YES | NULL | ||||
| Reward_Lang_itIT | VARCHAR(100) | YES | NULL | ||||
| Reward_Lang_Unk | VARCHAR(100) | YES | NULL | ||||
| Reward_Lang_Mask | INT | UNSIGNED | NO | 0 | |||
| Minimum_Criteria | INT | NO | 0 | ||||
| Shares_Criteria | INT | NO | 0 |
Description of the fields
The ID of the achievement. Achievement_Criteria.dbc links criteria to it.
| Value | Faction |
|---|---|
| -1 | Both |
| 0 | Horde |
| 1 | Alliance |
Map ID the player must be on for the criteria to update. -1 if not set.
ID of the achievement this one follows in a series. Not used by the core.
Title_Lang_enUS to Title_Lang_Unk, one column per client locale, and Title_Lang_Mask. The name of the achievement. The mask is not used by the core.
Description_Lang_enUS to Description_Lang_Unk and Description_Lang_Mask. The description of the achievement. Not used by the core.
ID from Achievement_Category.dbc of the category the achievement is listed under.
Achievement points awarded for completing the achievement. Has no use serverside.
Position of the achievement in its category. Not used by the core.
| Name | Value | Comment |
|---|---|---|
| ACHIEVEMENT_FLAG_COUNTER | 0x00000001 | Just count statistic (never stop and complete) |
| ACHIEVEMENT_FLAG_HIDDEN | 0x00000002 | Not sent to client - internal use only |
| ACHIEVEMENT_FLAG_STORE_MAX_VALUE | 0x00000004 | Store only max value? used only in "Reach level xx" |
| ACHIEVEMENT_FLAG_SUMM | 0x00000008 | Use summ criteria value from all reqirements (and calculate max value) |
| ACHIEVEMENT_FLAG_MAX_USED | 0x00000010 | Show max criteria (and calculate max value ??) |
| ACHIEVEMENT_FLAG_REQ_COUNT | 0x00000020 | Use not zero req count (and calculate max value) |
| ACHIEVEMENT_FLAG_AVERAGE | 0x00000040 | Show as average value (value / time_in_days) depend from other flag (by def use last criteria value) |
| ACHIEVEMENT_FLAG_BAR | 0x00000080 | Show as progress bar (value / max vale) depend from other flag (by def use last criteria value) |
| ACHIEVEMENT_FLAG_REALM_FIRST_REACH | 0x00000100 | |
| ACHIEVEMENT_FLAG_REALM_FIRST_KILL | 0x00000200 |
ID from SpellIcon.dbc of the achievement's icon. Not used by the core.
Reward_Lang_enUS to Reward_Lang_Unk and Reward_Lang_Mask. The reward text, for example "Reward: Title - Explorer". Not used by the core.
Number of criteria that must be completed to earn the achievement. 0 means all criteria.
ID of another achievement whose criteria this achievement uses. 0 if the achievement has its own criteria.