LiquidType.dbc
液体属性定义文件。控制游戏中所有液体类型(水、岩浆、软泥、海洋等)的渲染效果、声音、法术效果和物理属性
文件概述
LiquidType.dbc 定义了游戏中所有液体类型的渲染和物理属性。每种液体类型包含标志位、声音、关联法术、深度颜色、粒子效果、纹理贴图等参数。在地图文件中被引用以标记地表液体区域。
列结构
| 列号 | 字段 | 类型 | 详细说明 |
|---|---|---|---|
| 1 | 编号 | 整数 | 液体类型唯一标识符 |
| 2 | 名称 | 字符串 | 液体类型的名称 |
| 3 | 标识 | 整数 | 液体行为标志位。水=1,2,4,8;岩浆=8,16,32,64;软泥=2,64,256;海洋=1,2,4,8,512 |
| 4 | 类型 | 整数 | 液体分类:0=水,1=海洋,2=岩浆,3=软泥 |
| 5 | 声音编号 | 整数 | 声音库ID,进入/游泳/溅射音效,参考 SoundEntries.dbc |
| 6 | 法术编号 | 整数 | 进入液体时触发的法术(伤害/增益效果),参考 Spell.dbc |
| 7 | 最大黑暗深度 | 浮点数 | 液体变暗的最大深度,仅针对软泥和岩浆 |
| 8 | 烟雾黑暗强度 | 浮点数 | 水面上方烟雾/雾气的黑暗强度,值7/8/9。仅海洋使用此参数 |
| 9 | Amb 黑暗强度 | 浮点数 | 环境光在水下的黑暗强度 |
| 10 | Dir 黑暗强度 | 浮点数 | 直射光在水下的黑暗强度 |
| 11 | 光线编号 | 整数 | 液体光线设置:6=软泥,7=岩浆 |
| 12 | 粒子尺寸 | 浮点数 | 液体表面粒子效果尺寸:0=软泥,1=水/海洋,4=岩浆 |
| 13 | 粒子移动 | 浮点数 | 液体粒子移动速度参数 |
| 14 | 粒子槽 | 整数 | 粒子特效槽位 |
| 15 | 液体材质 | 整数 | 液体渲染材质ID,参考 LiquidMaterial.dbc |
| 16~21 | 纹理贴图 | 字符串 | 液体表面的纹理贴图路径(6列) |
| 22~23 | 颜色 | 整数 | 液体的颜色值(浅色/深色) |
| 24~41 | 未知 | 整数 | (用途待确认) |
| 42~45 | 未知 | 整数 | (用途待确认) |
关键字段详解
液体类型分类
| 类型值 | 液体 | 标志位示例 | 特征 |
|---|---|---|---|
| 0 | 水 | 1,2,4,8 | 透明、可游泳、淡蓝色 |
| 1 | 海洋 | 1,2,4,8,512 | 深蓝色、波浪效果、有烟雾参数 |
| 2 | 岩浆 | 8,16,32,64 | 橙色发光、持续火焰伤害、粒子尺寸=4 |
| 3 | 软泥 | 2,64,256 | 黏稠、移动减速、粒子尺寸=0 |
黑暗强度参数
控制液体在水下的能见度:
- 最大黑暗深度:仅软泥和岩浆使用,决定液体变暗的最大深度值
- 烟雾黑暗强度:仅海洋使用(值7/8/9),控制海面的雾气效果
- Amb/Dir 黑暗强度:分别控制环境光和直射光在水下的衰减
法术与声音
进入不同液体时自动触发的效果:
- 声音编号:参考 SoundEntries.dbc,控制进入液体、游泳、溅射的音效
- 法术编号:参考 Spell.dbc,岩浆/毒液区域触发周期性伤害法术
粒子效果
液体表面显示的粒子动画:
- 粒子尺寸:控制粒子的显示大小(0=软泥, 1=水, 4=岩浆)
- 粒子移动:控制粒子的移动速度
- 纹理贴图(16~21):液体表面的6张贴图,定义液体外观纹理
使用示例
-- 查询所有会造成伤害的液体
SELECT 编号, 名称, 法术编号
FROM liquid_type
WHERE 类型 = 2; -- 岩浆
使用技巧
- 游泳判定:由标识位决定是否可游泳及深度阈值
- 伤害液体:岩浆/软泥通过法术编号触发周期性伤害
- 液体材质:参考 LiquidMaterial.dbc 获取更详细的材质参数
- 地图编辑:液体类型在 .adt 地图文件中定义
- 参考:AzerothCore Wiki - liquid_type