Items landing into a wall of lava are covered up by it.
Kicking behaves the same as wall of water: splashes,
but doesn't move the item.
* "cover" any objects or traps that might be there.
*/
#define covers_objects(xx, yy) \
- ((is_pool(xx, yy) && !Underwater) || (levl[xx][yy].typ == LAVAPOOL))
+ ((is_pool(xx, yy) && !Underwater) || (levl[xx][yy].typ == LAVAPOOL) \
+ || (levl[xx][yy].typ == LAVAWALL))
#define covers_traps(xx, yy) covers_objects(xx, yy)
return ECMD_TIME;
}
(void) unmap_invisible(x, y);
- if (is_pool(x, y) ^ !!u.uinwater) {
+ if ((is_pool(x, y) || gm.maploc->typ == LAVAWALL) ^ !!u.uinwater) {
/* objects normally can't be removed from water by kicking */
- You("splash some %s around.", hliquid("water"));
+ You("splash some %s around.",
+ hliquid(is_pool(x, y) ? "water" : "lava"));
+ /* pretend the kick is fast enough for lava not to burn */
return ECMD_TIME;
}