WoW:Questcache.wdb

From AddOn Studio
Jump to navigation Jump to search

Questcache.wdb is a file created by World of Warcraft to cache quest data retrieved from its game servers. This file is located in "World of Warcraft\Cache\WDB\enUS\", where enUS is your game locale.

Header[edit]

The header of the file is 24 bytes long. For more information check WDB file.

Structure[edit]

Note: All integers are stored as reversed numbers.

For example 0xC06D0000 ^= 0x00006DC0 ^= 26096

Strings are stored as normal text, but every stringends with a 0 byte.

The main struckture of questcache.wdb can split into 3 parts

1st the questid, stored in a 4 byte integer, 2nd the lenght of the questdata in byte, also a 4 byte integer, 3rd the questdata itself, lenght of the second filed

Questdata[edit]

The questdata has 130 fields, where most of the information are stored about the quest.

not completly filled yet

FieldNr Name Type/Lenght Discription
1 questid integer/4 uniqe quest id
2 quest type integer/4 function unknown, 2 values (0 + 2)
3 questlevel integer/4 the level of the quest
4 accept level integer/4 level the player needs to accept this quest
5 areaid/sortid integer/4 the areaid (worldmapid)
6 infoid integer/4 a link to questinfo.dbc
7 seggestedplayers integer/4 numof players recommend for this quest
8 faction1id integer/4 faction id
9 faction1amount integer/4 you need this rep-status to complete this quest (0 == neutral)
10 faction2id integer/4 faction id
11 faction2amount integer/4 you need this rep-status to complete this quest (0 == neutral)
12 nextquestid integer/4 the questid of the quest after completition this quest
13 expflag integer/4 flag from 0-8 see QuestXP.dbc for values
14 coins integer/4 the amount of (copper) coins player recieves when not at max level
15 coinsmaxlevel integer/4 the amount of (copper) coins player recieves when at maxlevel (dowsn't match exactly)
16 spell1 integer/4 id of a spell which is casted on/will reward the player
17 spell2 integer/4 id of a spell which is casted on/will reward the player
18 integer/4
19 integer/4
20 questitemid integer/4 uniqe id of a questitem, which is joined to this quest
21 questflags bitmask/4 flags of a quest
22 integer/4
23 titleid integer/4 id of a title, which player recieves when finish the quest
24 killplayer integer/4 amount of players to kill for this quest
25 talentpoints integer/4 amount of talent points player recieves when complete this quest
26 integer/4
27 professionid integer/4 id of an profession
28 professionamount integer/4 amount of points player recieves to profession at filed 27, when complete thisquest
29 integer/4
30 integer/4
31 integer/4
32 rewarditem1 integer/4 item id of 1. item player recieves
33 rewarditem1amount integer/4 number of items
34 rewarditem2 integer/4 item id of 2. item player recieves
35 rewarditem2amount integer/4 number of items
36 rewarditem3 integer/4 item id of 3. item player recieves
37 rewarditem3amount integer/4 number of items
38 rewarditem4 integer/4 item id of 4. item player recieves
39 rewarditem4amount integer/4 number of items
40 chooseitem1 integer/4 item id of 1. item player can choose
41 chooseitem1amount integer/4 number of items
42 chooseitem2 integer/4 item id of 2. item player can choose
43 chooseitem2amount integer/4 number of items
44 chooseitem3 integer/4 item id of 3. item player can choose
45 chooseitem3amount integer/4 number of items
46 chooseitem4 integer/4 item id of 4. item player can choose
47 chooseitem4amount integer/4 number of items
48 chooseitem5 integer/4 item id of 5. item player can choose
49 chooseitem5amount integer/4 number of items
50 chooseitem6 integer/4 item id of 6. item player can choose
51 chooseitem6amount integer/4 number of items
52 faction1 integer/4 id of the faction, player recieves reputation
53 faction2 integer/4 id of the faction, player recieves reputation
54 faction3 integer/4 id of the faction, player recieves reputation
55 faction4 integer/4 id of the faction, player recieves reputation
56 faction5 integer/4 id of the faction, player recieves reputation
57 faction1amount integer/4 num of reputation player recieves (note: index from -9 to 9, values are (0 to 9) 0, 10, 25, 75, 150, 250, 350, 500, 1000, 5)
58 faction2amount integer/4 num of reputation player recieves
59 faction3amount integer/4 num of reputation player recieves
60 faction4amount integer/4 num of reputation player recieves
61 faction5amount integer/4 num of reputation player recieves
62 faction1absamount integer/4 absolute amount of points player recieve (value/10)
63 faction2absamount integer/4 absolute amount of points player recieve (value/10)
64 faction3absamount integer/4 absolute amount of points player recieve (value/10)
65 faction4absamount integer/4 absolute amount of points player recieve (value/10)
66 faction5absamount integer/4 absolute amount of points player recieve (value/10)
67 mapid integer/4 mapid of ingame map ( not worldmap id)
68 integer/4
69 integer/4
70 integer/4
71 questname string/flexible the name of the quest
72 shortobjective string/flexible the short objective discription of this quest
73 questtext string/flexible the full quest text
74 objective event string/flexible objective text if quest is an event, otherwise empty
75 completetext string/flexible objective textwhen complete all objectives
76 objectivenpc1 integer/4 npcid to interact (kill/talk ...)
77 objectivenpc1Amount integer/4 number of interactions
78 questreagent1 integer/4 itemid of a reagent which is needed for this quest (not the to collected item)
79 questreagent1amount integer/4 max num of items that can be collected
80 objectivenpc2 integer/4 npcid to interact (kill/talk ...)
81 objectivenpc2Amount integer/4 number of interactions
82 questreagent2 integer/4 itemid of a reagent which is needed for this quest (not the to collected item)
83 questreagent2amount integer/4 max num of items that can be collected
84 objectivenpc3 integer/4 npcid to interact (kill/talk ...)
85 objectivenpc3Amount integer/4 number of interactions
86 questreagent3 integer/4 itemid of a reagent which is needed for this quest (not the to collected item)
87 questreagent3amount integer/4 max num of items that can be collected
88 objectivenpc4 integer/4 npcid to interact (kill/talk ...)
89 objectivenpc4Amount integer/4 number of interactions
90 questreagent4 integer/4 itemid of a reagent which is needed for this quest (not the to collected item)
91 questreagent4amount integer/4 max num of items that can be collected
92 collectItem1 integer/4 itemid for item to collect
93 collectItem1amount integer/4 number of items to collect
94 collectItem2 integer/4 itemid for item to collect
95 collectItem2amount integer/4 number of items to collect
96 collectItem3 integer/4 itemid for item to collect
97 collectItem3amount integer/4 number of items to collect
98 collectItem4 integer/4 itemid for item to collect
99 collectItem4amount integer/4 number of items to collect
100 collectItem5 integer/4 itemid for item to collect
101 collectItem5amount integer/4 number of items to collect
102 collectItem6 integer/4 itemid for item to collect
103 collectItem6amount integer/4 number of items to collect
104 unknown spellid integer/4 a spellid ( learn / use )?
105 objective1text string/flexible text for objective 1
106 objective2text string/flexible text for objective 2
107 objective3text string/flexible text for objective 3
108 objective4text string/flexible text for objective 4
109 rewardcurrency1 integer/4
110 rewardcurrency1amount integer/4
111 rewardcurrency2 integer/4
112 rewardcurrency2amount integer/4
113 rewardcurrency3 integer/4
114 rewardcurrency3amount integer/4
115 rewardcurrency4 integer/4 unsure for rewardcurrency 4-8, because they are evertime 0
116 rewardcurrency4amount integer/4
117 rewardcurrency5 integer/4
118 rewardcurrency5amount integer/4
119 rewardcurrency6 integer/4
120 rewardcurrency6amount integer/4
121 rewardcurrency7 integer/4
122 rewardcurrency7amount integer/4
123 rewardcurrency8 integer/4
124 rewardcurrency8amount integer/4
125 hinttext1 string/flexible a hint text about a npc
126 hintnpc1 string/flexible the npc for the hint text
127 hinttext2 string/flexible a hint text about a npc
128 hintnpc2 string/flexible the npc for the hint text
129 signature1? integer/4
130 signature2? integer/4

EOF[edit]

Questcache.wdb ends like all WDB files with 8 times \x00.