Merge branch 'NetHack-3.6'
This commit is contained in:
14
src/trap.c
14
src/trap.c
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 trap.c $NHDT-Date: 1576274483 2019/12/13 22:01:23 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.325 $ */
|
||||
/* NetHack 3.6 trap.c $NHDT-Date: 1576638501 2019/12/18 03:08:21 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.329 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Robert Patrick Rankin, 2013. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -486,8 +486,9 @@ unsigned ftflags;
|
||||
; /* KMH -- You can't escape the Sokoban level traps */
|
||||
else if (Levitation || u.ustuck
|
||||
|| (!Can_fall_thru(&u.uz) && !levl[u.ux][u.uy].candig)
|
||||
|| ((Flying || is_clinger(g.youmonst.data))
|
||||
&& !(ftflags & TOOKPLUNGE))
|
||||
|| ((Flying || is_clinger(g.youmonst.data)
|
||||
|| (ceiling_hider(g.youmonst.data) && u.uundetected))
|
||||
&& !(ftflags & TOOKPLUNGE))
|
||||
|| (Inhell && !u.uevent.invoked && newlevel == bottom)) {
|
||||
dont_fall = "don't fall in.";
|
||||
} else if (g.youmonst.data->msize >= MZ_HUGE) {
|
||||
@@ -3725,6 +3726,7 @@ drown()
|
||||
boolean inpool_ok = FALSE, crawl_ok;
|
||||
int i, x, y;
|
||||
|
||||
feel_newsym(u.ux, u.uy); /* in case Blind, map the water here */
|
||||
/* happily wading in the same contiguous pool */
|
||||
if (u.uinwater && is_pool(u.ux - u.dx, u.uy - u.dy)
|
||||
&& (Swimming || Amphibious)) {
|
||||
@@ -5241,6 +5243,7 @@ lava_effects()
|
||||
int dmg = d(6, 6); /* only applicable for water walking */
|
||||
boolean usurvive, boil_away;
|
||||
|
||||
feel_newsym(u.ux, u.uy); /* in case Blind, map the lava here */
|
||||
burn_away_slime();
|
||||
if (likes_lava(g.youmonst.data))
|
||||
return FALSE;
|
||||
@@ -5365,7 +5368,10 @@ sink_into_lava()
|
||||
static const char sink_deeper[] = "You sink deeper into the lava.";
|
||||
|
||||
if (!u.utrap || u.utraptype != TT_LAVA) {
|
||||
; /* do nothing; this shouldn't happen */
|
||||
; /* do nothing; this usually won't happen but could after
|
||||
* polymorphing from a flier into a ceiling hider and then hiding;
|
||||
* allmain() only checks whether the hero is at a lava location,
|
||||
* not whether he or she is currently sinking */
|
||||
} else if (!is_lava(u.ux, u.uy)) {
|
||||
reset_utrap(FALSE); /* this shouldn't happen either */
|
||||
} else if (!u.uinvulnerable) {
|
||||
|
||||
Reference in New Issue
Block a user