文件概述

MapDifficulty.dbc 为每张地图定义不同难度模式的配置。每个难度对应独立的记录,控制副本重置周期、允许的玩家数量、以及不满足进入条件时向玩家显示的区域触发文字。

列结构

列号字段类型详细说明
1编号整数难度配置唯一标识符
2地图编号整数对应的地图编号,参考 Map.dbc
3难度整数难度等级。对于竞技场地图为竞技场槽位。值:0=5人普通、1=5人英雄、2=10人普通团本、3=25人普通团本、4=10人英雄团本
4~19区域触发文字字符串传送进入地图失败时显示的文字(即不满足进入要求时),支持各国语言版本
20文字标识整数区域触发文字的标志位
21重置时间整数副本锁定重置时间(秒)。86400=1天、259200=3天、604800=7天(大部分团本)
22最大玩家数量整数实例最大允许的玩家数。5人副本=5、10人团本=10、25人团本=25
23难度说明字符串难度显示文本,如"10 Player"、"25 Player"、"Heroic"等

关键字段详解

难度等级

WotLK 定义如下:

难度说明
05人普通 (DUNGEON_NORMAL)普通5人副本
15人英雄 (DUNGEON_HEROIC)英雄5人副本
210人普通团本RAID_10MAN_NORMAL
325人普通团本RAID_25MAN_NORMAL
410人英雄团本RAID_10MAN_HEROIC

对于竞技场地图,难度字段表示竞技场槽位编号。

区域触发文字(列4~19)

玩家试图传送到地图但条件不满足时,显示对应的提示文字告知玩家无法进入的原因。例如等级不足、未完成前置任务、副本已锁定等。支持多种语言的本地化。

重置时间

常见设置:

  • 0:5人普通模式,可随时手动重置
  • 86400(1天):5人英雄模式,每天凌晨重置
  • 259200(3天):部分特殊副本
  • 604800(7天):大部分团本,每周重置
最大玩家数量

超出上限的玩家无法进入实例。如果此字段未定义或为0,则回退到 Map.dbc 中设置的最大玩家数。

使用示例

查询团本重置时间

-- 查询所有7天重置的团本
SELECT m.MapName_enUS, md.难度, md.重置时间, md.最大玩家数量
FROM map_difficulty md
JOIN map_dbc m ON md.地图编号 = m.ID
WHERE md.重置时间 = 604800;

使用技巧