WoW:Questcache.wdb

From AddOn Studio
Revision as of 08:38, 25 January 2011 by WoWWiki>Angelike (Created page with "{{Stub/Tech}} 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…")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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

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

Structure

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

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

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