Lava walls cover objects

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.
This commit is contained in:
Pasi Kallinen
2023-02-21 16:52:22 +02:00
parent 923249085a
commit 08ced2a58b
2 changed files with 6 additions and 3 deletions

View File

@@ -216,7 +216,8 @@
* "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)

View File

@@ -1137,9 +1137,11 @@ dokick(void)
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;
}