Merge remote-tracking branch 'origin/NetHack-3.6.0'
This commit is contained in:
36
src/bones.c
36
src/bones.c
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 bones.c $NHDT-Date: 1503309019 2017/08/21 09:50:19 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.70 $ */
|
||||
/* NetHack 3.6 bones.c $NHDT-Date: 1508827591 2017/10/24 06:46:31 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.71 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985,1993. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -127,7 +127,7 @@ boolean restore;
|
||||
otmp->spe = 1;
|
||||
#endif
|
||||
} else if (otmp->otyp == EGG) {
|
||||
otmp->spe = 0;
|
||||
otmp->spe = 0; /* not "laid by you" in next game */
|
||||
} else if (otmp->otyp == TIN) {
|
||||
/* make tins of unique monster's meat be empty */
|
||||
if (otmp->corpsenm >= LOW_PM
|
||||
@@ -136,24 +136,30 @@ boolean restore;
|
||||
} else if (otmp->otyp == CORPSE || otmp->otyp == STATUE) {
|
||||
int mnum = otmp->corpsenm;
|
||||
|
||||
/* Discard incarnation details of unique
|
||||
monsters (by passing null instead of otmp
|
||||
for object), shopkeepers (by passing false
|
||||
for revival flag), temple priests, and
|
||||
vault guards in order to prevent corpse
|
||||
revival or statue reanimation. */
|
||||
/* Discard incarnation details of unique monsters
|
||||
(by passing null instead of otmp for object),
|
||||
shopkeepers (by passing false for revival flag),
|
||||
temple priests, and vault guards in order to
|
||||
prevent corpse revival or statue reanimation. */
|
||||
if (has_omonst(otmp)
|
||||
&& cant_revive(&mnum, FALSE, (struct obj *) 0)) {
|
||||
free_omonst(otmp);
|
||||
/* mnum is now either human_zombie or
|
||||
doppelganger; for corpses of uniques,
|
||||
we need to force the transformation
|
||||
now rather than wait until a revival
|
||||
attempt, otherwise eating this corpse
|
||||
/* mnum is now either human_zombie or doppelganger;
|
||||
for corpses of uniques, we need to force the
|
||||
transformation now rather than wait until a
|
||||
revival attempt, otherwise eating this corpse
|
||||
would behave as if it remains unique */
|
||||
if (mnum == PM_DOPPELGANGER && otmp->otyp == CORPSE)
|
||||
set_corpsenm(otmp, mnum);
|
||||
}
|
||||
} else if ((otmp->otyp == iflags.mines_prize_type
|
||||
&& !Is_mineend_level(&u.uz))
|
||||
|| ((otmp->otyp == iflags.soko_prize_type1
|
||||
|| otmp->otyp == iflags.soko_prize_type2)
|
||||
&& !Is_sokoend_level(&u.uz))) {
|
||||
/* "special prize" in this game becomes ordinary object
|
||||
if loaded into another game */
|
||||
otmp->record_achieve_special = NON_PM;
|
||||
} else if (otmp->otyp == AMULET_OF_YENDOR) {
|
||||
/* no longer the real Amulet */
|
||||
otmp->otyp = FAKE_AMULET_OF_YENDOR;
|
||||
@@ -186,8 +192,8 @@ sanitize_name(namebuf)
|
||||
char *namebuf;
|
||||
{
|
||||
int c;
|
||||
boolean strip_8th_bit =
|
||||
!strcmp(windowprocs.name, "tty") && !iflags.wc_eight_bit_input;
|
||||
boolean strip_8th_bit = (!strcmp(windowprocs.name, "tty")
|
||||
&& !iflags.wc_eight_bit_input);
|
||||
|
||||
/* it's tempting to skip this for single-user platforms, since
|
||||
only the current player could have left these bones--except
|
||||
|
||||
Reference in New Issue
Block a user