Achievement Criteria

Back-to:DBC

Achievement_Criteria.dbc

This DBC has been added with WoW 3.0.1.8303 and contains the needed criteria to obtain an achievement.

Version is : 3.3.5a

Structure

Column

FieldTypeNotes
1IDIntegerCriteria ID
2AchievementiRefIDReference to the achievement this criteria is needed for.
3TypeIntegerWhich type is this criteria? This defines the rows below. See below.
4asset_idIntegerMain requirement
5QuantityIntegerMain requirement count
6start_eventIntegeradditional requirement 1 type
7start_assetIntegeradditional requirement 1 value
8fail_eventIntegeradditional requirement 2 type
9fail_assetIntegeradditional requirement 2 value
10-25DescriptionLocCriteria description.
26? Mostly 16712190, but not always
27FlagsIntegerdisplay flags: 1: shows progress bar (other flags I don't know)
28timer_start_eventInteger 
29timer_asset_idInteger 
30timer_timeIntegerComplete quest in %i seconds.
31ui_orderInteger 

Description of the fields

This describes rows 3 to 9 by type (row 2). There may be more types. Unlisted fields are zero.

This information is retrieved from DBCStructure.h.


KILL_CREATURE = 0

Also used for player deaths..

ColumnFieldType
4creatureIDInteger
5killCountInteger


WIN_BG = 1

There are further criterias instead just winning

ColumnFieldType
4MapiRefID
5winCountInteger


REACH_LEVEL = 5

ColumnFieldType
4unusedInteger
5levelInteger


REACH_SKILL_LEVEL = 7

ColumnFieldTypeNotes
4skillIDiRefIDSkillLine.dbc or what?
5skillLevelInteger 


COMPLETE_ACHIEVEMENT = 8

ColumnFieldType
4AchievementiRefID


COMPLETE_QUEST_COUNT = 9

ColumnFieldType
4unusedInteger
5totalQuestCountInteger


COMPLETE_DAILY_QUEST_DAILY = 10

ColumnFieldType
4unusedInteger
5numberOfDaysInteger


COMPLETE_QUESTS_IN_ZONE = 11

ColumnFieldType
4zoneIDInteger
5questCountInteger


DAMAGE_DONE = 13


COMPLETE_DAILY_QUEST = 14

ColumnFieldType
4unusedInteger
5questCountInteger


COMPLETE_BATTLEGROUND = 15

 

DEATH_AT_MAP = 16

ColumnFieldType
4MapiRefID


DEATH_IN_DUNGEON = 18

ColumnFieldType
4manLimitInteger


COMPLETE_RAID = 19

ColumnFieldTypeNotes
4groupSizeIntegercan be 5, 10 or 25


KILLED_BY_CREATURE = 20

ColumnFieldType
4creatureEntryInteger


FALL_WITHOUT_DYING = 24

ColumnFieldType
4unusedInteger
5fallHeightInteger


DEATHS_FROM = 26

ColumnFieldType
4EnvironmentalDamageiRefID


COMPLETE_QUEST = 27

ColumnFieldType
4questIDInteger
5questCountInteger


BE_SPELL_TARGET = 28

 

BE_SPELL_TARGET2 = 69

ColumnFieldType
4SpelliRefID
5spellCountInteger 


CAST_SPELL = 29

 

CAST_SPELL2 = 110

ColumnFieldType
4SpelliRefID
5castCountInteger


BG_OBJECTIVE_CAPTURE = 30

ColumnFieldTypeNotes
4unknowInteger// value 42 = capture the flag
5count(?)Integer// how many captures required


HONORABLE_KILL_AT_AREA = 31

ColumnFieldType
4AreaiRefID
5killCountInteger


WIN_ARENA = 32

 

PLAY_ARENA = 33

ColumnFieldType
4MapiRefID


LEARN_SPELL = 34

ColumnFieldType
4SpelliRefID


OWN_ITEM = 36


WIN_RATED_ARENA = 37

ColumnFieldTypeNotes
4unusedInteger 
5countInteger 
6flagInteger4=in a row


HIGHEST_TEAM_RATING = 38

ColumnFieldTypeNotes
4teamtypeInteger{2,3,5}


REACH_TEAM_RATING = 39

ColumnFieldTypeNotes
4teamtypeInteger{2,3,5}
5teamratingInteger 


LEARN_SKILL_LEVEL = 40

ColumnFieldTypeNotes
4skillIDiRefIDSkillLine.dbc or what?
5skillLevelIntegerapprentice=1, journeyman=2, expert=3, artisan=4, master=5, grand master=6

USE_ITEM = 41

 

LOOT_ITEM = 42

 

EXPLORE_AREA = 43

This areaReference is NOT the index from AreaTable.dbc. It's from WorldMapOverlay.dbc.

ColumnFieldType
4areaReferenceInteger

 

OWN_RANK = 44

This rank is NOT the index from CharTitles.dbc

ColumnFieldType
4rankInteger

 

BUY_BANK_SLOT = 45

ColumnFieldType
4unusedInteger
5numberOfSlotsInteger

 

GAIN_REPUTATION = 46

ColumnFieldTypeNotes
4FactioniRefID 
5reputationAmountIntegerTotal reputation amount, so 42000 = exalted

 

GAIN_EXALTED_REPUTATION= 47

ColumnFieldType
4unusedInteger
5numberOfExaltedFactionsInteger

 

VISIT_BARBER_SHOP = 48

ColumnFieldType
4unusedInteger
5numberOfVisitsInteger

 

EQUIP_EPIC_ITEM = 49

Where is the required itemlevel stored?

ColumnFieldType
4itemSlotInteger

 

ROLL_NEED_ON_LOOT = 50

 

ROLL_GREED_ON_LOOT = 51

ColumnFieldType
4rollValueInteger
5countInteger

 

HK_CLASS = 52

ColumnFieldType
4ClassiRefID
5countInteger

 

HK_RACE = 53

ColumnFieldType
4RaceiRefID
5countInteger

 

DO_EMOTE = 54

where is the information about the target stored?

ColumnFieldTypeNotes
4EmoteiRefID 
5countIntegercount of emotes, always required special target or requirements

 

HEALING_DONE = 55

 

GET_KILLING_BLOWS = 56

ColumnFieldTypeNotes
4unusedInteger 
5countInteger 
6flagInteger3 for battleground healing
7MapiRefID 

 

EQUIP_ITEM = 57

ColumnFieldType
4ItemiRefID
5itemCountInteger

 

MONEY_FROM_QUEST_REWARD= 62

 

LOOT_MONEY = 67

ColumnFieldType
4unusedInteger
5goldInCopperInteger

 

USE_GAMEOBJECT = 68

ColumnFieldType
4goEntryInteger
5useCountInteger

 

SPECIAL_PVP_KILL = 70

Are those special criteria stored in the dbc?

ColumnFieldType
4unusedInteger
5killCountInteger

 

FISH_IN_GAMEOBJECT = 72

ColumnFieldType
4goEntryInteger
5lootCountInteger

 

LEARN_SKILLLINE_SPELLS = 75

ColumnFieldType
4SkillLineiRefID
5spellCountInteger

 

WIN_DUEL = 76

ColumnFieldType
4unusedInteger
5duelCountInteger

 

HIGHEST_POWER = 96

ColumnFieldTypeNotes
4powerTypeInteger0=mana, 1=rage, 3=energy, 6=runic power

 

HIGHEST_STAT = 97

ColumnFieldTypeNotes
4statTypeInteger4=spirit, 3=int, 2=stamina, 1=agi, 0=strength

 

HIGHEST_SPELLPOWER = 98

ColumnFieldTypeNotes
4spellSchooliRefIDSkillLine or Resistances ?

 

HIGHEST_RATING = 100

ColumnFieldType
4ratingTypeInteger

 

LOOT_TYPE = 109

ColumnFieldTypeNotes
4lootTypeInteger3=fishing, 2=pickpocket, 4=disentchant
5lootTypeCountInteger 

 

LEARN_SKILL_LINE = 112

ColumnFieldType
4SkillLineiRefID
5spellCountInteger

 

EARN_HONORABLE_KILL = 113

ColumnFieldType
4unusedInteger
5killCountInteger

 

ACCEPTED_SUMMONS = 114

ColumnFieldType
4unusedInteger
5Here comes a 1 in, because it's a StatisticInteger

 

ACHIVEMENTPOINTS_REACHED = 115

ColumnFieldType
4unusedInteger
5unusedInteger

//This thing really confuses me... Maybe it is only used for "Over Ninethousand", because nowhere AchPoints are Specified

 

RANDOM_DUNGEON_PLAYERCOUNT = 119

ColumnFieldType
4unusedInteger
5PlayerCountInteger