-
Notifications
You must be signed in to change notification settings - Fork 4
Database Structure
老虎会游泳 edited this page May 28, 2021
·
5 revisions
(copied from Questie wiki and edited)
ClassicCodex stores some information as binary values for some (unknown/historical) reason. The following tables translate the values which you can find in the database.lua for example. Combinations of those bitmasks are calcualted via a disjunction (you can use this JSFiddle for testing combinations).
Race | Value | Comment |
---|---|---|
Human | 1 | |
Orc | 2 | |
Dwarf | 4 | |
Nightelf | 8 | |
Undead | 16 | |
Tauren | 32 | |
Gnome | 64 | |
Troll | 128 | |
BloodElf | 512 | |
Draenei | 1024 | |
Alliance | 1101 | =1+4+8+64+1024 |
Horde | 690 | =2+16+32+128+512 |
All | 1791 | =1+2+4+...+1024 |
Class | Value |
---|---|
Warrior | 1 |
Paladin | 2 |
Hunter | 4 |
Rogue | 8 |
Priest | 16 |
Shaman | 64 |
Mage | 128 |
Warlock | 256 |
Druid | 1024 |
CodexDB["quests"]["data"]={
[questId] = {
["start"] = { -- to get the quest
["O"] = {objectId, ...},
["U"] = {unitId, ...},
},
["end"] = { -- to turnin the quest
["O"] = {objectId, ...},
["U"] = {unitId, ...},
},
["obj"] = { -- the quest target
["I"] = {itemId, ...},
["O"] = {objectId, ...},
["U"] = {unitId, ...},
},
-- pre/next quest ids
-- Need to complete one of these quests to pick up the quest
["pre"] = preQuestId or {preQuestId1, preQuestId2, ...},
-- Need to complete all these quests to pick up the quest
["preg"] = {preQuestId1, preQuestId2, ...},
-- if this quest is active/finished, the current quest is not available anymore
["next"] = nextQuestId,
-- Quest ids that are mutually exclusive with the quest.
-- Once you have completed one of these quests, you will not be able to
-- pick up the quest.
["excl"] = {exclusiveQuestId, ...},
-- The level of the quest required
["lvl"] = questLevel,
["min"] = questMinLevel,
-- Conditions for taking the quest
["class"] = playerClassMask,
["race"] = playerRaceMask,
["skill"] = requiredSkillId or {["id"]=requiredSkillId, ["min"]=minSkillValue},
["repu"] = {["id"]=requiredReputationFactionId, ["min"]=minReputationValue},
-- Hide the quest because it can't be picked up at the current stage
["hide"] = true,
},
...
}
Each field may not exist. For example, hide
may not exist to indicate that the quest should not be hidden.
Variate | Value Type |
---|---|
xxxId
|
int |
xxxLevel
|
int |
xxxValue
|
int |
xxxMask
|
int, bitmask values |
CodexDB["units"]["data"]={
[unitId] = {
["coords"]={
[1] = {x, y, zone, respawn},
[2] = {...},
...
},
["fac"]="AH", -- optional, "A", "H" or "AH"
["lvl"]="24-25", -- example: "25" or "24-26"
["rnk"]="4",
},
...
}
Variate | Value Type |
---|---|
xxxId
|
int |
x |
float |
y |
float |
zone |
int |
respawn |
int, seconds |