quest_template_addon

Table: quest_template_addon


Contains extra definitions like linking quests, dependencies and requirements for the quests defined in the quest_template table to become available to the player.

Structure:

Field

Type

Attributes

Key

Null

Default

Extra

Comment

Field

Type

Attributes

Key

Null

Default

Extra

Comment

ID

mediumint(8)

unsigned

PRI

NO

0



Unique ID linked to quest_template.ID

MaxLevel

tinyint(3)

unsigned



NO

0





AllowableClasses

int(10)

unsigned



NO

0





SourceSpellID

mediumint(8)

unsigned



NO

0





PrevQuestID

mediumint(8)





NO

0





NextQuestID

mediumint(8)





NO

0





ExclusiveGroup

mediumint(8)





NO

0





BreadcrumbForQuestId















RewardMailTemplateID

mediumint(8)

unsigned



NO

0





RewardMailDelay

int(10)

unsigned



NO

0





RequiredSkillID

smallint(5)

unsigned



NO

0





RequiredSkillPoints

smallint(5)

unsigned



NO

0





RequiredMinRepFaction

smallint(5)

unsigned



NO

0





RequiredMaxRepFaction

smallint(5)

unsigned



NO

0





RequiredMinRepValue

mediumint(8)





NO

0





RequiredMaxRepValue

mediumint(8)





NO

0





ProvidedItemCount

tinyint(3)

unsigned



NO

0





SpecialFlags

tinyint(3)

unsigned



NO

0






Description of the fields:

ID

Unique quest ID, matching the same quest ID in quest_template.ID

MaxLevel

Maximum player level at which a character can get the quest.

AllowableClasses

Classes required to get the quest. 0 means the quest is available for all classes.
This field is a bitmask, you can combine class values. See ChrClasses.dbc

SourceSpellID

The spell ID cast on player upon starting the quest.

PrevQuestID

  • if value > 0: Contains the previous quest id, that must be completed before this quest can be started.

  • If value < 0: Contains the parent quest id, that must be active before this quest can be started.

See the examples section for examples.

NextQuestID

Contains the next quest id, in case PrevQuestId of that other quest is not sufficient.

See the examples section for examples.

ExclusiveGroup

  • if ExclusiveGroup > 0

Allows to define a group of quests of which only one may be chosen and completed. E.g. if from quests 1200, 1201 and 1202 only one should be allowed to be chosen, insert 1200 into ExclusiveGroup of all 3 quests.

  • if ExclusiveGroup < 0

Allows to define a group of quests of which all must be completed and rewarded to start next quest. E.g. if quest 1000 dependent from one of quests 1200, 1201 and 1202 and all this quests have same negative exclusive group then all this quest must be completed and rewarded before quest 1000 can be started.

Note: All quests that use an ExclusiveGroup must also have entries in pool_template and pool_quest in order for the core to choose one randomly. See the examples section for examples.

Breadcrumb quests exist for the sole purpose of guiding the player to a new zone or subzone to quest in. They are often given by NPCs upon completing the previous quest hub, as well as Hero's Call Boards, Warchief's Command Boards, and the Adventure Guide. Often there are multiple breadcrumb quests followed by the same follow-up quest, and normally they are mutually exclusive, meaning that accepting one breadcrumb quest will make all the others leading to the same location unavailable. Also, normally completing the follow-up quest will make any breadcrumb quests leading to it unavailable, whether or not they were completed.

RewardMailTemplateID

If the quest gives as a reward an item from a possible list of items, the ID here corresponds to the proper loot template in quest_mail_loot_template. According to the rules in that loot template, items "looted" will be sent by mail at the completion of the quest.

RewardMailDelay

How many seconds to wait until the mail is sent to the character that turned in a quest rewarding items from a loot template defined in RewardMailTemplateId

RequiredSkillID

Skill required to know to accept the quest. See SkillLine.dbc
0 means no skill is required.

RequiredSkillPoints

Skill points required to have in order to accept the quest.

RequiredMinRepFaction

Faction ID for reputation requirement. See Faction.dbc

RequiredMaxRepFaction

The Faction ID for the faction that controls the maximum reputation value that the player can have and still get the quest. See Faction.dbc

RequiredMinRepValue

Players must have this reputation or higher in order to receive the quest.

RequiredMaxRepValue

The maximum reputation value that the player can have with a faction and still get the quest. If the player has more reputation than the value in this field, the quest will not be able to be taken anymore.

ProvidedItemCount

Number of items given to the player (inserted in the player's bags) upon accepting the quest.

SpecialFlags

This field is a bitmask and is for controlling server side quest functions. Blizzard keeps these data server-side and they are not sent to the client, so we have to populate the field manually.

  • 0: No extra requirements

  •  1: Makes the quest repeatable.

  •  2: Makes the quest only completable by some external event (an entry in areatrigger_involvedrelation, spell effect quest complete or an entry in spell_scripts with command 7 as some examples)

  •  4: Make quest auto-accept. As of patch 3.3.5a only quests in the starter area need this flag.

  •  8: Only used for Dungeon Finder quests

  • 16: Makes the quest monthly

  • 32: The quest requires RequiredOrNpcGo killcredit (a spell cast), but NOT an actual NPC kill. This action usually involves killing an invisible "bunny" NPC.