Skip to content
coldpasta123 edited this page Oct 11, 2024 · 11 revisions

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.

Bitmask values

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).

Races

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)

Classes

Class Value
Warrior 1
Paladin 2
Hunter 4
Rogue 8
Priest 16
Death Knight 32
Shaman 64
Mage 128
Warlock 256
Druid 1024

Reputation levels

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.

Quest Tags

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",