DB/LiquidType
Jump to navigation
Jump to search
Properties of water. Added (build: 5428) to account for the damage caused by the Slime in Naxxramas.
Note that type 8 is used for debugging, and invalid entries might fall back to that.
Offset | Name | Type | Comment | |
---|---|---|---|---|
0 | Id | int | ||
cata | minDetail | int | ||
cata | loDetailID | int | ||
cata | hiDetailID | int | ||
1 | Name | string | ||
cata | flags | int | ||
cata | soundBank | int | ||
2 | flags | int | Water: 1, 2, 4, 8; Magma: 8, 16, 32, 64; Slime: 2, 64, 256; WMO Ocean: 1, 2, 4, 8, 512 | |
3 | Type | int | 0: Water, 1: Ocean, 2: Magma, 3: Slime | |
4 | SoundEntriesID | int | SoundEntries.dbc irefid | |
5 | SpellID | int | Spell.dbc irefID | |
6 | maxDarkenDepth | float | only for slime and magma | |
7 | fogDarkenIntensity | float | 7,8,9: Only oceans got values here! | |
8 | ambDarkenIntensity | float | ||
9 | dirDarkenIntensity | float | ||
10 | lightID | int | Only Slime (6) and Magma (7) | |
11 | particleScale | float | 0: Slime, 1: Water / Ocean, 4: Magma | |
12 | particleMovement | int | ||
13 | particleTexSlots | int | ||
14 | LiquidMaterialID | int | (LiquidMaterial.dbc irefid?) this defines the shaders used. (1: "*sLiquidWater", 2: "*sLiquidMagma", 3: "*sLiquidProcWater%s" where %s is an appendix that is currently always "") | |
15-19 | texture | string[6] | these are passed into the texture[] of the shaders. | |
20-22 | color | int[2] | ||
23-40 | floats | float[18] | most likely these are attributes for the shaders. Water: (23, TextureTilesPerBlock),(24, Rotation) Magma: (23, AnimationX),(24, AnimationY) | |
41-44 | ints | int[4] | if (!material.LVF & ~2) | material.LVF == 4), then [0]: 1 → ocean, 0 → river depth coord table; 1 for oceans, 0 or 1250. only set for water / ocean and only for the procedual in all 3 fields. else only the first. |
6.0.1.18179
struct LiquidTypeRec { uint32_t m_ID; stringref m_name; uint32_t m_flags; // &4: IsLiquidWaterWalkable uint32_t m_soundBank; uint32_t m_soundID; uint32_t m_spellID; float m_maxDarkenDepth; float m_fogDarkenIntensity; float m_ambDarkenIntensity; float m_dirDarkenIntensity; uint32_t m_lightID; float m_particleScale; uint32_t m_particleMovement; uint32_t m_particleTexSlots; uint32_t m_materialID; stringref m_texture[6]; // implementation detail in Liquid::CMaterialSettings limits them to 128 bytes! uint32_t m_color[2]; float m_float[18]; uint32_t m_int[4]; };