Merge branch 'NetHack-3.6'

This commit is contained in:
nhmall
2019-06-17 15:24:53 -04:00
3 changed files with 58 additions and 36 deletions

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 cmd.c $NHDT-Date: 1559382745 2019/06/01 09:52:25 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.335 $ */ /* NetHack 3.6 cmd.c $NHDT-Date: 1560789049 2019/06/17 16:30:49 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.336 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2013. */ /*-Copyright (c) Robert Patrick Rankin, 2013. */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -4525,21 +4525,50 @@ int NDECL((*cmd_func));
char char
randomkey() randomkey()
{ {
static int i = 0; static unsigned i = 0;
char c; char c;
switch (rn2(12)) { switch (rn2(16)) {
default: c = '\033'; break; default:
case 0: c = '\n'; break; c = '\033';
break;
case 0:
c = '\n';
break;
case 1: case 1:
case 2: case 2:
case 3: case 3:
case 4: c = (char)(' ' + rn2((int)('~' - ' '))); break; case 4:
case 5: c = '\t'; break; c = (char) rn1('~' - ' ' + 1, ' ');
case 6: c = (char)('a' + rn2((int)('z' - 'a'))); break; break;
case 7: c = (char)('A' + rn2((int)('Z' - 'A'))); break; case 5:
case 8: c = extcmdlist[(i++) % SIZE(extcmdlist)].key; break; c = (char) (rn2(2) ? '\t' : ' ');
case 9: c = '#'; break; break;
case 6:
c = (char) rn1('z' - 'a' + 1, 'a');
break;
case 7:
c = (char) rn1('Z' - 'A' + 1, 'A');
break;
case 8:
c = extcmdlist[i++ % SIZE(extcmdlist)].key;
break;
case 9:
c = '#';
break;
case 10:
case 11:
case 12:
c = Cmd.dirchars[rn2(8)];
if (!rn2(7))
c = !Cmd.num_pad ? (!rn2(3) ? C(c) : (c + 'A' - 'a')) : M(c);
break;
case 13:
c = (char) rn1('9' - '0' + 1, '0');
break;
case 14:
c = (char) rn2(iflags.wc_eight_bit_input ? 256 : 128);
break;
} }
return c; return c;

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 mon.c $NHDT-Date: 1560597210 2019/06/15 11:13:30 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.293 $ */ /* NetHack 3.6 mon.c $NHDT-Date: 1560791350 2019/06/17 17:09:10 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.294 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Derek S. Ray, 2015. */ /*-Copyright (c) Derek S. Ray, 2015. */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -2685,31 +2685,20 @@ struct monst *mon;
mtmp->mstate |= MON_OBLITERATE; mtmp->mstate |= MON_OBLITERATE;
mongone(mtmp); mongone(mtmp);
/* some places in the code might still reference mtmp->mx, mtmp->my */ /* places in the code might still reference mtmp->mx, mtmp->my */
/* mtmp->mx = mtmp->my = 0; */ /* mtmp->mx = mtmp->my = 0; */
rloc_to(mon, mx, my); /* note: mon, not mtmp */ rloc_to(mon, mx, my); /* note: mon, not mtmp */
} else {
/* last resort - migrate mon to the next plane */
if (Is_waterlevel(&u.uz) || Is_firelevel(&u.uz)
|| Is_earthlevel(&u.uz)) {
/* try sending mon on to the next plane */
xchar target_lev = 0, xyloc = 0;
struct trap *trap = g.ftrap;
while (trap) { /* last resort - migrate mon to the next plane */
if (trap->ttyp == MAGIC_PORTAL) } else if (!Is_astralevel(&u.uz)) {
break; d_level dest;
trap = trap->ntrap; xchar target_lev;
}
if (trap) { dest = u.uz;
target_lev = ledger_no(&trap->dst); dest.dlevel--;
xyloc = MIGR_RANDOM; target_lev = ledger_no(&dest);
} mon->mstate |= MON_ENDGAME_MIGR;
if (target_lev) { migrate_mon(mon, target_lev, MIGR_RANDOM);
mon->mstate |= MON_ENDGAME_MIGR;
migrate_mon(mon, target_lev, xyloc);
}
}
} }
} }
} }

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 options.c $NHDT-Date: 1554591224 2019/04/06 22:53:44 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.363 $ */ /* NetHack 3.6 options.c $NHDT-Date: 1560789054 2019/06/17 16:30:54 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.364 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Michael Allison, 2008. */ /*-Copyright (c) Michael Allison, 2008. */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -3963,7 +3963,6 @@ boolean tinitial, tfrom_file;
} }
op = string_for_opt(opts, TRUE); op = string_for_opt(opts, TRUE);
if (op) { if (op) {
if (negated) { if (negated) {
config_error_add( config_error_add(
@@ -3980,6 +3979,11 @@ boolean tinitial, tfrom_file;
return FALSE; return FALSE;
} }
} }
if (iflags.debug_fuzzer && !initial) {
/* don't randomly toggle this/these */
if (boolopt[i].addr == &flags.silent)
return TRUE;
}
*(boolopt[i].addr) = !negated; *(boolopt[i].addr) = !negated;