目录

quest_template

<-Back-to:World

Table: quest_template

Contains all basic definitions of available quests.

**Structure**

Field Type Attribute Key Null Default Extra Comment
ID MEDIUMINT UNSIGNED PRI NO 0
QuestType TINYINT UNSIGNED NO 2
QuestLevel SMALLINT NO 1
MinLevel TINYINT UNSIGNED NO 0
QuestSortID SMALLINT NO 0
QuestInfoID SMALLINT UNSIGNED NO 0
SuggestedGroupNum TINYINT UNSIGNED NO 0
RequiredFactionId1 SMALLINT UNSIGNED NO 0
RequiredFactionId2 SMALLINT UNSIGNED NO 0
RequiredFactionValue1 MEDIUMINT NO 0
RequiredFactionValue2 MEDIUMINT NO 0
RewardNextQuest MEDIUMINT UNSIGNED NO 0
RewardXPDifficulty TINYINT UNSIGNED NO 0
RewardMoney INT NO 0
RewardMoneyDifficulty INT UNSIGNED NO 0
RewardBonusMoney INT UNSIGNED NO 0
RewardDisplaySpell MEDIUMINT UNSIGNED NO 0
RewardSpell INT NO 0
RewardHonor INT NO 0
RewardKillHonor FLOAT NO 0
StartItem MEDIUMINT UNSIGNED NO 0
Flags INT UNSIGNED NO 0
RequiredPlayerKills TINYINT UNSIGNED NO 0
RewardItem1 MEDIUMINT UNSIGNED NO 0
RewardAmount1 SMALLINT UNSIGNED NO 0
RewardItem2 MEDIUMINT UNSIGNED NO 0
RewardAmount2 SMALLINT UNSIGNED NO 0
RewardItem3 MEDIUMINT UNSIGNED NO 0
RewardAmount3 SMALLINT UNSIGNED NO 0
RewardItem4 MEDIUMINT UNSIGNED NO 0
RewardAmount4 SMALLINT UNSIGNED NO 0
ItemDrop1 MEDIUMINT UNSIGNED NO 0
ItemDropQuantity1 SMALLINT UNSIGNED NO 0
ItemDrop2 MEDIUMINT UNSIGNED NO 0
ItemDropQuantity2 SMALLINT UNSIGNED NO 0
ItemDrop3 MEDIUMINT UNSIGNED NO 0
ItemDropQuantity3 SMALLINT UNSIGNED NO 0
ItemDrop4 MEDIUMINT UNSIGNED NO 0
ItemDropQuantity4 SMALLINT UNSIGNED NO 0
RewardChoiceItemID1 MEDIUMINT UNSIGNED NO 0
RewardChoiceItemQuantity1 SMALLINT UNSIGNED NO 0
RewardChoiceItemID2 MEDIUMINT UNSIGNED NO 0
RewardChoiceItemQuantity2 SMALLINT UNSIGNED NO 0
RewardChoiceItemID3 MEDIUMINT UNSIGNED NO 0
RewardChoiceItemQuantity3 SMALLINT UNSIGNED NO 0
RewardChoiceItemID4 MEDIUMINT UNSIGNED NO 0
RewardChoiceItemQuantity4 SMALLINT UNSIGNED NO 0
RewardChoiceItemID5 MEDIUMINT UNSIGNED NO 0
RewardChoiceItemQuantity5 SMALLINT UNSIGNED NO 0
RewardChoiceItemID6 MEDIUMINT UNSIGNED NO 0
RewardChoiceItemQuantity6 SMALLINT UNSIGNED NO 0
POIContinent SMALLINT UNSIGNED NO 0
POIx FLOAT NO 0
POIy FLOAT NO 0
POIPriority MEDIUMINT UNSIGNED NO 0
RewardTitle TINYINT UNSIGNED NO 0
RewardTalents TINYINT UNSIGNED NO 0
RewardArenaPoints SMALLINT UNSIGNED NO 0
RewardFactionID1 SMALLINT UNSIGNED NO 0
RewardFactionValue1 MEDIUMINT NO 0
RewardFactionOverride1 MEDIUMINT NO 0
RewardFactionID2 SMALLINT UNSIGNED NO 0
RewardFactionValue2 MEDIUMINT NO 0
RewardFactionOverride2 MEDIUMINT NO 0
RewardFactionID3 SMALLINT UNSIGNED NO 0
RewardFactionValue3 MEDIUMINT NO 0
RewardFactionOverride3 MEDIUMINT NO 0
RewardFactionID4 SMALLINT UNSIGNED NO 0
RewardFactionValue4 MEDIUMINT NO 0
RewardFactionOverride4 MEDIUMINT NO 0
RewardFactionID5 SMALLINT UNSIGNED NO 0
RewardFactionValue5 MEDIUMINT NO 0
RewardFactionOverride5 MEDIUMINT NO 0
TimeAllowed INT UNSIGNED NO 0
AllowableRaces SMALLINT UNSIGNED NO 0
LogTitle TEXT YES
LogDescription TEXT YES
QuestDescription TEXT YES
AreaDescription TEXT YES
QuestCompletionLog TEXT YES
RequiredNpcOrGo1 MEDIUMINT NO 0
RequiredNpcOrGo2 MEDIUMINT NO 0
RequiredNpcOrGo3 MEDIUMINT NO 0
RequiredNpcOrGo4 MEDIUMINT NO 0
RequiredNpcOrGoCount1 SMALLINT UNSIGNED NO 0
RequiredNpcOrGoCount2 SMALLINT UNSIGNED NO 0
RequiredNpcOrGoCount3 SMALLINT UNSIGNED NO 0
RequiredNpcOrGoCount4 SMALLINT UNSIGNED NO 0
RequiredItemId1 MEDIUMINT UNSIGNED NO 0
RequiredItemId2 MEDIUMINT UNSIGNED NO 0
RequiredItemId3 MEDIUMINT UNSIGNED NO 0
RequiredItemId4 MEDIUMINT UNSIGNED NO 0
RequiredItemId5 MEDIUMINT UNSIGNED NO 0
RequiredItemId6 MEDIUMINT 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 TEXT YES
ObjectiveText2 TEXT YES
ObjectiveText3 TEXT YES
ObjectiveText4 TEXT YES
VerifiedBuild SMALLINT YES 0

Description of the fields

ID

The quest ID. This column is the Primary Key for the Table. Each quest ID must be unique!

QuestType

Accepted values: 0, 1, 2 or 3. Their meaning is described in table below.

Value Result
0 Quest is enabled, but it is auto-completed when accepted; this skips quest objectives and quest details.
1 Quest is disabled (not yet implemented in the core).
2 Quest is enabled (does not auto-complete).
3 Quest is a World Quest.

QuestLevel

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.

MinLevel

Minimum level at which a player can get the quest.

QuestSortID

This field defines under what category the quest falls in the quest log.

If value > 0 then value is Zone IDs taken from AreaTable.dbc.

if value < 0 then (-value) is quest sort id: (in general profession or class quests. Also see RequiredSkillPoints ) Value is ID from QuestSort.dbc

QuestInfoID

These values are ID taken from QuestInfo.dbc

SuggestedGroupNum

Recommended number of players to do the quest together.

RewardFactionId1

Faction Id (from Faction.dbc) for which the quest give reputation points. Number of gain or lost reputation points for Faction at quest completion. This is special reputation rewarding. Normal reputation reward to quest rewarding creature faction calculated and added automatically.

RewardFactionId2

Faction Id (from Faction.dbc) for which the quest give reputation points. Number of gain or lost reputation points for Faction at quest completion. This is special reputation rewarding. Normal reputation reward to quest rewarding creature faction calculated and added automatically.

RewardFactionValueId1

This field is used for reputation lookup in QuestFactionReward.dbc if quest_template#RewardFactionValueId is 0. Value X in this field indicates RepX column of QuestFactionReward.dbc. If RewardRepValueId is positive, reputation from the first row of QuestFactionReward.dbc will be used, for negative values the second row is used.

RewardFactionValueId2

This field is used for reputation lookup in QuestFactionReward.dbc if quest_template#RewardFactionValueId is 0. Value X in this field indicates RepX column of QuestFactionReward.dbc. If RewardRepValueId is positive, reputation from the first row of QuestFactionReward.dbc will be used, for negative values the second row is used.

RewardNextQuest

RewardNextQuest (Old field name: NextQuestIdChain)

The quest entry from a creature or gameobject that ends a quest and starts a new one. The result is, that if you end the quest, the new quest instantly appears from the quest giver.

See the examples section for examples.

RewardXPDifficulty

According to the Level, the basic experience with index RewardXPDifficulty is taken from QuestXP.dbc.

This field also controls the XP given as the XP is calculated from the value in this field by the following formula. 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 formula for calculating XP from the value in this field:

RewardMoney

Money earned by completing the quest (if value > 0) or money requirement to complete the quest (if value < 0) .

RewardMoneyDifficulty

ID refers to one of the money factor included in MoneyFactor ordered by level.

RewardBonusMoney

The money a character at level 80 would get when they complete this quest.

RewardDisplaySpell

Spell that is shown to be casted on quest completion in the quest log. Note that this spell will NOT be casted if RewardSpell 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.

RewardSpell

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.

RewardHonor

Number of honorable kill honor rewarded for completing this quest.

Example: An example value is 15 for quest 8388: At level 80 an honorable kill is 124 honor worth. Multiply this with 15 and you receive 1860, after the multiplication the value is rounded up. So the honor rewarded at level 80 is 1860 for this quest.

RewardKillHonor

StartItem

Items given by the quest giver at beginning of the quest. Items will be deleted when quest is abandoned.

Flags

This flag field defines more specifically the type of quest it is. Aside from the daily flag and sharable flag, this field is used just for grouping purposes and NOT for any other quest requirements. The quest requirements are calculated from non-zero values in other quest template fields. Also, while some of these flags are known, others have yet an unknown purpose and the comments below is simply guesswork on them.

Flag Name Comments
0 QUEST_FLAGS_NONE No flags, so no groups assigned to this quest.
1 QUEST_FLAGS_STAY_ALIVE If the player dies, the quest is failed.
2 QUEST_FLAGS_PARTY_ACCEPT Escort quests or any other event-driven quests. If player in party, all players that can accept this quest will receive confirmation box to accept quest.
4 QUEST_FLAGS_EXPLORATION Involves the activation of an areatrigger.
8 QUEST_FLAGS_SHARABLE Allows the quest to be shared with other players.
16 QUEST_FLAGS_HAS_CONDITION Not used currently
32 QUEST_FLAGS_HIDE_REWARD_POI Not used currently: Unsure of content
64 QUEST_FLAGS_RAID Can be completed while in raid
128 QUEST_FLAGS_TBC Not used currently: Available if TBC expansion enabled only
256 QUEST_FLAGS_NO_MONEY_FROM_XP Not used currently: Experience is not converted to gold at max level
512 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 QUEST_FLAGS_TRACKING These quests are automatically rewarded on quest complete and they will never appear in quest log client side.
2048 QUEST_FLAGS_DEPRECATE_REPUTATION Not used currently
4096 QUEST_FLAGS_DAILY Daily repeatable quests (only flag that the core applies specific behavior for)
8192 QUEST_FLAGS_FLAGS_PVP Having this quest in log forces PvP flag
16384 QUEST_FLAGS_UNAVAILABLE Used on quests that are not generically available
32768 QUEST_FLAGS_WEEKLY Weekly repeatable quests (only flag that the core applies specific behavior for)
65536 QUEST_FLAGS_AUTOCOMPLETE Auto complete
131072 QUEST_FLAGS_DISPLAY_ITEM_IN_TRACKER Displays usable item in quest tracker
262144 QUEST_FLAGS_OBJ_TEXT Use Objective text as Complete text
524288 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.
1048576 QUEST_FLAGS_PLAYER_CAST_ON_ACCEPT Quests with this flag player submit automatically by special button in player GUI
2097152 QUEST_FLAGS_PLAYER_CAST_ON_COMPLETE Automatically suggestion of accepting quest. Not from npc.
4194304 QUEST_FLAGS_UPDATE_PHASE_SHIFT
8388608 QUEST_FLAGS_SOR_WHITELIST
16777216 QUEST_FLAGS_LAUNCH_GOSSIP_COMPLETE
54432 QUEST_FLAGS_REMOVE_EXTRA_GET_ITEMS
67108864 QUEST_FLAGS_HIDE_UNTIL_DISCOVERED
134217728 QUEST_FLAGS_PORTRAIT_IN_QUEST_LOG
268435456 QUEST_FLAGS_SHOW_ITEM_WHEN_COMPLETED
536870912 QUEST_FLAGS_LAUNCH_GOSSIP_ACCEPT
1073741824 QUEST_FLAGS_ITEMS_GLOW_WHEN_DONE
2147483648 QUEST_FLAGS_FAIL_ON_LOGOUT

Like all flag based fields, QuestFlags can be added for the different types of quest.

Note that some flags may not be supported by core.

RequiredPlayerKills

Displays how much players you need to kill betd class=td class=a class=/td data-linked-resource-default-alias=fore completing the quest.

RewardItem1

item Id 1 given for reward (no choice).

RewardAmount1

Amount to be obtained from the above-mentioned item

RewardItem2

item Id 2 given for reward (no choice).

RewardAmount2

Amount to be obtained from the above-mentioned item

RewardItem3

item Id 3 given for reward (no choice).

RewardAmount3

Amount to be obtained from the above-mentioned item

RewardItem4

item Id 4 given for reward (no choice).

RewardAmount4

Amount to be obtained from the above-mentioned item

ItemDrop1

ItemDropQuantity1

ItemDrop2

ItemDropQuantity2

ItemDrop3

ItemDropQuantity3

ItemDrop4

ItemDropQuantity4

RewardChoiceItemID1

RewardChoiceItemQuantity1

RewardChoiceItemID2

RewardChoiceItemQuantity2

RewardChoiceItemID3

RewardChoiceItemQuantity3

RewardChoiceItemID4

RewardChoiceItemQuantity4

RewardChoiceItemID5

RewardChoiceItemQuantity5

RewardChoiceItemID6

RewardChoiceItemQuantity6

POIContinent

MapId of a quest point of interest (POI - Point Of Interest). POI will be shown on the map when quest is active.

POIx

X coordinate of quest POI.

POIy

Y coordinate of quest POI.

POIPriority

TODO

RewardTitle

RewardTalents

RewardArenaPoints

RewardFactionID1

RewardFactionValue1

RewardFactionOverride1

RewardFactionID2

RewardFactionValue2

ItemDrop

RewardFactionOverride2

RewardFactionID3

ItemDropQuantity

The maximum number of copies of the item in ItemDrop that can be picked up (and dropped by the core).

RewardFactionValue3

RewardFactionOverride3

RewardFactionID4

RewardFactionValue4

RewardFactionOverride4

RewardFactionID5

RewardFactionValue5

RewardFactionOverride5

TimeAllowed

AllowableRaces

LogTitle

Title of the quest.

LogDescription

Objectives of the quest. If empty, quest is an auto-complete quest that can be immediately finished without accepting it first.

QuestDescription

The quest text. You can use certain placeholders that will be filled in in-game: $B - line break, $N - name, $R - race, $C - class, $Gmale:female; (male and female can be replace with any synonymn you want, but the order must stay the same. IE: boy:girl / man:woman / sir:madam / dude:chick)

AreaDescription

QuestCompletionLog

Text sent to player when the player tries to talk to the NPC with the quest active but incomplete. (The text under the “Progress” title in Wowhead.) You can use certain placeholders that will be filled in in-game: $B - line break, $N - name, $R - race, $C - class, $Gmale:female; (male and female can be replace with any synonymn you want, but the order must stay the same. IE: boy:girl / man:woman / sir:madam / dude:chick)

RequiredNpcOrGo1

RequiredNpcOrGo2

RequiredNpcOrGo3

RequiredNpcOrGo4

NOTE: If RequiredSpellCast is != 0 and the spell has effects Send Event or Quest Complete, this field may be left empty.

RequiredNpcOrGoCount1

RequiredNpcOrGoCount2

RequiredNpcOrGoCount3

RequiredNpcOrGoCount4

The number of times the creature or gameobject must be killed or casted upon.

RequiredItemId1

RequiredItemId2

RequiredItemId3

RequiredItemId4

RequiredItemId5

RequiredItemId6

Id of required item to complete the quest.

RequiredItemCount1

RequiredItemCount2

RequiredItemCount3

RequiredItemCount4

RequiredItemCount5

RequiredItemCount6

Amount of required items

Unknown0

ObjectiveText1

ObjectiveText2

ObjectiveText3

ObjectiveText4

Used to define non-standard objective texts, that show up in the questlog. Example, “Heal fallen warrior” and the number gets added by Count values.

VerifiedBuild