表:quest_template_addon
包含额外定义,例如任务关联、依赖关系以及 quest_template 表中定义的任务对玩家变为可用所需满足的条件。
结构:
| Field | Type | Attributes | Key | Null | Default | Extra | Comment |
|---|---|---|---|---|---|---|---|
| ID | MEDIUMINT | UNSIGNED | PRI | NO | 链接到 quest_template.ID 的唯一 ID | ||
| MaxLevel | TINYINT | UNSIGNED | NO | ||||
| AllowableClasses | INT | UNSIGNED | NO | ||||
| SourceSpellID | MEDIUMINT | UNSIGNED | NO | ||||
| PrevQuestID | MEDIUMINT | NO | |||||
| NextQuestID | MEDIUMINT | NO | |||||
| ExclusiveGroup | MEDIUMINT | NO | |||||
| BreadcrumbForQuestId | MEDIUMINT | UNSIGNED | NO | 0 | |||
| RewardMailTemplateID | MEDIUMINT | UNSIGNED | NO | ||||
| RewardMailDelay | INT | UNSIGNED | NO | ||||
| RequiredSkillID | SMALLINT | UNSIGNED | NO | ||||
| RequiredSkillPoints | SMALLINT | UNSIGNED | NO | ||||
| RequiredMinRepFaction | SMALLINT | UNSIGNED | NO | ||||
| RequiredMaxRepFaction | SMALLINT | UNSIGNED | NO | ||||
| RequiredMinRepValue | MEDIUMINT | NO | |||||
| RequiredMaxRepValue | MEDIUMINT | NO | |||||
| ProvidedItemCount | TINYINT | UNSIGNED | NO | ||||
| SpecialFlags | TINYINT | UNSIGNED | NO |
字段说明:
唯一任务 ID,与 quest_template.ID 中的同一任务 ID 对应。
角色可以接到该任务的最高玩家等级。
接到该任务所需的职业。0 表示该任务对所有职业可用。 此字段是位掩码,可以组合多个职业值。请参阅 ChrClasses.dbc
开始任务时对玩家施放的法术 ID。
包含下一个任务 ID,以防那个任务的 PrevQuestId 不足以满足要求。
用于定义一组任务,只能从中选择和完成一个任务。例如,如果任务 1200、1201 和 1202 中只应允许选择一个,则将 1200 插入这 3 个任务的 ExclusiveGroup 中。
用于定义一组任务,必须全部完成并获得奖励后才能开始下一个任务。例如,如果任务 1000 依赖于任务 1200、1201 和 1202 中的其中一个,且所有这些任务都有相同的负 ExclusiveGroup,那么必须先完成并获得所有这些任务的奖励,才能开始任务 1000。
注意:所有使用 ExclusiveGroup 的任务还必须在 pool_template 和 pool_quest 中有条目,以获取示例。
如果设置,表示此任务是引导至指定 ID 任务的面包屑任务。这两个任务会变得互斥:
此单一字段替代了多条条件记录的需求。0 表示不存在面包屑关系。
如果任务从一组可能的物品中给出物品作为奖励,此处的 ID 对应 quest_mail_loot_template 中的适当掉落模板。根据该掉落模板中的规则,被"拾取"的物品将在任务完成时通过邮件发送。
从掉落模板奖励物品的任务交还后,等待多少秒才将邮件发送给角色。
接受任务所需掌握的专业技能。请参阅 SkillLine.dbc 0 表示不需要任何专业技能。
接受任务所需的专业技能点数。
声望要求对应的阵营 ID。请参阅 Faction.dbc。
控制玩家拥有多少声望后仍能接到任务的最大声望值的阵营 ID。请参阅 Faction.dbc。
玩家必须拥有此声望或更高的声望才能接到任务。
玩家可以与某阵营拥有的最大声望值,超过此值仍可接到任务。如果玩家的声望高于此字段中的值,则无法再接取该任务。
接受任务时给予玩家(放入玩家背包)的物品数量。
此字段是位掩码,用于控制服务器端的任务功能。暴雪将这些数据保存在服务器端,不会发送给客户端,因此我们必须手动填充此字段。
| Flag | Value | Description |
|---|---|---|
| QUEST_SPECIAL_FLAGS_NONE | 0 | 无额外要求。 |
| QUEST_SPECIAL_FLAGS_REPEATABLE | 1 | 使任务可重复。 |
| QUEST_SPECIAL_FLAGS_EXPLORATION_OR_EVENT | 2 | 使任务只能通过某些外部事件完成(例如 areatrigger_involvedrelation 中的条目、法术效果任务完成,或 spell_scripts 中命令 7 的条目)。 |
| QUEST_SPECIAL_FLAGS_AUTO_ACCEPT | 4 | 使任务自动接受。在 3.3.5a 补丁中,只有起始区域的任务需要此标志。 |
| QUEST_SPECIAL_FLAGS_DF_QUEST | 8 | 仅用于地下城查找器任务。 |
| QUEST_SPECIAL_FLAGS_MONTHLY | 16 | 使任务每月可完成一次。 |
| QUEST_SPECIAL_FLAGS_CAST | 32 | 任务需要 RequiredOrNpcGo 击杀荣誉(法术施放),但不需要实际的 NPC 击杀。此操作通常涉及击杀一个不可见的"兔子"NPC。 |
| QUEST_SPECIAL_FLAGS_NO_REP_SPILLOVER | 64 | 使任务不与其他结盟阵营共享奖励的声望。 |
| QUEST_SPECIAL_FLAGS_CAN_FAIL_IN_ANY_STATE | 128 | 允许任务在 Player::FailQuest() 中独立于其当前状态失败,例如与一开始就处于'已完成'状态的限时任务相关。 |
| QUEST_SPECIAL_FLAGS_NO_LOREMASTER_COUNT | 256 | 此任务不应计入博学者成就。 |