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.
|
* "cover" any objects or traps that might be there.
|
||||||
*/
|
*/
|
||||||
#define covers_objects(xx, yy) \
|
#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)
|
#define covers_traps(xx, yy) covers_objects(xx, yy)
|
||||||
|
|
||||||
|
|||||||
@@ -1137,9 +1137,11 @@ dokick(void)
|
|||||||
return ECMD_TIME;
|
return ECMD_TIME;
|
||||||
}
|
}
|
||||||
(void) unmap_invisible(x, y);
|
(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 */
|
/* 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;
|
return ECMD_TIME;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user