Merge branch 'NetHack-3.6.2'
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 teleport.c $NHDT-Date: 1546655319 2019/01/05 02:28:39 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.83 $ */
|
||||
/* NetHack 3.6 teleport.c $NHDT-Date: 1549157815 2019/02/03 01:36:55 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.84 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Robert Patrick Rankin, 2011. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -249,6 +249,7 @@ register int nux, nuy;
|
||||
boolean allow_drag;
|
||||
{
|
||||
boolean ball_active, ball_still_in_range;
|
||||
struct monst *vault_guard = vault_occupied(u.urooms) ? findgd() : 0;
|
||||
|
||||
if (u.utraptype == TT_BURIEDBALL) {
|
||||
/* unearth it */
|
||||
@@ -351,6 +352,21 @@ boolean allow_drag;
|
||||
else
|
||||
g.telescroll = 0; /* no discovery by scrolltele()'s caller */
|
||||
}
|
||||
/* sequencing issue: we want guard's alarm, if any, to occur before
|
||||
room entry message, if any, so need to check for vault exit prior
|
||||
to spoteffects; but spoteffects() sets up new value for u.urooms
|
||||
and vault code depends upon that value, so we need to fake it */
|
||||
if (vault_guard) {
|
||||
char save_urooms[5]; /* [sizeof u.urooms] */
|
||||
|
||||
Strcpy(save_urooms, u.urooms);
|
||||
Strcpy(u.urooms, in_rooms(u.ux, u.uy, VAULT));
|
||||
/* if hero has left vault, make guard notice */
|
||||
if (!vault_occupied(u.urooms))
|
||||
uleftvault(vault_guard);
|
||||
Strcpy(u.urooms, save_urooms); /* reset prior to spoteffects() */
|
||||
}
|
||||
/* possible shop entry message comes after guard's shrill whistle */
|
||||
spoteffects(TRUE);
|
||||
invocation_message();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user