vault guard behavior
From the newsgroup: vault guards would ask your name--and you'd be able to respond--even when you were unconscious (for any reason besides fainting from lack of food) or paralyzed. (The code already made the guard be forgiving when you failed to promptly follow him out due to that situation, but it would repeatedly say "move along!" even though you were unable to move.)
This commit is contained in:
@@ -86,6 +86,7 @@ scroll of enchant weapon will become discovered when read in some cases
|
|||||||
don't crash when using lookat on a boulder an BOULDER sym is unique
|
don't crash when using lookat on a boulder an BOULDER sym is unique
|
||||||
attaching a single candle to fill candelabrum's last slot gave message with
|
attaching a single candle to fill candelabrum's last slot gave message with
|
||||||
poor grammar: "The candelabrum now has seven candle attached."
|
poor grammar: "The candelabrum now has seven candle attached."
|
||||||
|
vault guards won't ask who you are if you're unconscious or paralyzed
|
||||||
|
|
||||||
|
|
||||||
Platform- and/or Interface-Specific Fixes
|
Platform- and/or Interface-Specific Fixes
|
||||||
|
|||||||
+12
-5
@@ -1,4 +1,4 @@
|
|||||||
/* SCCS Id: @(#)vault.c 3.4 2001/05/24 */
|
/* SCCS Id: @(#)vault.c 3.4 2002/04/18 */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -133,7 +133,7 @@ invault()
|
|||||||
int dummy; /* hack to avoid schain botch */
|
int dummy; /* hack to avoid schain botch */
|
||||||
#endif
|
#endif
|
||||||
struct monst *guard;
|
struct monst *guard;
|
||||||
int vaultroom = (int)vault_occupied(u.urooms);
|
int trycount, vaultroom = (int)vault_occupied(u.urooms);
|
||||||
|
|
||||||
if(!vaultroom) {
|
if(!vaultroom) {
|
||||||
u.uinvault = 0;
|
u.uinvault = 0;
|
||||||
@@ -250,15 +250,22 @@ fnd:
|
|||||||
mongone(guard);
|
mongone(guard);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (Strangled || is_silent(youmonst.data)) {
|
if (Strangled || is_silent(youmonst.data) || multi < 0) {
|
||||||
|
/* [we ought to record whether this this message has already
|
||||||
|
been given in order to vary it upon repeat visits, but
|
||||||
|
discarding the monster and its egd data renders that hard] */
|
||||||
verbalize("I'll be back when you're ready to speak to me!");
|
verbalize("I'll be back when you're ready to speak to me!");
|
||||||
mongone(guard);
|
mongone(guard);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
stop_occupation(); /* if occupied, stop it *now* */
|
stop_occupation(); /* if occupied, stop it *now* */
|
||||||
|
if (multi > 0) { nomul(0); unmul((char *)0); }
|
||||||
|
trycount = 5;
|
||||||
do {
|
do {
|
||||||
getlin("\"Hello stranger, who are you?\" -",buf);
|
getlin("\"Hello stranger, who are you?\" -", buf);
|
||||||
} while (!letter(buf[0]));
|
(void) mungspaces(buf);
|
||||||
|
} while (!letter(buf[0]) && --trycount > 0);
|
||||||
|
|
||||||
if (u.ualign.type == A_LAWFUL &&
|
if (u.ualign.type == A_LAWFUL &&
|
||||||
/* ignore trailing text, in case player includes character's rank */
|
/* ignore trailing text, in case player includes character's rank */
|
||||||
|
|||||||
Reference in New Issue
Block a user