📖 表说明

游戏事件池表定义了事件期间激活的池。这个表用于控制池在特定事件期间的激活状态。负值eventEntry表示在事件期间禁用池。

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

📊 表结构

字段名数据类型描述
eventEntrytinyint事件ID(负值表示禁用)
pool_entryint UNSIGNED池ID(主键)

主键: pool_entry

🔍 重要字段详解

eventEntry (事件ID,支持负值)

关联的游戏事件ID,对应game_event表的eventEntry字段。有特殊机制:

  • 正值:事件激活期间启用该池
  • 负值:事件激活期间禁用该池(池中的生物/物体不会刷新)

例如:-2 表示冬幕节期间禁用该池的刷新。

pool_entry (池ID)

对应pool_template表中的entry值,是表的主键。每个池只能关联一个事件(一个pool_entry在此表最多一条记录)。

池(Pool)是魔兽世界刷怪系统的重要机制,一组池中的生物/物体按概率随机选择一个刷新。

💡 实战案例

在美酒节期间禁用某个日常刷怪池:
INSERT INTO game_event_pool (eventEntry, pool_entry)
VALUES (24, 888);
查询冬幕节期间所有被激活/禁用的池:
SELECT gp.eventEntry, gp.pool_entry, ge.description
FROM game_event_pool gp
JOIN game_event ge ON ABS(gp.eventEntry) = ge.eventEntry
WHERE ABS(gp.eventEntry) = 2;

❓ 常见问题

Q: 负值eventEntry和正值eventEntry的区别是什么?

正值eventEntry表示事件激活时启用该池(池开始刷新),事件结束后恢复事件前的状态。负值eventEntry表示事件激活时禁用该池(池中的内容停止刷新),事件结束后恢复。

Q: 一个池可以关联多个事件吗?

不可以。pool_entry是主键,每个池在此表中最多有一条记录,即只能关联一个事件。如需多事件联动,需要配合game_event_prerequisite表实现事件链。