This adds a superset of the code from github pull request #328 to create a short-lived cloud of steam when fire hits a pool or fountain. The original code required C99; this doesn't. It also allowed vapor clouds on the Plane of Water where they don't work sanely becaure regions don't understand air bubble movement and/or vice versa. This inhibits the clouds there [the same ought to be done for scrolls of stinking cloud]. It also left as-is the code that reported when fountains got used up even though conceptually the steam should interfere with being able to see that. This adds a glyph-check hack to augment cansee() so that fountains that boil away entirely are hidden at the time. Regions that block line of slight should be calling block_point() when created and unblock_point() when removed but a naive attempt to introduce that didn't work as expected so I'm giving up on. Fixes #328
20 KiB
20 KiB