📖 表说明

游戏事件战场假期表定义了战场假期与事件的关联。这个表用于控制战场假期在特定事件期间的开启。

数据来源: 本文档基于AzerothCore官方Wiki和官方数据表借鉴.sql编写。

📊 表结构

字段名数据类型描述
eventEntrytinyint UNSIGNED事件ID(主键)
bgflagint UNSIGNED战场标志

主键: eventEntry

🔍 重要字段详解

eventEntry (事件ID)

主键,关联game_event表的eventEntry。战场假日事件通常使用固定ID(如18=战歌峡谷假日,19=阿拉希盆地假日,20=奥特兰克山谷假日,21=风暴之眼假日)。

bgflag (战场标志)

战场标识值,与BattlemasterList.dbc中的战场ID对应。常见值:1=奥特兰克山谷,2=战歌峡谷,3=阿拉希盆地,7=风暴之眼。正确设置可激活战场假日的额外奖励。

💡 实战案例

查询所有战场假日事件配置:
SELECT gbh.eventEntry, gbh.bgflag, ge.description, ge.occurence, ge.length
FROM game_event_battleground_holiday gbh
JOIN game_event ge ON gbh.eventEntry = ge.eventEntry
ORDER BY gbh.eventEntry;
添加战歌峡谷周末假日事件:
INSERT INTO game_event_battleground_holiday (eventEntry, bgflag)
VALUES (18, 2)
ON DUPLICATE KEY UPDATE bgflag = 2;

❓ 常见问题

Q: bgflag值与哪些战场对应?

A: bgflag引用BattlemasterList.dbc中的ID:1=奥特兰克山谷,2=战歌峡谷,3=阿拉希盆地,4=纳格兰竞技场,5=刀锋山竞技场,6=所有竞技场,7=风暴之眼。

Q: 战场假日不显示额外荣誉奖励?

A: 确认game_event表中对应eventEntry的occurence和length设置正确(通常每周一次),holiday字段需要关联正确的Holiday ID,且start_time必须在有效范围内。