Map.dbc存储了游戏中所有地图的基本信息。这个文件定义了地图的名称、类型、难度、进入要求等属性。地图是魔兽世界中最基本的游戏环境单位,包括大陆、副本、战场等。
注意: 在AzerothCore中,地图数据通常与world.instance_template表配合使用,以定义副本的属性和行为。
以下是Map.dbc中的主要字段:
| 字段名 | 类型 | 描述 |
|---|---|---|
| ID | 整数 | 地图唯一标识符 |
| Directory | 字符串 | 地图目录名 |
| InstanceType | 整数 | 实例类型 |
| Flags | 整数 | 地图标志位 |
| PVP | 整数 | 是否为PVP地图 |
| MapName | 字符串 | 地图名称 |
| AreaTableID | 整数 | 区域表ID |
| MapDescription0 | 字符串 | 地图描述(联盟) |
| MapDescription1 | 字符串 | 地图描述(部落) |
| LoadingScreenID | 整数 | 加载屏幕ID |
| MinimapIconScale | 浮点数 | 小地图图标缩放 |
| CorpseMapID | 整数 | 尸体地图ID |
| CorpseX | 浮点数 | 尸体X坐标 |
| CorpseY | 浮点数 | 尸体Y坐标 |
| TimeOfDayOverride | 整数 | 时间覆盖 |
| ExpansionID | 整数 | 资料片ID |
| RaidOffset | 整数 | 团队副本偏移 |
| MaxPlayers | 整数 | 最大玩家数 |
实例类型字段定义了地图的类型:
| 值 | 名称 | 描述 |
|---|---|---|
| 0 | MAP_COMMON | 普通地图(如大陆) |
| 1 | MAP_INSTANCE | 副本地图(如地下城) |
| 2 | MAP_RAID | 团队副本地图 |
| 3 | MAP_BATTLEGROUND | 战场地图 |
| 4 | MAP_ARENA | 竞技场地图 |
| 5 | MAP_SCENARIO | 场景地图 |
地图标志位字段定义了地图的特殊属性:
| 值 | 名称 | 描述 |
|---|---|---|
| 0x1 | MAP_DYNAMIC_DIFFICULTY | 动态难度 |
| 0x2 | MAP_FLEX_LOCKING | 弹性锁定 |
| 0x4 | MAP_GARRISON | 要塞 |
| 0x8 | MAP_DISALLOW_MOUNT | 禁止坐骑 |
| 0x10 | MAP_DISALLOW_TAXI | 禁止飞行路线 |
| 0x20 | MAP_DISALLOW_PLAYER_COMBAT | 禁止玩家战斗 |
| 0x40 | MAP_DISALLOW_SWIMMING | 禁止游泳 |
| 0x80 | MAP_DISALLOW_FLYING | 禁止飞行 |
| 0x100 | MAP_DISALLOW_JUMPING | 禁止跳跃 |
| 0x200 | MAP_DISALLOW_PATHFINDING | 禁止寻路 |
| 0x400 | MAP_DISALLOW_GRAVEYARD_TELEPORT | 禁止墓地传送 |
| 0x800 | MAP_DISALLOW_RESURRECTION | 禁止复活 |
| 0x1000 | MAP_DISALLOW_CAMERA_CONTROL | 禁止摄像机控制 |
| 0x2000 | MAP_DISALLOW_AREA_TRIGGER | 禁止区域触发器 |
| 0x4000 | MAP_DISALLOW_CHALLENGE_MODE | 禁止挑战模式 |
| 0x8000 | MAP_DISALLOW_PETS | 禁止宠物 |
以下是一些常用的地图ID:
| ID | 名称 | 类型 | 描述 |
|---|---|---|---|
| 0 | 东部王国 | 大陆 | 包括暴风城、铁炉堡、幽暗城等 |
| 1 | 卡利姆多 | 大陆 | 包括奥格瑞玛、雷霆崖、达纳苏斯等 |
| 30 | 奥特兰克山谷 | 战场 | 40人战场 |
| 33 | 影牙城堡 | 副本 | 5人副本 |
| 34 | 死亡矿井 | 副本 | 5人副本 |
| 36 | 死亡矿井 | 副本 | 5人副本 |
| 43 | 哀嚎洞穴 | 副本 | 5人副本 |
| 47 | 剃刀沼泽 | 副本 | 5人副本 |
| 48 | 黑石深渊 | 副本 | 5人副本 |
| 70 | 奥达曼 | 副本 | 5人副本 |
| 90 | 诺莫瑞根 | 副本 | 5人副本 |
| 109 | 沉没的神庙 | 副本 | 5人副本 |
| 129 | 剃刀高地 | 副本 | 5人副本 |
| 189 | 血色修道院 | 副本 | 5人副本 |
| 209 | 祖尔法拉克 | 副本 | 5人副本 |
| 229 | 黑石塔 | 副本 | 5人副本 |
| 230 | 厄运之槌 | 副本 | 5人副本 |
| 249 | 奥妮克希亚的巢穴 | 团队副本 | 40人团队副本 |
| 269 | 黑石山脉 | 大陆 | 包括黑石深渊、黑石塔等 |
| 289 | 斯坦索姆 | 副本 | 5人副本 |
| 309 | 祖尔格拉布 | 团队副本 | 20人团队副本 |
| 329 | 斯坦索姆 | 副本 | 5人副本 |
| 349 | 玛拉顿 | 副本 | 5人副本 |
| 369 | 深渊之核 | 团队副本 | 40人团队副本 |
| 389 | 怒焰裂谷 | 副本 | 5人副本 |
| 409 | 熔火之心 | 团队副本 | 40人团队副本 |
| 429 | 厄运之槌 | 副本 | 5人副本 |
| 469 | 黑翼之巢 | 团队副本 | 40人团队副本 |
| 489 | 战歌峡谷 | 战场 | 10人战场 |
| 509 | 安其拉废墟 | 团队副本 | 20人团队副本 |
| 529 | 阿拉希盆地 | 战场 | 15人战场 |
| 531 | 安其拉神殿 | 团队副本 | 40人团队副本 |
| 533 | 纳克萨玛斯 | 团队副本 | 40人团队副本 |
| 559 | 纳格兰竞技场 | 竞技场 | 2v2/3v3/5v5竞技场 |
| 560 | 旧希尔斯布莱德丘陵 | 副本 | 5人副本 |
| 566 | 刀锋山竞技场 | 竞技场 | 2v2/3v3/5v5竞技场 |
| 571 | 诺森德 | 大陆 | 包括达拉然、冰冠堡垒等 |
| 572 | 洛丹伦废墟 | 竞技场 | 2v2/3v3/5v5竞技场 |
| 607 | 远古海滩 | 战场 | 15人战场 |
| 631 | 冰冠堡垒 | 团队副本 | 10/25人团队副本 |
在AzerothCore中,地图数据与多个数据库表有关联:
提示: 在创建自定义副本时,需要同时修改Map.dbc和相关的数据库表。
以下SQL语句将查询副本"熔火之心"的信息:
SELECT * FROM instance_template WHERE map = 409;
以下SQL语句将查询进入"熔火之心"的传送点:
SELECT * FROM areatrigger_teleport WHERE target_map = 409;
以下SQL语句将查询进入"熔火之心"的要求:
SELECT * FROM access_requirement WHERE mapId = 409;