quest_template_addon
不同分支版本字段可能略有区别,需自行分辨
- MaxLevel
- 接受任务允许的最大等级
- AllowableClasses
- 接受任务允许的职业掩码,取值来源 ChrClasses.db2
Class | (Mask)Value | Comments |
CLASS_NONE | 0 | 不限职业 |
CLASS_WARRIOR | 1 | 战士 |
CLASS_PALADIN | 2 | 骑士 |
CLASS_HUNTER | 4 | 猎人 |
CLASS_ROGUE | 8 | 盗贼 |
CLASS_PRIEST | 16 | 牧师 |
CLASS_DEATH_KNIGHT | 32 | 死亡骑士 |
CLASS_SHAMAN | 64 | 萨满 |
CLASS_MAGE | 128 | 法师 |
CLASS_WARLOCK | 256 | 术士 |
CLASS_MONK | 512 | 武僧 |
CLASS_DRUID | 1024 | 德鲁伊 |
CLASS_DEMON_HUNTER | 2048 | 恶魔猎手 |
CLASS_EVOKER | 4096 | 唤魔师 |
CLASS_ADVENTURER | 8192 | 冒险者 |
- SourceSpellID
- 任务开始时对玩家施放的法术ID,可以是一个buff或法术
- PrevQuestID
- PrevQuestID > 0: 必须完成前置任务后才能接到此任务
- PrevQuestID < 0: 必须激活父任务后才能接到此任务
- NextQuestID
- NextQuestID > 0: Contains the next quest id, if PrevQuestID of that quest is not sufficient.
- NextQuestID < 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.
- ExclusiveGroup
- ExclusiveGroup > 0: 定义一个任务组,只能完成其中之一
- ExclusiveGroup < 0: 定义一个任务组,必须完成所有任务才能触发后续任务
- 所有使用相同 ExclusiveGroup 的任务必须同时在 quest_pool_template 和 quest_pool_members 里写入对应数据,才能使任务链生效
- BreadcrumbForQuestId
- 引导玩家到一个新的区域或子区域进行任务,它们通常是由NPC在完成前一个任务后提供(英雄的召唤面板、首领的指挥板和冒险指南)
- 通常有多个引导任务,他们有同一个后续任务,通常它们是互斥的,这意味着接受一个引导任务请求将使通往同一位置的所有其他引导任务都不可用
- 通常情况下,完成后续任务会使导致后续任务的任何引导任务都不可用,无论这些任务是否完成
- RequiredSkillID
- 接受任务需要的专业技能,取值参考 SkillLine.dbc | SkillLine.db2
- 以下列出常见的 SkillType
Skill | Value | Comments |
SKILL_NONE | 0 | 不限技能 |
SKILL_BLACKSMITHING | 164 | 铁匠 |
SKILL_LEATHERWORKING | 165 | 制皮 |
SKILL_ALCHEMY | 171 | 炼金 |
SKILL_HERBALISM | 182 | 草药 |
SKILL_COOKING | 185 | 烹饪 |
SKILL_MINING | 186 | 采矿 |
SKILL_TAILORING | 197 | 裁缝 |
SKILL_ENGINEERING | 202 | 工程 |
SKILL_ENCHANTING | 333 | 附魔 |
SKILL_FISHING | 356 | 钓鱼 |
SKILL_SKINNING | 393 | 剥皮 |
SKILL_JEWELCRAFTING | 755 | 珠宝加工 |
SKILL_INSCRIPTION | 773 | 铭文 |
SKILL_ARCHAEOLOGY | 794 | 考古 |
- RequiredSkillPoints
- 接受任务需要的专业技能点数
- RequiredMinRepFaction
- 接受任务需要的最小阵营声望,取值参考 Faction.dbc | Faction.db2
- RequiredMaxRepFaction
- 接受任务需要的最大阵营声望,取值参考 Faction.dbc | Faction.db2
- RequiredMinRepValue
- 接受任务需要的最小阵营声望值
- RequiredMaxRepValue
- 接受任务需要的最大阵营声望值
- SpecialFlags
- 任务特殊标识,取值来源源码的 enum QuestSpecialFlags 定义
-
enum QuestSpecialFlags { QUEST_SPECIAL_FLAGS_NONE = 0x000, // Trinity flags for set SpecialFlags in DB if required but used only at server QUEST_SPECIAL_FLAGS_REPEATABLE = 0x001, // Set by 1 in SpecialFlags from DB QUEST_SPECIAL_FLAGS_AUTO_PUSH_TO_PARTY = 0x002, // Set by 2 in SpecialFlags from DB will make quest be pushed to entire party when one member accepts it QUEST_SPECIAL_FLAGS_AUTO_ACCEPT = 0x004, // Set by 4 in SpecialFlags in DB if the quest is to be auto-accepted. QUEST_SPECIAL_FLAGS_DF_QUEST = 0x008, // Set by 8 in SpecialFlags in DB if the quest is used by Dungeon Finder. QUEST_SPECIAL_FLAGS_MONTHLY = 0x010, // Set by 16 in SpecialFlags in DB if the quest is reset at the begining of the month // room for more custom flags QUEST_SPECIAL_FLAGS_DB_ALLOWED = QUEST_SPECIAL_FLAGS_REPEATABLE | QUEST_SPECIAL_FLAGS_AUTO_PUSH_TO_PARTY | QUEST_SPECIAL_FLAGS_AUTO_ACCEPT | QUEST_SPECIAL_FLAGS_DF_QUEST | QUEST_SPECIAL_FLAGS_MONTHLY, QUEST_SPECIAL_FLAGS_SEQUENCED_OBJECTIVES = 0x020, // Internal flag computed only };
相关链接:
相关附表参见:
任务修复思路及实现