Water, lava, acid, raising water, waterfalls. Some useful information about complex water. 1. Make sure you have created room with light and info_player_start. 2. Prepare space for water.3. Water cause leaks if outside the world. 4. All Liquid textures that should be used with func_water begins with "!" (exclamation mark) character.
Half-life.wad does not contain lava texture.
Simple Water
1. Choose your water texture and create a brush- fill the area where you want your water reside to. Make the brush touch every wall/floor, but don't make it go through any solid. It's recommended to snap water brush to 64 at every wall/floor, but don't make it go through any solid. It's recommended to snap water brush to 64 grid units.
2. Turn the brush into func_water. That's it. You can change some keyvalues:
content --> using to determine damage type.
wave height --> height of the waves. locked sound --> does not work.
who can open this --> does not work. Water can be "opened" only by trigger. ignore targetname --> does not work. breakable --> Well, water is not solid, so breaking it is not possible. This setting is useless. To remove water use "Kill" trigger.
Other breakable flags does not work either (correct me if I'm wrong). Water is a door type. Sven Co-op adds breakable function to all door entity, even for water. Breakable function doesn't work for water though.
3. Now let's go into "flags" tab:
starts open --> water starts at it's end position. Use only in moving water. passable --> Useless setting, water is already passable. toggle --> water can be freely opening and closing with triggers. Disables "delay before close" function, anyway "delay before close" still must be more than 0. use only --> does not work because water can't be used.
Rest of the flags doesn't do anything.
4. Remember that you can make water transparent by setting it's render mode and fx amount.
Joining water parts
Sometimes we need flooded corridors, whole floors and complex rooms. It is possible to do with single brush, but for more optimization you can create multiple func_water entities. Be careful though- those brush must be properly snapped to grid Wrong connected water brushes makes every water brush waving differently.
1. Create a few func_water brush entities. Water brushes need to be snapped to 64 grid units no matter what. You can connect multiple water brushes only under two conditions: - Both parts need to have the same height - The edges must have at least 64 units, and have to be snapped to that value in the x/y view.
Rising Water (ADVANCED)
1. Create a func_water with desired parameters (keyvalues/flags). Try to make it snapped to 64 units (x/y).
2. By default water travels it's size, e.g. if water have 50 units height, it will travel up/down 50 units. Moving Water need to be inside the world at both starting and ending positions. So if you want water rise from 64 height to 264 height, you need to put water 200 units under the floor, so only 64 units are above it.
Remember to create a room for water if it's out of the world (if the water travels out of the world, the room also need to be created for water at ending position).
3. Water must touching the floor at ending position, otherwise it may turn invisible. Use lip keyvalue to accomplish this (see below).
4. Use the circle on the right top corner to determine in which director the water will travel when triggered. Zero means it move in positive X director. The circle represents top (x/y) view of the editor. You can choose DOWN/UP director from drop-down menu under the circle.
5. Change the keyvalues:
target --> the name of entity to fire after water ends it's movement. speed --> determines how fast water moves (units per seconds). move sound --> name of the loop sound on moving. stop sound --> sound playing when water ends movement. delay before close --> time (in seconds) for water to go back to starting position. Set to "-1" to make water stay "opened". lip --> units to subtract from the total move distance. It's very useful keyvalue, use it when you don't want to water travel it's own size. Negative values increase travel distance.
Picture on the right may help you achieve desirable results.
Waterfall
Waterfall can be created with animated water textures. Half-life.wad contains some of them, with "+" prefix you can browse all animated textures. The half-life waterfall textures have "FALL" word in their name. Also you can use func_conveyor to make waterfalls, but you need "SCROLL" water texture type.
1. Create a func_illusionary that represents waterfall. Texture it with animated texture. You can cut it in many ways to smooth it.
2. Place the ambient_generic to emit waterfall sound. The ambience folder contains sounds like: water_flowing1.wav, water_flowing2.wav e.t.c. Set the radius of the sound.
3. You can put some env_sprite entities at the bottom with smoke sprite to simulate water scattering. Set render mode, fx amount and fx color.
Acid/Lava
1. Create a func_water with desired parameters (keyvalues/flags). Try to make it snapped to 64 units (x/y). Can be moving.
2. Change the contents to Slime/Lava to make it hurt player. You can make your own hurting system by placing trigger_hurt. The most important values for trigger_hurt are damage and damage type.
3. Lava and acid may produce a light, so use info_texlight with lava texture name. Check the entity reference for more info. This method is advanced, so you can still use normal light entities instead of info_texlight, however using texture lightning gives much better effect.
4. There is no need to use Slime/Lava contents when using trigger_hurt, and vice versa.
|
|