TrinityCore : quest_template

Table: quest_template

Contains all basic definitions of available quests.

Structure

Field

Type

Attributes

Key

Null

Default

Extra

Comment

Id

mediumint(8)

unsigned

PRI

NO

0

 

 

Method

tinyint(3)

unsigned

 

NO

2

 

 

Level

smallint(3)

signed

 

NO

0

 

 

MinLevel

tinyint(3)

signed

 

NO

0

 

 

MaxLevel

tinyint(3)

unsigned

 

NO

0

 

 

ZoneOrSort

smallint(6)

signed

 

NO

1

 

 

Type

smallint(5)

unsigned

 

NO

0

 

 

SuggestedPlayers

tinyint(3)

unsigned

 

NO

0

 

 

LimitTime

int(10)

unsigned

 

NO

0

 

 

RequiredClasses

smallint(5)

unsigned

 

NO

0

 

 

RequiredRaces

smallint(5)

 

 

NO

0

 

 

RequiredSkillId

smallint(5)

unsigned

 

NO

0

 

 

RequiredSkillPoints

smallint(5)

unsigned

 

NO

0

 

 

RequiredFactionId1

smallint(5)

unsigned

 

NO

0

 

 

RequiredFactionId2

smallint(5)

signed

 

NO

0

 

 

RequiredFactionValue1

mediumint(9)

signed

 

NO

0

 

 

RequiredFactionValue2

mediumint(9)

unsigned

 

NO

0

 

 

RequiredMinRepFaction

smallint(5)

signed

 

NO

0

 

 

RequiredMaxRepFaction

smallint(5)

unsigned

 

NO

0

 

 

RequiredMinRepValue

mediumint(9)

signed

 

NO

0

 

 

RequiredMaxRepValue

mediumint(9)

signed

 

NO

0

 

 

PrevQuestId

mediumint(9)

signed

 

NO

0

 

 

NextQuestId

mediumint(9)

signed

 

NO

0

 

 

ExclusiveGroup

mediumint(9)

signed

 

NO

0

 

 

NextQuestIdChain

mediumint(8)

unsigned

 

NO

0

 

 

RewXPId

tinyint(2)

unsigned

 

NO

0

 

 

RewardOrRequireMoney

int(11)

signed

 

NO

0

 

 

RewardMoneyMaxLevel

int(10)

unsigned

 

NO

0

 

 

RewardSpell

mediumint(8)

unsigned

 

NO

0

 

 

RewardSpellCast

int(11)

signed

 

NO

0

 

 

RewardHonor

int(10)

unsigned

 

NO

0

 

 

RewardHonorMultiplier

float

signed

 

NO

1

 

 

RewardMailTemplateId

mediumint(8)

unsigned

 

NO

0

 

 

RewardMailDelay

int(11)

unsigned

 

NO

0

 

 

SourceItemId

mediumint(8)

unsigned

 

NO

0

 

 

SourceItemCount

tinyint(3)

unsigned

 

NO

0

 

 

SourceSpell

mediumint(8)

unsigned

 

NO

0

 

 

Flags

int(10)

unsigned

 

NO

0

 

 

SpecialFlags

tinyint(3)

unsigned

 

NO

0

 

 

RewardTitleId

tinyint(3)

unsigned

 

NO

0

 

 

RequiredPlayerKills

tinyint(3)

unsigned

 

NO

0

 

 

RewardTalents

tinyint(3)

unsigned

 

NO

0

 

 

RewardArenaPoints

smallint(5)

unsigned

 

NO

0

 

 

RewardItemId1

mediumint(8)

unsigned

 

NO

0

 

 

RewardItemId2

mediumint(8)

unsigned

 

NO

0

 

 

RewardItemId3

mediumint(8)

unsigned

 

NO

0

 

 

RewardItemId4

mediumint(8)

unsigned

 

NO

0

 

 

RewardItemCount1

smallint(5)

unsigned

 

NO

0

 

 

RewardItemCount2

smallint(5)

unsigned

 

NO

0

 

 

RewardItemCount3

smallint(5)

unsigned

 

NO

0

 

 

RewardItemCount4

smallint(5)

unsigned

 

NO

0

 

 

RewardChoiceItemId1

mediumint(8)

unsigned

 

NO

0

 

 

RewardChoiceItemId2

mediumint(8)

unsigned

 

NO

0

 

 

RewardChoiceItemId3

mediumint(8)

unsigned

 

NO

0

 

 

RewardChoiceItemId4

mediumint(8)

unsigned

 

NO

0

 

 

RewardChoiceItemId5

mediumint(8)

unsigned

 

NO

0

 

 

RewardChoiceItemId6

mediumint(8)

unsigned

 

NO

0

 

 

RewardChoiceItemCount1

smallint(5)

unsigned

 

NO

0

 

 

RewardChoiceItemCount2

smallint(5)

unsigned

 

NO

0

 

 

RewardChoiceItemCount3smallint(5)unsigned NO0  

RewardChoiceItemCount4

smallint(5)

unsigned

 

NO

0

 

 

RewardChoiceItemCount5

smallint(5)

unsigned

 

NO

0

 

 

RewardChoiceItemCount6

smallint(5)

unsigned

 

NO

0

 

 

RewardFactionId1

smallint(5)

unsigned

 

NO

0

 

faction id from Faction.dbc in this case

RewardFactionId2

smallint(5)

unsigned

 

NO

0

 

faction id from Faction.dbc in this case

RewardFactionId3

smallint(5)

unsigned

 

NO

0

 

faction id from Faction.dbc in this case

RewardFactionId4

smallint(5)

unsigned

 

NO

0

 

faction id from Faction.dbc in this case

RewardFactionId5smallint(5)unsigned NO0 faction id from Faction.dbc in this case

RewardFactionValueId1

mediumint(8)

signed

 

NO

0

 

 

RewardFactionValueId2

mediumint(8)

signed

 

NO

0

 

 

RewardFactionValueId3

mediumint(8)

signed

 

NO

0

 

 

RewardFactionValueId4

mediumint(8)

signed

 

NO

0

 

 

RewardFactionValueId5

mediumint(8)

signed

 

NO

0

 

 

RewardFactionValueIdOverride1

mediumint(8)

signed

 

NO

0

 

 

RewardFactionValueIdOverride2

mediumint(8)

signed

 

NO

0

 

 

RewardFactionValueIdOverride3

mediumint(8)

signed

 

NO

0

 

 

RewardFactionValueIdOverride4

mediumint(8)

signed

 

NO

0

 

 

RewardFactionValueIdOverride5

mediumint(8)

signed

 

NO

0

 

 

PointMapId

smallint(5)

unsigned

 

NO

0

 

 

PointX

float

signed

 

NO

0

 

 

PointY

float

signed

 

NO

0

 

 

PointOption

mediumint(8)

unsigned

 

NO

0

 

 

Title

text

signed

 

YES

NULL

 

 

Objectives

text

signed

 

YES

NULL

 

 

Details

text

signed

 

YES

NULL

 

 

EndText

text

signed

 

YES

NULL

 

 

OfferRewardText

text

signed

 

YES

NULL

 

 

RequestItemsText

text

signed

 

YES

NULL

 

 

CompletedText

text

signed

 

YES

NULL

 

 

RequiredNpcOrGo1

mediumint(9)

signed

 

NO

0

 

 

RequiredNpcOrGo2

mediumint(9)

signed

 

NO

0

 

 

RequiredNpcOrGo3

mediumint(9)

signed

 

NO

0

 

 

RequiredNpcOrGo4

mediumint(9)

signed

 

NO

0

 

 

RequiredNpcOrGoCount1

smallint(5)

unsigned

 

NO

0

 

 

RequiredNpcOrGoCount2

smallint(5)

unsigned

 

NO

0

 

 

RequiredNpcOrGoCount3

smallint(5)

unsigned

 

NO

0

 

 

RequiredNpcOrGoCount4

smallint(5)

unsigned

 

NO

0

 

 

RequiredSourceItemId1

mediumint(8)

unsigned

 

NO

0

 

 

RequiredSourceItemId2

mediumint(8)

unsigned

 

NO

0

 

 

RequiredSourceItemId3

mediumint(8)

unsigned

 

NO

0

 

 

RequiredSourceItemId4

mediumint(8)

unsigned

 

NO

0

 

 

RequiredSourceItemCount1

smallint(5)

unsigned

 

NO

0

 

 

RequiredSourceItemCount2

smallint(5)

unsigned

 

NO

0

 

 

RequiredSourceItemCount3

smallint(5)

unsigned

 

NO

0

 

 

RequiredSourceItemCount4

smallint(5)

unsigned

 

NO

0

 

 

RequiredItemId1

mediumint(8)

unsigned

 

NO

0

 

 

RequiredItemId2

mediumint(8)

unsigned

 

NO

0

 

 

RequiredItemId3

mediumint(8)

unsigned

 

NO

0

 

 

RequiredItemId4

mediumint(8)

unsigned

 

NO

0

 

 

RequiredItemId5

mediumint(8)

unsigned

 

NO

0

 

 

RequiredItemId6

mediumint(8)

unsigned

 

NO

0

 

 

RequiredItemCount1

smallint(5)

unsigned

 

NO

0

 

 

RequiredItemCount2

smallint(5)

unsigned

 

NO

0

 

 

RequiredItemCount3

smallint(5)

unsigned

 

NO

0

 

 

RequiredItemCount4

smallint(5)

unsigned

 

NO

0

 

 

RequiredItemCount5

smallint(5)

unsigned

 

NO

0

 

 

RequiredItemCount6

smallint(5)

unsigned

 

NO

0

 

 

RequiredSpell

tinyint(2)

unsigned

 

NO

0

 

 

ObjectiveText1

text

signed

 

YES

NULL

 

 

ObjectiveText2

text

signed

 

YES

NULL

 

 

ObjectiveText3

text

signed

 

YES

NULL

 

 

ObjectiveText4

text

signed

 

YES

NULL

 

 

DetailsEmote1

smallint(5)

unsigned

 

NO

0

 

 

DetailsEmote2

smallint(5)

unsigned

 

NO

0

 

 

DetailsEmote3

smallint(5)

unsigned

 

NO

0

 

 

DetailsEmote4

smallint(5)

unsigned

 

NO

0

 

 

DetailsEmoteDelay1

int(10)

unsigned

 

NO

0

 

 

DetailsEmoteDelay2

int(10)

unsigned

 

NO

0

 

 

DetailsEmoteDelay3

int(10)

unsigned

 

NO

0

 

 

DetailsEmoteDelay4

int(10)

unsigned

 

NO

0

 

 

EmoteOnIncomplete

smallint(5)

unsigned

 

NO

0

 

 

EmoteOnComplete

smallint(5)

unsigned

 

NO

0

 

 

OfferRewardEmote1

smallint(5)

unsigned

 

NO

0

 

 

OfferRewardEmote2

smallint(5)

unsigned

 

NO

0

 

 

OfferRewardEmote3

smallint(5)

unsigned

 

NO

0

 

 

OfferRewardEmote4

smallint(5)

unsigned

 

NO

0

 

 

OfferRewardEmoteDelay1

int(10)

unsigned

 

NO

0

 

 

OfferRewardEmoteDelay2

int(10)

unsigned

 

NO

0

 

 

OfferRewardEmoteDelay3

int(10)

unsigned

 

NO

0

 

 

OfferRewardEmoteDelay4

int(10)

unsigned

 

NO

0

 

 

WDBVerified

smallint(5)

signed

 

YES

1

 

 

Description of the fields

Id

Quest Id. Quest ID is the Primary Key for the Table. Each Quest ID must be unique!

Method

Accepted values: 0, 1 or 2. If value = 0 then Quest is autocompleted (skip objectives/details). If value = 1 then Quest is disabled (not yet implemented in the core) If value = 2 them Quest is enabled and not autocomplete.

Level

Level of quest. Player recieves 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 required to get the quest.

MaxLevel

Maximum level at which a character can get the quest.

ZoneOrSort

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

Type

These values are ID taken from QuestInfo.dbc

SuggestedPlayers

Recommended number of players to do the quest together.

LimitTime

Time in seconds that the player has to complete this quest.

RequiredClasses

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

RequiredRaces

Races required to get the quest. 0 means the is available for all races. Field's value is a decimal value that must be transform to a 8 bits binary in order to be understandable. In binary form, each different bit represent a different race. They're assigned as follow :

Race

These values are 2^ID taken from ChrRaces.dbc

Examples

0,1791 = All Races

690 (2 + 16 + 32 + 128 + 512) = Horde Quest

1101 (1 + 4 + 8 + 64 + 1024) = Alliance Quest

RequiredSkillId

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

RequiredSkillPoints

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

RepObjectiveFaction

Faction ID for an objective to achieve a certain reputation value with. See Faction.dbc

RepObjectiveValue

Reputation value that the player must achieve with the faction in RepObjectiveFaction as part of the quest objectives.

RequiredMinRepFaction

Faction ID for reputation requirement. See Faction.dbc

RequiredMinRepValue

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

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

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.

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

If value > 0: Contains the next quest id, if PrevQuestId of that quest is not sufficient.

If value < 0: Contains the sub quest id, if PrevQuestId of that quest is not sufficient. If quest have many alternative next quests (class specific quests lead from single not class specific quest) field PrevQuestId in next quests can used for setting this dependence.

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.

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.

RewXPId

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

RewardOrRequiredMoney

Money earned by completing the quest (if value > 0). Money quest requirement (if value < 0).

RewardMoneyMaxLevel

The money a character at level 80 would get when they complete this quest. 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:
QuestLevel >= 65: XP = RewMoneyMaxLevel / 6.0
QuestLevel h1. 64: XP = RewMoneyMaxLevel / 4.8
QuestLevel 63: XP = RewMoneyMaxLevel / 3.6
QuestLevel h1. 62: XP = RewMoneyMaxLevel / 2.4
QuestLevel 61: XP = RewMoneyMaxLevel / 1.2
QuestLevel <= 60: XP = RewMoneyMaxLevel / 0.6

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.

RewardSpellCast

Spell that will always be casted at player when completing the quest. This can be learn spell and player learned some spell in result, or buff spell, for example. If this field is non-zero then this spell will ALWAYS be casted and the spell in RewardSpell will not.

NOTE: This field comes straight from the WDB and should not be changed.

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

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.

RewardHonorMultiplier

Multiplies RewardHonor, so if value is 2, it will give double.

WARNING: If this field is 1 and RewardHonor is 0, the quest will reward default honor kill value (124 honor at level 80)

SourceItemId

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

SourceItemCount

Amount of items given.

SourceSpellId

Spell casted on player when quest is started. Can be a buff or a learning spell.

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.(question)

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_NONE2

Unknown at this time and not used.

32

QUEST_FLAGS_EPIC

Epic class quests (hunter) (??)

64

QUEST_FLAGS_RAID

Raid or similiar player group needed for quest.

128

QUEST_FLAGS_TBC

Added with or after TBC.

256

QUEST_FLAGS_DELIVER_MORE

Quest needs extra non-objective items dropped (eg. RequiredSourceItemId fields) (question)

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__AUTO_REWARDED

These quests are automatically rewarded on quest complete and they will never appear in quest log client side.

2048

QUEST_FLAGS_TBC_RACES

Blood elf/draenei starting zone quests.

4096

QUEST_FLAGS_DAILY

Daily repeatable quests (only flag that the core applies specific behavior for)

8192

QUEST_FLAGS_REPEATABLE

Used on repeatable quests

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_SPECIAL_ITEM

has something to do with RequiredItemId and SourceItemId

262144

QUEST_FLAGS_OBJ_TEXT

Use Objective text as Complete text

524288

QUEST_FLAGS_AUTO_ACCEPT

Quests in starting areas

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.

SpecialFlags

This field is a bitmask and is for controlling server side quest functions. This data blizz keeps serverside, and is 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

RewardTitleId

The title the character will receive upon completion of the quest. See CharTitles.dbc

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.

RewardTalents

Will give X bonus talents to the player completed the quest. Leave'"0"for No Bonus Talent Points.''

RewardArenaPoints


Will Give X Arena Points to the player that completes the quest. Leave"0"For no Arena Points Reward.

RewardChoiceItemId

Id of item available for reward choice.
Number of Charges in rewarded item available.

RewardChoiceItemCount

Will choose how many items will be added for reward. E.g "RewardChoiceItemId" is the reward item and "RewardChoiceItemCount" is the count of how many items will be added as a reward.

RewardItemId

item Id given for reward (no choice).

RewardItemCount

field-no-description|46

RewardFactionId

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.

RewardFactionValueId

This field is used for reputation lookup in QuestFactionReward.dbc if 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.

RewardFactionValueIdOverride

This field is used to give reputation values not present in QuestFactionReward.dbc or to override them if RewardRepValueId 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 RewardFactionValueIdOverride).

PointMapId

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

PointX

X coordinate of quest POI.

PointY

Y coordinate of quest POI.

PointOpt

field-no-description|53

Title

Title of the quest.

Objectives

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

Details

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)

EndText

field-no-description|57

OfferRewardText

First text send to the player by the NPC when completing the quest. 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)

RequestItemsText

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)

CompletedText

field-no-description|59

RequiredNpcOrGo

Value > 0:required creature_template ID the player needs to kill/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*RequiredSpellCast*is != 0, the objective is to cast on target, else kill.
NOTE: If RequiredSpellCast is != 0 and the spell has effects Send Event or Quest Complete, this field may be left empty.

RequiredNpcOrGoCount

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

RequiredSourceItemId

Item ID 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 ID 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.

RequiredSourceItemCount

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

RequiredItemId
Item_template tc2

Id of required item to complete the quest.

RequiredItemCount

Amount of required items

RequiredSpell

???

ObjectiveText

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.

DetailsEmote

field-no-description|69

DetailsEmoteDelay

Emote delay in ms

EmoteOnIncomplete

field-no-description|71

EmoteOnComplete

Emote played by the related NPC at the time all quest objects are completed.

OfferRewardEmote

Emote played by the NPC at the time the character is rewarded for the quest.

OfferRewardEmoteDelay

Emote delay in ms

WDBVerified

 

Examples dealing with quests

Always use PrevQuestId before using NextQuestId. NextQuestId is considered optional and to be used only when PrevQuestId is not sufficient

Basic quest

Single, stand-alone quest with no prerequisites

    questA
entry = questA        PrevQuestId = 0        NextQuestId = 0        ExclusiveGroup = 0        NextQuestInChain = 0

Prequest

When this quest require another quest to be rewarded

    questA
entry = questA        PrevQuestId = questX   NextQuestId = 0        ExclusiveGroup = 0        NextQuestInChain = 0

Chain of quests

Player get quests in a strict chain that must be completed in a specific order.

    questA
      |
    questB
      |
    questC
      |
    questD
entry = questA      PrevQuestId = 0          NextQuestId = 0       ExclusiveGroup = 0       NextQuestInChain = questB
entry = questB      PrevQuestId = questA     NextQuestId = 0       ExclusiveGroup = 0       NextQuestInChain = questC
entry = questC      PrevQuestId = questB     NextQuestId = 0       ExclusiveGroup = 0       NextQuestInChain = questD
entry = questD      PrevQuestId = questC     NextQuestId = 0       ExclusiveGroup = 0       NextQuestInChain = 0

Chain of quests with multiple start quests.

Player should only be allowed to complete one of three possible

    questA     questB    questC
      \           |         /
        ------ questD -----
                  |
               questE
entry = questA      PrevQuestId = 0        NextQuestId = questD    ExclusiveGroup = questA    NextQuestInChain = questD    
entry = questB      PrevQuestId = 0        NextQuestId = questD    ExclusiveGroup = questA    NextQuestInChain = questD
entry = questC      PrevQuestId = 0        NextQuestId = questD    ExclusiveGroup = questA    NextQuestInChain = questD
entry = questD      PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0         NextQuestInChain = questE
entry = questE      PrevQuestId = questD   NextQuestId = 0         ExclusiveGroup = 0         NextQuestInChain = 0

Chain of quests with multiple start quests.

Player must complete all three initial quests before D becomes available

    questA    questB    questC
      \         |          /
       ------ questD -----
                |
              questE
entry = questA      PrevQuestId = 0        NextQuestId = questD   ExclusiveGroup = -questA    NextQuestInChain = questD
entry = questB      PrevQuestId = 0        NextQuestId = questD   ExclusiveGroup = -questA    NextQuestInChain = questD
entry = questC      PrevQuestId = 0        NextQuestId = questD   ExclusiveGroup = -questA    NextQuestInChain = questD
entry = questD      PrevQuestId = 0        NextQuestId = 0        ExclusiveGroup = 0          NextQuestInChain = questE
entry = questE      PrevQuestId = questD   NextQuestId = 0        ExclusiveGroup = 0          NextQuestInChain = 0

Quests with split and a child quest

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
entry = questA       PrevQuestId = 0        NextQuestId = 0        ExclusiveGroup = 0         NextQuestInChain = 0
entry = questB       PrevQuestId = questA   NextQuestId = questD   ExclusiveGroup = -questB   NextQuestInChain = 0
entry = questC       PrevQuestId = questA   NextQuestId = questD   ExclusiveGroup = -questB   NextQuestInChain = 0
entry = questX       PrevQuestId = -questC  NextQuestId = 0        ExclusiveGroup = 0         NextQuestInChain = 0
entry = questD       PrevQuestId = 0        NextQuestId = 0        ExclusiveGroup = 0         NextQuestInChain = 0

 

Multiple quest chains, leading to one final quest

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* -----
PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questC    entry = questX
PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questB    entry = questA
PrevQuestId = questA   NextQuestId = questG    ExclusiveGroup = -questB    NextQuestInChain = 0         entry = questB
PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questD    entry = questC
PrevQuestId = questC   NextQuestId = questG    ExclusiveGroup = -questB    NextQuestInChain = 0         entry = questD
PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questF    entry = questE
PrevQuestId = questE   NextQuestId = questG    ExclusiveGroup = -questB    NextQuestInChain = 0         entry = questF

PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = 0         entry = questG

 

Complicated

Player must first complete A, then B to unlock the chain from C to E. Three other quests 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*
PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questB    entry = questA
PrevQuestId = questA   NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = 0         entry = questB

PrevQuestId = questB   NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questD    entry = questC
PrevQuestId = questC   NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questE    entry = questD
PrevQuestId = questD   NextQuestId = questJ    ExclusiveGroup = -questE    NextQuestInChain = 0         entry = questE

PrevQuestId = questB   NextQuestId = questI    ExclusiveGroup = -questF    NextQuestInChain = 0         entry = questF
PrevQuestId = questB   NextQuestId = questI    ExclusiveGroup = -questF    NextQuestInChain = 0         entry = questG
PrevQuestId = questB   NextQuestId = questI    ExclusiveGroup = -questF    NextQuestInChain = 0         entry = questH

PrevQuestId = 0        NextQuestId = questJ    ExclusiveGroup = -questE    NextQuestInChain = 0         entry = questI

PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = 0         entry = questJ

 

Impossible - many quests may unlock many

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*
PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questA2   entry = questA1
PrevQuestId = questA1  NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = 0         entry = questA2

PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = questB2   entry = questB1
PrevQuestId = questB1  NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = 0         entry = questB2

PrevQuestId = 0        NextQuestId = questF    ExclusiveGroup = -questC    NextQuestInChain = 0         entry = questC
PrevQuestId = 0        NextQuestId = questF    ExclusiveGroup = -questC    NextQuestInChain = 0         entry = questD
PrevQuestId = 0        NextQuestId = questF    ExclusiveGroup = -questC    NextQuestInChain = 0         entry = questE

PrevQuestId = 0        NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = 0         entry = questF

PrevQuestId = questF   NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = 0         entry = questA3
PrevQuestId = questF   NextQuestId = 0         ExclusiveGroup = 0          NextQuestInChain = 0         entry = questB3

 

Note:

If player can choose between chain A or B may be determined by faction status (aldor or scryer), using ReqMinRepFaction = 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 2: With the Conditions table now every quest chain is possible.''

/table

Comments:

Method

Accepted values: 0, 1 or 2. If value = 0 then Quest is autocompleted (skip objectives/details). If value = 1 then Quest is disabled (not yet implemented in the core) If value = 2 them Quest is enabled and not autocomplete.

 

i think.....

0 = normal

1 = disable

2 = autocomplete...

CMMIW..

Posted by secreal at Sep 17, 2013 19:10

any help for questxp.dbc  ?

 

Posted by hektorinhall at Jan 29, 2014 06:05