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;