Back to 'quest_request_items_locale' Return to world Go to 'quest_template_addon'
Contains all basic definitions of available quests.
Field | Type | Attributes | Key | Null | Default | Extra | Comment |
---|---|---|---|---|---|---|---|
ID | int | unsigned | PRI | NO | 0 | ||
QuestType | tinyint | unsigned | NO | 2 | |||
QuestLevel | smallint | signed | NO | 1 | |||
MinLevel | tinyint | unsigned | NO | 0 | |||
QuestSortID | smallint | signed | NO | 0 | |||
QuestInfoID | smallint | unsigned | NO | 0 | |||
SuggestedGroupNum | tinyint | unsigned | NO | 0 | |||
RequiredFactionId1 | smallint | unsigned | NO | 0 | |||
RequiredFactionId2 | smallint | unsigned | NO | 0 | |||
RequiredFactionValue1 | int | signed | NO | 0 | |||
RequiredFactionValue2 | int | signed | NO | 0 | |||
RewardNextQuest | int | unsigned | NO | 0 | |||
RewardXPDifficulty | tinyint | unsigned | NO | 0 | |||
RewardMoney | int | signed | NO | 0 | |||
RewardBonusMoney | int | unsigned | NO | 0 | |||
RewardDisplaySpell | int | unsigned | NO | 0 | |||
RewardSpell | int | signed | NO | 0 | |||
RewardHonor | int | signed | NO | 0 | |||
RewardKillHonor | float | NO | 0 | ||||
StartItem | int | unsigned | NO | 0 | |||
Flags | int | unsigned | NO | 0 | |||
RequiredPlayerKills | tinyint | unsigned | NO | 0 | |||
RewardItem1 | int | unsigned | NO | 0 | |||
RewardAmount1 | smallint | unsigned | NO | 0 | |||
RewardItem2 | int | unsigned | NO | 0 | |||
RewardAmount2 | smallint | unsigned | NO | 0 | |||
RewardItem3 | int | unsigned | NO | 0 | |||
RewardAmount3 | smallint | unsigned | NO | 0 | |||
RewardItem4 | int | unsigned | NO | 0 | |||
RewardAmount4 | smallint | unsigned | NO | 0 | |||
ItemDrop1 | int | unsigned | NO | 0 | |||
ItemDropQuantity1 | smallint | unsigned | NO | 0 | |||
ItemDrop2 | int | unsigned | NO | 0 | |||
ItemDropQuantity2 | smallint | unsigned | NO | 0 | |||
ItemDrop3 | int | unsigned | NO | 0 | |||
ItemDropQuantity3 | smallint | unsigned | NO | 0 | |||
ItemDrop4 | int | unsigned | NO | 0 | |||
ItemDropQuantity4 | smallint | unsigned | NO | 0 | |||
RewardChoiceItemID1 | int | unsigned | NO | 0 | |||
RewardChoiceItemQuantity1 | smallint | unsigned | NO | 0 | |||
RewardChoiceItemID2 | int | unsigned | NO | 0 | |||
RewardChoiceItemQuantity2 | smallint | unsigned | NO | 0 | |||
RewardChoiceItemID3 | int | unsigned | NO | 0 | |||
RewardChoiceItemQuantity3 | smallint | unsigned | NO | 0 | |||
RewardChoiceItemID4 | int | unsigned | NO | 0 | |||
RewardChoiceItemQuantity4 | smallint | unsigned | NO | 0 | |||
RewardChoiceItemID5 | int | unsigned | NO | 0 | |||
RewardChoiceItemQuantity5 | smallint | unsigned | NO | 0 | |||
RewardChoiceItemID6 | int | unsigned | NO | 0 | |||
RewardChoiceItemQuantity6 | smallint | unsigned | NO | 0 | |||
POIContinent | smallint | unsigned | NO | 0 | |||
POIx | float | NO | 0 | ||||
POIy | float | NO | 0 | ||||
POIPriority | int | unsigned | NO | 0 | |||
RewardTitle | tinyint | unsigned | NO | 0 | |||
RewardTalents | tinyint | unsigned | NO | 0 | |||
RewardArenaPoints | smallint | unsigned | NO | 0 | |||
RewardFactionID1 | smallint | unsigned | NO | 0 | Faction ID | ||
RewardFactionValue1 | int | signed | NO | 0 | |||
RewardFactionOverride1 | int | signed | NO | 0 | |||
RewardFactionID2 | smallint | unsigned | NO | 0 | Faction ID | ||
RewardFactionValue2 | int | signed | NO | 0 | |||
RewardFactionOverride2 | int | signed | NO | 0 | |||
RewardFactionID3 | smallint | unsigned | NO | 0 | Faction ID | ||
RewardFactionValue3 | int | signed | NO | 0 | |||
RewardFactionOverride3 | int | signed | NO | 0 | |||
RewardFactionID4 | smallint | unsigned | NO | 0 | Faction ID | ||
RewardFactionValue4 | int | signed | NO | 0 | |||
RewardFactionOverride4 | int | signed | NO | 0 | |||
RewardFactionID5 | smallint | unsigned | NO | 0 | Faction ID | ||
RewardFactionValue5 | int | signed | NO | 0 | |||
RewardFactionOverride5 | int | signed | NO | 0 | |||
TimeAllowed | int | unsigned | NO | 0 | |||
AllowableRaces | smallint | unsigned | NO | 0 | |||
LogTitle | mediumtext | YES | NULL | ||||
LogDescription | mediumtext | YES | NULL | ||||
QuestDescription | mediumtext | YES | NULL | ||||
AreaDescription | mediumtext | YES | NULL | ||||
QuestCompletionLog | mediumtext | YES | NULL | ||||
RequiredNpcOrGo1 | int | signed | NO | 0 | |||
RequiredNpcOrGo2 | int | signed | NO | 0 | |||
RequiredNpcOrGo3 | int | signed | NO | 0 | |||
RequiredNpcOrGo4 | int | signed | NO | 0 | |||
RequiredNpcOrGoCount1 | smallint | unsigned | NO | 0 | |||
RequiredNpcOrGoCount2 | smallint | unsigned | NO | 0 | |||
RequiredNpcOrGoCount3 | smallint | unsigned | NO | 0 | |||
RequiredNpcOrGoCount4 | smallint | unsigned | NO | 0 | |||
RequiredItemId1 | int | unsigned | NO | 0 | |||
RequiredItemId2 | int | unsigned | NO | 0 | |||
RequiredItemId3 | int | unsigned | NO | 0 | |||
RequiredItemId4 | int | unsigned | NO | 0 | |||
RequiredItemId5 | int | unsigned | NO | 0 | |||
RequiredItemId6 | int | unsigned | NO | 0 | |||
RequiredItemCount1 | smallint | unsigned | NO | 0 | |||
RequiredItemCount2 | smallint | unsigned | NO | 0 | |||
RequiredItemCount3 | smallint | unsigned | NO | 0 | |||
RequiredItemCount4 | smallint | unsigned | NO | 0 | |||
RequiredItemCount5 | smallint | unsigned | NO | 0 | |||
RequiredItemCount6 | smallint | unsigned | NO | 0 | |||
Unknown0 | tinyint | unsigned | NO | 0 | |||
ObjectiveText1 | mediumtext | YES | NULL | ||||
ObjectiveText2 | mediumtext | YES | NULL | ||||
ObjectiveText3 | mediumtext | YES | NULL | ||||
ObjectiveText4 | mediumtext | YES | NULL | ||||
VerifiedBuild | int | signed | YES | NULL |
The quest ID. This column is the Primary Key for the Table. Each quest ID must be unique!
Level of quest. Player receives full experience amount only if their level is less than or equal to Level+5. If Level is set to -1, the player's level will be used as (Quest)Level for the experience calculation.
Minimum level at which a player can get the quest.
This field defines under what category the quest falls in the quest log.
QuestSort excerpt:
ID | Name | ID | Name | |
---|---|---|---|---|
22 | Seasonal | 261 | Hunter | |
24 | Herbalism | 262 | Priest | |
25 | Battlegrounds | 263 | Druid | |
41 | Day of the Dead | 264 | Tailoring | |
61 | Warlock | 304 | Cooking | |
81 | Warrior | 324 | First Aid | |
82 | Shaman | 364 | Darkmoon Faire | |
101 | Fishing | 366 | Lunar Festival | |
121 | Blacksmithing | 369 | Midsummer | |
141 | Paladin | 370 | Brewfest | |
161 | Mage | 371 | Inscription | |
162 | Rogue | 372 | Death Knight | |
181 | Alchemy | 373 | Jewelcrafting | |
182 | Leatherworking | 374 | Noblegarden | |
201 | Engineering | 375 | Pilgrim's Bounty | |
241 | Tournament | 376 | Love is in the Air |
ID | Name |
---|---|
1 | Group |
21 | Life |
41 | PvP |
62 | Raid |
81 | Dungeon |
82 | World Event |
83 | Legendary |
84 | Escort |
85 | Heroic |
88 | Raid (10) |
89 | Raid (25) |
Recommended number of players to do the quest together.
Faction ID for an objective to achieve a certain reputation value with.
Reputation value that the player must achieve with the faction in RequiredFactionId as part of the quest objectives.
Example Values:
Value | Description |
---|---|
-6001 | Hated |
3000 | Friendly |
9000 | Honored |
21000 | Revered |
42000 | Exalted |
ID of the next quest in a chain. The result is, that if you end the quest, the new quest instantly appears from the quest giver.
references QuestXP Difficulty
The amount of XP is determined by the QuestLevel (row) and RewardXPDifficulty (column) when reading from QuestXP table.
If the quest is repeatable, XP will be given only once. The total XP that a character will receive is also affected by the level difference between the character's level and the quest's level.
The money a character at level 80 would get when they complete this quest.
Spell that is shown to be casted on quest completion in the quest log. Note that this spell will NOT be casted if RewardSpellCast is non-zero. The spell in the other field will be casted instead, in which case the spell here only serves as the visual in the quest log.
Note: This field comes straight from the WDB and should not be changed.
Spell that will always be casted at player when completing the quest. This can be a learn spell and player the learned some spell in result, or a buff spell for example. If this field is non-zero then this spell will ALWAYS be casted and the spell in RewardDisplaySpell will not.
Note: This field comes straight from the WDB and should not be changed.
Number of honor points rewarded for completing this quest.
Number of honorable kill honor rewarded for completing this quest.
Example: An example value is 8 for For Great Honor. At level 80 an honorable kill is worth 124 honor. Multiply this with 8 and you receive 992 honor as reward.
Item entry given when accepting the quest. Item will be deleted when the quest is abandoned.
Value | Flag | Name | Description |
---|---|---|---|
1 | 0x000001 | QUEST_FLAGS_STAY_ALIVE | Not used currently; If the player dies, the quest is failed. |
2 | 0x000002 | QUEST_FLAGS_PARTY_ACCEPT | Not used currently. If player in party, all players that can accept this quest will receive confirmation box to accept quest CMSG_QUEST_CONFIRM_ACCEPT/SMSG_QUEST_CONFIRM_ACCEPT |
4 | 0x000004 | QUEST_FLAGS_EXPLORATION | Not used currently; Involves the activation of an areatrigger. |
8 | 0x000008 | QUEST_FLAGS_SHARABLE | Can be shared: Player::CanShareQuest() |
16 | 0x000010 | QUEST_FLAGS_HAS_CONDITION | Not used currently |
32 | 0x000020 | QUEST_FLAGS_HIDE_REWARD_POI | Not used currently: Unsure of content |
64 | 0x000040 | QUEST_FLAGS_RAID | Can be completed while in raid |
128 | 0x000080 | QUEST_FLAGS_TBC | Not used currently: Available if TBC expansion enabled only |
256 | 0x000100 | QUEST_FLAGS_NO_MONEY_FROM_XP | Not used currently: Experience is not converted to gold at max level |
512 | 0x000200 | QUEST_FLAGS_HIDDEN_REWARDS | Item and monetary rewards are hidden in the initial quest details page and in the quest log but will appear once ready to be rewarded. |
1024 | 0x000400 | QUEST_FLAGS_TRACKING | These quests are automatically rewarded on quest complete and they will never appear in quest log client side. |
2048 | 0x000800 | QUEST_FLAGS_DEPRECATE_REPUTATION | Not used currently |
4096 | 0x001000 | QUEST_FLAGS_DAILY | Daily repeatable quests |
8192 | 0x002000 | QUEST_FLAGS_FLAGS_PVP | Having this quest in log forces PvP flag |
16384 | 0x004000 | QUEST_FLAGS_UNAVAILABLE | Used on quests that are not generically available |
32768 | 0x008000 | QUEST_FLAGS_WEEKLY | Weekly repeatable quests |
65536 | 0x010000 | QUEST_FLAGS_AUTOCOMPLETE | auto complete |
131072 | 0x020000 | QUEST_FLAGS_DISPLAY_ITEM_IN_TRACKER | Displays usable item in quest tracker |
262144 | 0x040000 | QUEST_FLAGS_OBJ_TEXT | use Objective text as Complete text |
524288 | 0x080000 | QUEST_FLAGS_AUTO_ACCEPT | The client recognizes this flag as auto-accept. However, NONE of the current quests (3.3.5a) have this flag. Maybe blizz used to use it, or will use it in the future. |
Displays how much players you need to kill before completing the quest.
Item entry given as reward (no choice).
The amount of items forced onto the player.
Item entry that is needed indirectly by the quest. For example, the quests asks for item X but the only way to get item X is by activating item Y; however, item Y is also a quest item. Therefore you set item Y's entry in this field. This requirement will not appear in the quest text, it is just for the core to know when to drop a quest item that isn't in the RequiredItemId* field but is still needed by the quest.
The maximum number of copies of the item in RequiredSourceItemId* that can be picked up (and dropped by the core).
The player has to pick one of RewardChoiceItemID* as a reward.
The amount of items to reward if if the correspondig RewardChoiceItemID* is selected.
Map ID of a quest point of interest (POI - Point Of Interest). POI will be shown on the map when quest is active.
X coordinate of quest POI.
Y coordinate of quest POI.
unknown / just sent to client
CharTitle ID to reward on completion.
An amount of talent points to reward on completion.
An amount of arena points to reward on completion.
Faction ID for which the quest rewards reputation points.
This field is used for reputation lookup in QuestFactionReward. The value X in this field indicates index of QuestFactionReward Difficulty.
ID | Rep0 | Rep1 | Rep2 | Rep3 | Rep4 | Rep5 | Rep6 | Rep7 | Rep8 | Rep9 |
---|---|---|---|---|---|---|---|---|---|---|
1 | 0 | 10 | 25 | 75 | 150 | 250 | 350 | 500 | 1000 | 5 |
2 | 0 | -10 | -25 | -75 | -150 | -250 | -350 | -500 | -1000 | -5 |
This field is used to give reputation values not present in QuestFactionReward or to override them if RewardFactionValue* is wrong for some reason. The value in this field is 100× the intended reputation reward (if you want to give 400 rep, put 40000 in RewardFactionOverride*).
Time in seconds that the player has to complete this quest.
Race mask of ChrRace IDs allowed to get the quest.
0 means the quest is accessible for all races.
Value | Flag | Name | Value | Flag | Name | |
---|---|---|---|---|---|---|
1 | 0x0001 | Human | 2 | 0x0002 | Orc | |
4 | 0x0004 | Dwarf | 16 | 0x0010 | Undead | |
8 | 0x0008 | Night Elf | 32 | 0x0020 | Tauren | |
64 | 0x0040 | Gnome | 128 | 0x0080 | Troll | |
1024 | 0x0400 | Draenei | 512 | 0x0200 | Blood Elf | |
1101 | 0x044D | Alliance | 690 | 0x02B2 | Horde |
Title of the quest.
Short description of quest objectives.
Fulltext quest description under heading: Description
You can use certain placeholders that will be filled in in-game:
$B
: line break$N
: player name$R
: player race$C
: player class$Gmale:female;
: male and female can be replace with any synonymn you want and one will be chosen depending on the players genderText for externally completed objective (e.g. area discovery)
Objective text displayed after all other objectives are completed.
Example: Return to <NPC> at <Location> in <Zone>.
If SpecialFlags contains QUEST_SPECIAL_FLAGS_CAST (0x20), the objective is to cast on target, else kill.
Note: If QUEST_SPECIAL_FLAGS_CAST is set and the spell has effects Send Event or Quest Complete, this field may be left empty.
The number of times the creature or gameobject must be killed or casted upon.
The item entry the player needs to collect to complete the quest.
The amount of required items.
unknown & unused
Used to define non-standard objective texts, that show up in the quest log. Example, "Heal fallen warrior" and the number gets added by Required*Count* values.
This field is used by the TrinityDB Team to determine whether a template has been verified from WDB files.
If value is 0 then it has not been parsed yet.
If value is above 0 then it has been parsed with WDB files from that specific client build.
If value is -1 then it is just a place holder until proper data are found on WDBs.
If value is -Client Build then it was parsed with WDB files from that specific client build and manually edited later for some special necessity.
Always use PrevQuestID before using NextQuestID. NextQuestID is considered optional and to be used only when PrevQuestID is not sufficient.
Single, stand-alone quest with no prerequisites
questA
ID = questA PrevQuestID = 0 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = 0
Player get quests in a strict chain that must be completed in a specific order.
. questA
|
questB
|
questC
|
questD
ID = questA PrevQuestID = 0 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = questB
ID = questB PrevQuestID = questA NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = questC
ID = questC PrevQuestID = questB NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = questD
ID = questD PrevQuestID = questC NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = 0
Player should only be allowed to complete one of three possible.
. questA questB questC
\ | /
------ questD -----
|
questE
ID = questA PrevQuestID = 0 NextQuestID = questD ExclusiveGroup = questA RewardNextQuest = questD
ID = questB PrevQuestID = 0 NextQuestID = questD ExclusiveGroup = questA RewardNextQuest = questD
ID = questC PrevQuestID = 0 NextQuestID = questD ExclusiveGroup = questA RewardNextQuest = questD
ID = questD PrevQuestID = 0 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = questE
ID = questE PrevQuestID = questD NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = 0
Player must complete all three initial quests before D becomes available.
. questA questB questC
\ | /
------ questD -----
|
questE
ID = questA PrevQuestID = 0 NextQuestID = questD ExclusiveGroup = -questA RewardNextQuest = questD
ID = questB PrevQuestID = 0 NextQuestID = questD ExclusiveGroup = -questA RewardNextQuest = questD
ID = questC PrevQuestID = 0 NextQuestID = questD ExclusiveGroup = -questA RewardNextQuest = questD
ID = questD PrevQuestID = 0 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = questE
ID = questE PrevQuestID = questD NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = 0
Completing A unlocks B and C that can be done at the same time. They both need to be completed before D becomes available. X is needed to obtain item for C and this quest should only be available if C is active.
. questA
/ \
questB questC - questX
\ /
questD
ID = questA PrevQuestID = 0 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = 0
ID = questB PrevQuestID = questA NextQuestID = questD ExclusiveGroup = -questB RewardNextQuest = 0
ID = questC PrevQuestID = questA NextQuestID = questD ExclusiveGroup = -questB RewardNextQuest = 0
ID = questX PrevQuestID = -questC NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = 0
ID = questD PrevQuestID = 0 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = 0
Player may complete (not required to) X, but has to complete all three quest chains before final quest becomes available.
. questX
|
questA questC questE
| | |
questB questD questF
\ | /
------- questG ------
ID = questX PrevQuestID = 0 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = questC
ID = questA PrevQuestID = 0 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = questB
ID = questB PrevQuestID = questA NextQuestID = questG ExclusiveGroup = -questB RewardNextQuest = 0
ID = questC PrevQuestID = 0 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = questD
ID = questD PrevQuestID = questC NextQuestID = questG ExclusiveGroup = -questB RewardNextQuest = 0
ID = questE PrevQuestID = 0 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = questF
ID = questF PrevQuestID = questE NextQuestID = questG ExclusiveGroup = -questB RewardNextQuest = 0
ID = questG PrevQuestID = 0 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = 0
Player must first complete A, then B to unlock the chain from C to E. Three other quests (F, G, H) in a group will also be unlocked, those can be done at the same time. The three grouped quests must all be completed before I becomes available. Completion of E and I is required to obtain the final quest.
. questA
|
questB
/ \
questC questF
| questG
questD questH
| |
questE questI
\ /
questJ
ID = questA PrevQuestID = 0 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = questB
ID = questB PrevQuestID = questA NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = 0
ID = questC PrevQuestID = questB NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = questD
ID = questD PrevQuestID = questC NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = questE
ID = questE PrevQuestID = questD NextQuestID = questJ ExclusiveGroup = -questE RewardNextQuest = 0
ID = questF PrevQuestID = questB NextQuestID = questI ExclusiveGroup = -questF RewardNextQuest = 0
ID = questG PrevQuestID = questB NextQuestID = questI ExclusiveGroup = -questF RewardNextQuest = 0
ID = questH PrevQuestID = questB NextQuestID = questI ExclusiveGroup = -questF RewardNextQuest = 0
ID = questI PrevQuestID = 0 NextQuestID = questJ ExclusiveGroup = -questE RewardNextQuest = 0
ID = questJ PrevQuestID = 0 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = 0
Player can choose between two alternative chains (Chain A or B, but not both chains). A2 or B2 should unlock C, D and E when complete. When all three complete, F should be unlocked. If player get A3 or B3 after complete F, depends on if chain A or B was chosen.
. questA1 questB1
| |
questA2 questB2
\ /
---- questC ----
questD
questE
|
questF
/ \
questA3 questB3
ID = questA1 PrevQuestID = 0 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = questA2
ID = questA2 PrevQuestID = questA1 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = 0
ID = questB1 PrevQuestID = 0 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = questB2
ID = questB2 PrevQuestID = questB1 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = 0
ID = questC PrevQuestID = 0 NextQuestID = questF ExclusiveGroup = -questC RewardNextQuest = 0
ID = questD PrevQuestID = 0 NextQuestID = questF ExclusiveGroup = -questC RewardNextQuest = 0
ID = questE PrevQuestID = 0 NextQuestID = questF ExclusiveGroup = -questC RewardNextQuest = 0
ID = questF PrevQuestID = 0 NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = 0
ID = questA3 PrevQuestID = questF NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = 0
ID = questB3 PrevQuestID = questF NextQuestID = 0 ExclusiveGroup = 0 RewardNextQuest = 0
Note: If player can choose between chain A or B may be determined by faction status (aldor or scryer), using RequiredMinRepFaction = 1. Player should not be able to be neutral+1 with both at the same time. This may be the common threshold to obtain aldor or scryer quests (this is unsure). If that is the case, only the unlock of C, D and E after complete A2 or B2 is the impossible part.
Note: With the conditions now every quest chain is possible.
Back to 'quest_request_items_locale' Return to world Go to 'quest_template_addon'