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:
@@ -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)
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user