Skip to content

Commit

Permalink
quest_template_addon.md changes and corrections (#997)
Browse files Browse the repository at this point in the history
* Corrected 256 - Description

* Fixed the Headings

* Corrected punctuation

* Update quest_template_addon.md

* Corrected Table Format

Auto formatted the Table
  • Loading branch information
TheSCREWEDSoftware authored Sep 19, 2024
1 parent 0ca8c4e commit 0925d89
Showing 1 changed file with 40 additions and 63 deletions.
103 changes: 40 additions & 63 deletions docs/quest_template_addon.md
Original file line number Diff line number Diff line change
@@ -1,56 +1,38 @@
# quest\_template\_addon
# quest_template_addon

[<-Back-to:World](database-world)

**Table: quest\_template\_addon**
**Table: quest_template_addon**

Contains extra definitions like linking quests, dependencies and requirements for the quests defined in the [quest\_template](quest_template) table to become available to the player.
Contains extra definitions like linking quests, dependencies and requirements for the quests defined in the [quest_template](quest_template) table to become available to the player.

**Structure:**

| Field | Type | Attributes | Key | Null | Default | Extra | Comment |
| --------------------------- | --------- | ---------- | --- | ---- | ------- | ----- | ------------------------------------- |
| [ID][1] | MEDIUMINT | UNSIGNED | PRI | NO | | | Unique ID linked to quest_template.ID |
| [MaxLevel][2] | TINYINT | UNSIGNED | | NO | | | |
| [AllowableClasses][3] | INT | UNSIGNED | | NO | | | |
| [SourceSpellID][4] | MEDIUMINT | UNSIGNED | | NO | | | |
| [PrevQuestID][5] | MEDIUMINT | | | NO | | | |
| [NextQuestID][6] | MEDIUMINT | | | NO | | | |
| [ExclusiveGroup][7] | MEDIUMINT | | | NO | | | |
| [RewardMailTemplateID][8] | MEDIUMINT | UNSIGNED | | NO | | | |
| [RewardMailDelay][9] | INT | UNSIGNED | | NO | | | |
| [RequiredSkillID][10] | SMALLINT | UNSIGNED | | NO | | | |
| [RequiredSkillPoints][11] | SMALLINT | UNSIGNED | | NO | | | |
| [RequiredMinRepFaction][12] | SMALLINT | UNSIGNED | | NO | | | |
| [RequiredMaxRepFaction][13] | SMALLINT | UNSIGNED | | NO | | | |
| [RequiredMinRepValue][14] | MEDIUMINT | | | NO | | | |
| [RequiredMaxRepValue][15] | MEDIUMINT | | | NO | | | |
| [ProvidedItemCount][16] | TINYINT | UNSIGNED | | NO | | | |
| [SpecialFlags][17] | TINYINT | UNSIGNED | | NO | | | |

[1]: #id
[2]: #maxlevel
[3]: #allowableclasses
[4]: #sourcespellid
[5]: #prevquestid
[6]: #nextquestid
[7]: #exclusivegroup
[8]: #rewardmailtemplateid
[9]: #rewardmaildelay
[10]: #requiredskillid
[11]: #requiredskillpoints
[12]: #requiredminrepfaction
[13]: #requiredmaxrepfaction
[14]: #requiredminrepvalue
[15]: #requiredmaxrepvalue
[16]: #provideditemcount
[17]: #specialflags
| Field | Type | Attributes | Key | Null | Default | Extra | Comment |
| ----------------------------------------------- | --------- | ---------- | --- | ---- | ------- | ----- | ------------------------------------- |
| [ID](#id) | MEDIUMINT | UNSIGNED | PRI | NO | | | Unique ID linked to quest_template.ID |
| [MaxLevel](#maxlevel) | TINYINT | UNSIGNED | | NO | | | |
| [AllowableClasses](#allowableclasses) | INT | UNSIGNED | | NO | | | |
| [SourceSpellID](#sourcespellid) | MEDIUMINT | UNSIGNED | | NO | | | |
| [PrevQuestID](#prevquestid) | MEDIUMINT | | | NO | | | |
| [NextQuestID](#nextquestid) | MEDIUMINT | | | NO | | | |
| [ExclusiveGroup](#exclusivegroup) | MEDIUMINT | | | NO | | | |
| [RewardMailTemplateID](#rewardmailtemplateid) | MEDIUMINT | UNSIGNED | | NO | | | |
| [RewardMailDelay](#rewardmaildelay) | INT | UNSIGNED | | NO | | | |
| [RequiredSkillID](#requiredskillid) | SMALLINT | UNSIGNED | | NO | | | |
| [RequiredSkillPoints](#requiredskillpoints) | SMALLINT | UNSIGNED | | NO | | | |
| [RequiredMinRepFaction](#requiredminrepfaction) | SMALLINT | UNSIGNED | | NO | | | |
| [RequiredMaxRepFaction](#requiredmaxrepfaction) | SMALLINT | UNSIGNED | | NO | | | |
| [RequiredMinRepValue](#requiredminrepvalue) | MEDIUMINT | | | NO | | | |
| [RequiredMaxRepValue](#requiredmaxrepvalue) | MEDIUMINT | | | NO | | | |
| [ProvidedItemCount](#provideditemcount) | TINYINT | UNSIGNED | | NO | | | |
| [SpecialFlags](#specialflags) | TINYINT | UNSIGNED | | NO | | | |

**Description of the fields:**

### **ID**

Unique quest ID, matching the same quest ID in [quest\_template.ID](quest_template#id)
Unique quest ID, matching the same quest ID in [quest_template.ID](quest_template#id)

### **MaxLevel**

Expand All @@ -70,14 +52,10 @@ The spell ID cast on player upon starting the quest.
- **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](quest_template#examples-dealing-with-quests) for examples.

### **NextQuestID**

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

See the [examples section](quest_template#examples-dealing-with-quests) for examples.

### **ExclusiveGroup**

- **if ExclusiveGroup > 0**
Expand All @@ -88,15 +66,15 @@ Allows to define a group of quests of which only one may be chosen and completed

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](pool_template) and [pool\_quest](quest_template#examples-dealing-with-quests) for examples.
Note: All quests that use an ExclusiveGroup must also have entries in [pool_template](pool_template) and [pool_quest](quest_template#examples-dealing-with-quests) for examples.

### **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](loot_template). According to the rules in that loot template, items "looted" will be sent by mail at the completion of the quest.
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](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](quest_template#rewardmailtemplateid)
How many seconds to wait until the mail is sent to the character that turned in a quest rewarding items from a loot template.

### **RequiredSkillID**

Expand All @@ -109,11 +87,11 @@ Skill points required to have in order to accept the quest.

### **RequiredMinRepFaction**

Faction ID for reputation requirement. See [Faction.dbc](Faction)
Faction ID for reputation requirement. See [Faction.dbc](Faction).

### **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](Faction)
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](Faction).

### **RequiredMinRepValue**

Expand All @@ -131,16 +109,15 @@ Number of items given to the player (inserted in the player's bags) upon accepti

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.


| SpecialFlags | Description |
| :---: | --- |
| 0 | No extra requirements
| 1 | Makes the quest repeatable.
| 2 | Makes the quest only completable by some external event (an entry in [areatrigger\_involvedrelation](areatrigger_involvedrelation), spell effect quest complete or an entry in [spell\_scripts](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.
| 64 | Makes quest not share rewarded reputation with other allied factions
| 128 | Allows quest to fail in Player::FailQuest() independant of its current state, e.g. relevant for timed quests that are 'completed' right from the beginning.
| 256 | This quest shouldn't count towards the Loremaster Achivement, quests that have the repeatable (1) flag will not count to the loremaster achivement (only the first time it's completed).
| SpecialFlags | Description |
| :----------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 0 | No extra requirements. |
| 1 | Makes the quest repeatable. |
| 2 | Makes the quest only completable by some external event (an entry in [areatrigger_involvedrelation](areatrigger_involvedrelation), spell effect quest complete or an entry in [spell_scripts](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. |
| 64 | Makes quest not share rewarded reputation with other allied factions. |
| 128 | Allows quest to fail in Player::FailQuest() independant of its current state, e.g. relevant for timed. quests that are 'completed' right from the beginning. |
| 256 | This quest shouldn't count towards the Loremaster Achivement. |

0 comments on commit 0925d89

Please sign in to comment.