-
Notifications
You must be signed in to change notification settings - Fork 297
Database
There are four major databases files (per expansion) which contain most of the data Questie requires in the Database/<Expansion>
directories. These are:
For all of these databases there are tables with some comments at the top of the file which explain the fields and the data they contain. For example you can find the quest database keys in a table named QuestieDB.questKeys
. The keys used are the same across expansions.
These keys should also be used in the form of e.g. questKeys.name
when doing Corrections.
The data in the base files is accumulated from various sources and expansion specific. To keep our changes separate they are kept in the Database/Corrections
directory. This data is then loaded according to what expansion of WoW is being used.
Meaning for example on TBC Questie would load the base data from Database/TBC
, then apply corrections for Classic and TBC, in that order, from the files in Database/Corrections
.
On WotLK Questie would load the base data from Database/Wotlk
, then apply corrections for Classic, TBC, and WotLK.
This also implies that the source code does not contain an accurate representation of the data that will be used in the game for any given expansion. The easiest way to see which data will be used by Questie after all corrections are applied is to open the game in your desired expansion, enable debugging in Questie's advanced options tab, then open the Journey window (from minimap button or options window) and looking up a npc/object/quest/item in the search tab. The full raw data will be displayed at the bottom of the details page once a search result is selected.
Questie stores some information as binary values. These are normal integers where each digit of its binary representation is used to indicate a flag/value/option being turned on or off, depending on the digit being 1 or 0. The following tables translate the values which you can find in the questDB.lua for example. Combinations of those bitmasks are calcualted via a disjunction (you can use this JSFiddle for testing combinations).
You can use the QuestieDB.raceKeys
to work with these values.
Race | Value |
---|---|
Human | 1 |
Orc | 2 |
Dwarf | 4 |
Nightelf | 8 |
Undead | 16 |
Tauren | 32 |
Gnome | 64 |
Troll | 128 |
Blood Elf | 512 |
Draenei | 1024 |
Worgen | 2097152 |
Alliance (Classic) | 77 |
Alliance (TBC/Wrath) | 1101 |
Alliance (Cata) | 2098253 |
Horde (Classic) | 178 |
Horde (TBC/Wrath) | 690 |
Horde (Cata) | 946 |
All | 255 (2047 for TBC) |
Class | Value |
---|---|
Warrior | 1 |
Paladin | 2 |
Hunter | 4 |
Rogue | 8 |
Priest | 16 |
Death Knight | 32 |
Shaman | 64 |
Mage | 128 |
Warlock | 256 |
Druid | 1024 |
The table below shows the reputation values required for each standing you can get ingame. And here are some more information about FactionIDs and StandingIDs.
Standing Label | Min | Max | Standing ID |
---|---|---|---|
Hated | -42000 | -6000 | 1 |
Hostile | -5999 | -3000 | 2 |
Unfriendly | -2999 | -1 | 3 |
Neutral | 0 | 2999 | 4 |
Friendly | 3000 | 8999 | 5 |
Honored | 9000 | 20999 | 6 |
Revered | 21000 | 41999 | 7 |
Exalted | 42000 | 42999 | 8 |
For example, if a quest is not available after Honored, the database will show a max rep of 21000.
If a quest has the wrong tag. Available tags for questTagCorrections in QuestieDB.lua.
- [0] = "",
-- default
- [1] = "Group",
- [41] = "PvP",
- [62] = "Raid",
- [81] = "Dungeon",
- [83] = "Legendary",