📖 表说明
游戏事件季节性任务关系表定义了季节性任务与事件的关联。这个表用于控制季节性任务在特定事件期间的可用性。
数据来源: 本文档基于AzerothCore官方Wiki和官方数据表借鉴.sql编写。
📊 表结构
| 字段名 | 数据类型 | 描述 |
|---|---|---|
| quest_id | int UNSIGNED | 任务ID(主键) |
| eventEntry | tinyint UNSIGNED | 事件ID(主键) |
主键: quest_id + eventEntry(联合主键)
🔍 重要字段详解
questId (任务ID)
季节任务的任务ID,对应quest_template表的ID字段,是表的主键之一。意味着每个任务在此表最多关联一个事件。
季节任务的特点是仅在特定节日/活动期间才能接取和完成,事件结束后任务会从玩家任务列表中移除(或变为不可用)。
eventEntry (事件ID)
关联的游戏事件ID,与questId组成联合主键。此字段控制任务在哪个事件期间可用。
常见季节事件:
- 24 - 美酒节(Brewfest)
- 12 - 万圣节(Hallow's End)
- 1 - 仲夏火焰节
- 2 - 冬幕节
事件激活时关联的任务自动可用,事件结束时任务自动移除。
💡 实战案例
查询美酒节所有可用任务:
SELECT gs.questId, qt.Title, gs.eventEntry
FROM game_event_seasonal_questrelation gs
JOIN quest_template qt ON gs.questId = qt.ID
WHERE gs.eventEntry = 24;
将自定义任务设置为冬幕节季节任务:
INSERT INTO game_event_seasonal_questrelation (questId, eventEntry)
VALUES (90001, 2);
❓ 常见问题
Q: 季节任务和普通事件任务有什么区别?
季节任务通过本表关联事件,事件期间自动可用、结束后自动移除。普通事件任务则可能通过game_event_quest_condition、game_event_creature_quest等表间接关联,行为可能不同。季节任务专为节日设计,管理方式更简洁直观。
Q: 事件结束后玩家正在进行的季节任务会发生什么?
事件结束后,玩家正在进行的季节任务会被自动从任务列表中移除。玩家之前完成的季节任务记录也会被清除(存储在character_queststatus_seasonal表中的数据会被定期重置),以便下次事件时可以重新完成。