dungeon_access_requirements 表
dungeon_access_requirements表定义进入副本/团本的具体条件要求(成就、任务、物品)。
表概述
dungeon_access_requirements表配合dungeon_access_template使用,为每个副本进入模板添加具体的前置条件。支持三种条件类型:成就、任务和物品。系统会检查玩家是否满足所有条件才允许进入。
主键为 (dungeon_access_id, requirement_type, requirement_id),支持faction阵营区分和leader_only队长检查。
表结构
| 字段名 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|
| dungeon_access_id | TINYINT UNSIGNED | NOT NULL | 对应dungeon_access_template.id(主键) |
| requirement_type | TINYINT UNSIGNED | NOT NULL | 条件类型:0=成就 1=任务 2=物品(主键) |
| requirement_id | INT UNSIGNED | NOT NULL | 成就/任务/物品ID(主键) |
| requirement_note | VARCHAR(255) | NULL | 不满足条件时显示给玩家的提示 |
| faction | TINYINT UNSIGNED | 2 | 阵营:0=联盟 1=部落 2=双方 |
| priority | TINYINT UNSIGNED | NULL | 优先级(0最高),同类型排序 |
| leader_only | TINYINT | 0 | 0=检查自己 1=检查队长 |
| comment | VARCHAR(255) | NULL | 注释 |
重要字段详解
requirement_type (条件类型)
三种进入条件类型:
- 0 - 成就:requirement_id为成就ID
- 1 - 任务:requirement_id为任务ID(需完成或持有)
- 2 - 物品:requirement_id为物品ID(需拥有)
leader_only (队长检查)
控制条件检查对象:
- 0 - 检查正在进入的玩家自身
- 1 - 检查队伍/团队队长
当leader_only=1时,只要队长满足条件,全队就能进入(如钥匙开门)。
实战案例
设置ICC英雄模式需要成就+阵营限制
INSERT INTO dungeon_access_requirements
(dungeon_access_id, requirement_type, requirement_id, requirement_note, faction, leader_only, comment)
VALUES
(101, 0, 4530, '需要成就:冰冠堡垒(英雄)', 2, 0, 'ICC英雄-需要成就');
查询某模板的所有进入条件
SELECT requirement_type,
CASE requirement_type
WHEN 0 THEN '成就'
WHEN 1 THEN '任务'
WHEN 2 THEN '物品'
END AS type_name,
requirement_id, requirement_note, faction, leader_only
FROM dungeon_access_requirements
WHERE dungeon_access_id = 30
ORDER BY requirement_type, priority;
常见问题
Q: 多个条件时如何检查?
A: 所有条件必须全部满足(AND逻辑)。如果任一条件不满足,玩家无法进入副本并看到requirement_note中的提示信息。
Q: faction=2的效果?
A: 双方阵营均需满足该条件。如果要让联盟和部落有不同的进入条件,使用两条记录分别设置faction=0和faction=1即可。