From: nethack.allison Date: Fri, 24 Oct 2003 01:54:34 +0000 (+0000) Subject: buglist: polymorphed into quantum mechanic X-Git-Tag: MOVE2GIT~1647 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=96b0d848b23df558a62d44b1ccc4b899bb840480;p=nethack buglist: polymorphed into quantum mechanic wrote: - When polymorphed into a quantum mechanic, it is possible to jump in the water on a no teleport level and instinctively teleport. - When an engulfing monster is teleported away on a no teleport level when the hero is polymorphed into a quantum mechanic, there is no message displayed like "You are no longer engulfed!" because u_teleport_mon is passed FALSE for give feedback. But maybe this is for a good reason... --- diff --git a/doc/fixes34.3 b/doc/fixes34.3 index 21c022b32..8d8eaf76f 100644 --- a/doc/fixes34.3 +++ b/doc/fixes34.3 @@ -74,6 +74,10 @@ barbarians can become export in short sword skill samurai are now limited to master in martial arts skill; barbarians and cavemen are now limited to master in bare-handed combat skill tweak messages when werefoo summons help +when polymorphed into a quantum mechanic, it was possible to jump into + the water on a no teleport level and instinctively teleport +when polymorphed into a quantum mechanic on a no teleport level and swallowed, + no feedback was given when you teleported the swallower away Platform- and/or Interface-Specific Fixes diff --git a/src/trap.c b/src/trap.c index 2084e93a0..7ce31349c 100644 --- a/src/trap.c +++ b/src/trap.c @@ -2860,9 +2860,11 @@ drown() if ((Teleportation || can_teleport(youmonst.data)) && !u.usleep && (Teleport_control || rn2(3) < Luck+2)) { You("attempt a teleport spell."); /* utcsri!carroll */ - (void) dotele(); - if(!is_pool(u.ux,u.uy)) - return(TRUE); + if (!level.flags.noteleport) { + (void) dotele(); + if(!is_pool(u.ux,u.uy)) + return(TRUE); + } else pline_The("attempted teleport spell fails."); } #ifdef STEED if (u.usteed) { diff --git a/src/uhitm.c b/src/uhitm.c index ebe8cebd5..d42331877 100644 --- a/src/uhitm.c +++ b/src/uhitm.c @@ -1428,7 +1428,8 @@ register struct attack *mattk; if (tmp <= 0) tmp = 1; if (!negated && tmp < mdef->mhp) { char nambuf[BUFSZ]; - boolean u_saw_mon = canseemon(mdef); + boolean u_saw_mon = canseemon(mdef) || + (u.uswallow && u.ustuck == mdef); /* record the name before losing sight of monster */ Strcpy(nambuf, Monnam(mdef)); if (u_teleport_mon(mdef, FALSE) &&