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 17:06:32 +02:00
parent 923249085a
commit 08ced2a58b
2 changed files with 6 additions and 3 deletions
+2 -1
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)
+4 -2
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;
}