AzerothCore
Pages :

quest_template

<-Back-to:World

Table: quest_template

Contains all basic definitions of available quests.

Table Structure

Field Type Attributes Key Null Default Extra Comment
ID INT 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 INT NO 0
RequiredFactionValue2 INT NO 0
RewardNextQuest INT UNSIGNED NO 0
RewardXPDifficulty TINYINT UNSIGNED NO 0
RewardMoney INT NO 0
RewardMoneyDifficulty INT UNSIGNED NO 0
RewardDisplaySpell INT UNSIGNED NO 0
RewardSpell INT NO 0
RewardHonor INT 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
RewardFactionValue1 INT NO 0
RewardFactionOverride1 INT NO 0
RewardFactionID2 SMALLINT UNSIGNED NO 0
RewardFactionValue2 INT NO 0
RewardFactionOverride2 INT NO 0
RewardFactionID3 SMALLINT UNSIGNED NO 0
RewardFactionValue3 INT NO 0
RewardFactionOverride3 INT NO 0
RewardFactionID4 SMALLINT UNSIGNED NO 0
RewardFactionValue4 INT NO 0
RewardFactionOverride4 INT NO 0
RewardFactionID5 SMALLINT UNSIGNED NO 0
RewardFactionValue5 INT NO 0
RewardFactionOverride5 INT NO 0
TimeAllowed INT UNSIGNED NO 0
AllowableRaces INT UNSIGNED NO 0
LogTitle TEXT YES
LogDescription TEXT YES
QuestDescription TEXT YES
AreaDescription TEXT YES
QuestCompletionLog TEXT YES
RequiredNpcOrGo1 INT NO 0
RequiredNpcOrGo2 INT NO 0
RequiredNpcOrGo3 INT NO 0
RequiredNpcOrGo4 INT 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 TEXT YES
ObjectiveText2 TEXT YES
ObjectiveText3 TEXT YES
ObjectiveText4 TEXT YES
VerifiedBuild INT YES

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

QuestLevel

Level of the quest. It sets the quest's color in the quest log and the experience it rewards, see RewardXPDifficulty. If set to -1, the player's level is used as the quest level.

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 an ID from QuestSort.dbc, in general profession, class or holiday quests. Also see RequiredSkillPoints.

QuestInfoID

These values are ID taken from QuestInfo.dbc

Value Result
0 None
1 Group
21 Life
41 PvP
62 Raid
81 Dungeon
82 Event
83 Legendary
84 Escort
85 Heroic
88 Raid (10)
89 Raid (25)

A quest can only be completed inside a raid group if it is a Raid, Raid (10) or Raid (25) quest, unless Quests.IgnoreRaid is enabled in worldserver.conf.

SuggestedGroupNum

Recommended number of players to do the quest together.

RequiredFactionId1

Faction ID from Faction.dbc for a reputation objective. The quest is complete once the player's reputation with this faction reaches RequiredFactionValue1. The faction and value are shown in the quest log.

RequiredFactionId2

Faction ID from Faction.dbc for a second reputation objective, used for the opposing faction. The quest is complete once the player's reputation with this faction reaches RequiredFactionValue2.

Unlike the first objective, the player can only accept the quest while their reputation with this faction is below the value.

RequiredFactionValue1

The reputation value the player needs with RequiredFactionId1. Has no effect if RequiredFactionId1 is 0.

RequiredFactionValue2

The reputation value the player needs with RequiredFactionId2. Has no effect if RequiredFactionId2 is 0.

RewardNextQuest

The ID of a quest that the same creature or gameobject offers right after this quest is turned in. When the player completes this quest, the next quest opens immediately without the player having to talk to the quest giver again.

RewardXPDifficulty

Index (0-9) of the experience column in QuestXP.dbc. The base experience is read from the row of the QuestLevel and this column.

The experience is then reduced by the difference between the player's level and the quest level:

Player level Experience
QuestLevel + 5 or lower 100%
QuestLevel + 6 80%
QuestLevel + 7 60%
QuestLevel + 8 40%
QuestLevel + 9 20%
QuestLevel + 10 or higher 10%

A repeatable quest only gives experience the first time, unless it is a daily, weekly, monthly or Dungeon Finder quest. At the maximum level, the experience is converted to money instead, 6 copper per experience point, unless the quest has the QUEST_FLAGS_NO_MONEY_FROM_XP flag.

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 quest_money_reward ordered by level. If set, the money reward is taken from there based on the player's level instead of from RewardMoney.

RewardDisplaySpell

Spell that is shown to be cast on quest completion in the quest log. Note that this spell will NOT be cast if RewardSpell is non-zero. The spell in the other field will be cast instead, in which case the spell here only serves as the visual in the quest log.

RewardSpell

Spell cast on the player when the quest is rewarded. If set, it is cast instead of RewardDisplaySpell.

The quest giver casts the spell on the player, unless the spell teaches a spell, creates an item or can only be self cast. Then the player casts it on themself.

RewardHonor

A fixed amount of honor rewarded for completing this quest. It is added on top of the honor from RewardKillHonor.

RewardKillHonor

Honor rewarded for completing this quest, counted in honorable kills. The honor of one honorable kill depends on the player's level, so the reward grows with the player's level.

StartItem

Item given by the quest giver at the beginning of the quest. The item will be deleted when the quest is abandoned. The number of items is set in ProvidedItemCount.

Flags

This flag field defines more specifically the type of quest it is. The quest requirements are calculated from non-zero values in other quest template fields.

Flag Name Comments
0 QUEST_FLAGS_NONE No flags.
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.
64 QUEST_FLAGS_RAID Not used by the core. Use QuestInfoID to make a raid quest.
128 QUEST_FLAGS_TBC Not used currently: Available if TBC expansion enabled only.
256 QUEST_FLAGS_NO_MONEY_FROM_XP Experience is not converted to money at the maximum 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 quest.
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 quest.
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.

Like all flag based fields, Flags can be added for the different types of quest. Higher flags were added in later expansions and are not used in 3.3.5a.

Note that some flags may not be supported by core.

RequiredPlayerKills

Number of enemy players the player needs to kill to complete the quest.

RewardItem1

Item ID given as a reward. All RewardItem items are given, the player does not choose between them.

RewardAmount1

Number of RewardItem1 items given.

RewardItem2

See RewardItem1.

RewardAmount2

Number of RewardItem2 items given.

RewardItem3

See RewardItem1.

RewardAmount3

Number of RewardItem3 items given.

RewardItem4

See RewardItem1.

RewardAmount4

Number of RewardItem4 items given.

ItemDrop1

Item ID of an item the player needs while on the quest, but that is not a quest objective, for example an item that has to be used on a target. Creatures and gameobjects only drop the item while the player has fewer than the needed amount.

When the quest is completed or abandoned, the core removes these items from the player if they are quest items.

ItemDropQuantity1

The maximum number of ItemDrop1 items the player can pick up, and the number the core removes when the quest ends. If 0, the item's stack size is used as the maximum.

ItemDrop2

See ItemDrop1.

ItemDropQuantity2

See ItemDropQuantity1.

ItemDrop3

See ItemDrop1.

ItemDropQuantity3

See ItemDropQuantity1.

ItemDrop4

See ItemDrop1.

ItemDropQuantity4

See ItemDropQuantity1.

RewardChoiceItemID1

Item ID of an item the player can choose as a reward. The player picks one of the RewardChoiceItemID items.

RewardChoiceItemQuantity1

Number of RewardChoiceItemID1 items given if the player chooses it.

RewardChoiceItemID2

See RewardChoiceItemID1.

RewardChoiceItemQuantity2

Number of RewardChoiceItemID2 items given if the player chooses it.

RewardChoiceItemID3

See RewardChoiceItemID1.

RewardChoiceItemQuantity3

Number of RewardChoiceItemID3 items given if the player chooses it.

RewardChoiceItemID4

See RewardChoiceItemID1.

RewardChoiceItemQuantity4

Number of RewardChoiceItemID4 items given if the player chooses it.

RewardChoiceItemID5

See RewardChoiceItemID1.

RewardChoiceItemQuantity5

Number of RewardChoiceItemID5 items given if the player chooses it.

RewardChoiceItemID6

See RewardChoiceItemID1.

RewardChoiceItemQuantity6

Number of RewardChoiceItemID6 items given if the player chooses it.

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

Sent to the client together with the POI. Its exact effect in the client is not known.

RewardTitle

ID from CharTitles.dbc of a title the player gets when the quest is rewarded.

RewardTalents

Number of extra talent points the player gets when the quest is rewarded.

RewardArenaPoints

Number of arena points the player gets when the quest is rewarded.

RewardFactionID1

Faction ID from Faction.dbc that the player gets reputation with when the quest is rewarded.

This is on top of the reputation the player gets for turning the quest in to a creature of a faction.

RewardFactionValue1

Sets the amount of reputation for RewardFactionID1 by looking it up in QuestFactionReward.dbc. The value is the column (1-9) to use. A positive value uses the first row, which gives reputation. A negative value uses the second row, which removes reputation.

Only used if RewardFactionOverride1 is 0.

RewardFactionOverride1

The amount of reputation for RewardFactionID1, multiplied by 100. For example, 25000 gives 250 reputation and -2500 removes 25 reputation. If set, RewardFactionValue1 is ignored.

RewardFactionID2

See RewardFactionID1.

RewardFactionValue2

See RewardFactionValue1.

RewardFactionOverride2

See RewardFactionOverride1.

RewardFactionID3

See RewardFactionID1.

RewardFactionValue3

See RewardFactionValue1.

RewardFactionOverride3

See RewardFactionOverride1.

RewardFactionID4

See RewardFactionID1.

RewardFactionValue4

See RewardFactionValue1.

RewardFactionOverride4

See RewardFactionOverride1.

RewardFactionID5

See RewardFactionID1.

RewardFactionValue5

See RewardFactionValue1.

RewardFactionOverride5

See RewardFactionOverride1.

TimeAllowed

Time in seconds the player has to complete the quest. If the time runs out, the quest fails. 0 means no time limit.

AllowableRaces

Bitmask of the races that can take the quest. 0 means all races.

Value Race
1 Human
2 Orc
4 Dwarf
8 Night Elf
16 Undead
32 Tauren
64 Gnome
128 Troll
512 Blood Elf
1024 Draenei

Add the values together to allow several races. For example, 1101 allows all Alliance races and 690 allows all Horde races.

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 replaced with any synonym you want, but the order must stay the same. IE: boy:girl / man:woman / sir:madam)

AreaDescription

An extra objective line shown in the quest log for objectives that are not kills or items, such as exploring an area or escorting a creature. For example, "Scout through the Fargodeep Mine".

These objectives are completed by an areatrigger, a spell or a script, see the QUEST_SPECIAL_FLAGS_EXPLORATION_OR_EVENT flag in quest_template_addon.SpecialFlags.

QuestCompletionLog

Text shown in the quest log when all objectives are done, for example "Return to Marshal McBride in Northshire Abbey." You can use the same placeholders as in QuestDescription.

RequiredNpcOrGo1

  • Value > 0: required creature_template ID the player needs to kill or cast on in order to complete the quest.
  • Value < 0: required gameobject_template ID the player needs to cast on in order to complete the quest.
  • If the quest has the QUEST_SPECIAL_FLAGS_CAST flag in quest_template_addon.SpecialFlags, the objective is to cast a spell on the target instead of killing it.

RequiredNpcOrGo2

See RequiredNpcOrGo1.

RequiredNpcOrGo3

See RequiredNpcOrGo1.

RequiredNpcOrGo4

See RequiredNpcOrGo1.

RequiredNpcOrGoCount1

The number of times the creature or gameobject in RequiredNpcOrGo1 must be killed or cast upon.

RequiredNpcOrGoCount2

See RequiredNpcOrGoCount1.

RequiredNpcOrGoCount3

See RequiredNpcOrGoCount1.

RequiredNpcOrGoCount4

See RequiredNpcOrGoCount1.

RequiredItemId1

Item ID of an item the player needs to complete the quest.

RequiredItemId2

See RequiredItemId1.

RequiredItemId3

See RequiredItemId1.

RequiredItemId4

See RequiredItemId1.

RequiredItemId5

See RequiredItemId1.

RequiredItemId6

See RequiredItemId1.

RequiredItemCount1

Number of RequiredItemId1 items the player needs.

RequiredItemCount2

See RequiredItemCount1.

RequiredItemCount3

See RequiredItemCount1.

RequiredItemCount4

See RequiredItemCount1.

RequiredItemCount5

See RequiredItemCount1.

RequiredItemCount6

See RequiredItemCount1.

Unknown0

Not used by the core.

ObjectiveText1

Used to define non-standard objective texts that show up in the quest log, for example "Heal fallen warrior". The count from RequiredNpcOrGoCount1 is added after the text.

ObjectiveText2

See ObjectiveText1.

ObjectiveText3

See ObjectiveText1.

ObjectiveText4

See ObjectiveText1.

VerifiedBuild

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.