Merge branch 'NetHack-3.6.2-beta01' into NetHack-3.6.2

This commit is contained in:
nhmall
2018-12-16 22:21:43 -05:00
3 changed files with 14 additions and 5 deletions

View File

@@ -273,6 +273,11 @@ make it easier to clear 'pickup_types' (menustyles Traditional and Combination
allowed unselecting every object class; now 'all classes' is a choice)
distribution of monsters selected by mkclass() didn't match expected distrib
(cited example was ndemon() creating twice as many incubi as succubi)
while inside a shop, dropping an unpaid item inside an engulfer would leave
that item 'unpaid' and it would remain so on shop floor after the
the engulfer was killed; treat dropping shop items inside an engulfer
as stealing them and giving them to that engulfer--hero must pay for
for them and shop retains ownership of them
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 do.c $NHDT-Date: 1544442710 2018/12/10 11:51:50 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.177 $ */
/* NetHack 3.6 do.c $NHDT-Date: 1545005168 2018/12/17 00:06:08 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.179 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Derek S. Ray, 2015. */
/* NetHack may be freely redistributed. See license for details. */
@@ -584,11 +584,13 @@ register struct obj *obj;
if (u.uswallow) {
/* barrier between you and the floor */
if (flags.verbose) {
char buf[BUFSZ];
char *onam_p, monbuf[BUFSZ];
/* doname can call s_suffix, reusing its buffer */
Strcpy(buf, s_suffix(mon_nam(u.ustuck)));
You("drop %s into %s %s.", doname(obj), buf,
Strcpy(monbuf, s_suffix(mon_nam(u.ustuck)));
onam_p = obj->unpaid ? yobjnam(obj, (char *) 0) : doname(obj);
You("drop %s into %s %s.", onam_p, monbuf,
mbodypart(u.ustuck, STOMACH));
}
} else {
@@ -682,6 +684,8 @@ boolean with_impact;
could_grow = (obj->corpsenm == PM_WRAITH);
could_heal = (obj->corpsenm == PM_NURSE);
}
if (obj->unpaid)
(void) stolen_value(obj, u.ux, u.uy, TRUE, FALSE);
(void) mpickobj(u.ustuck, obj);
if (is_animal(u.ustuck->data)) {
if (could_poly || could_slime) {

View File

@@ -803,7 +803,7 @@ skip0:
if (u.uhave.amulet || !rn2(3)) {
x = somex(croom);
y = somey(croom);
tmonst = makemon((struct permonst *) 0, x, y, (MM_NOGRP | MM_ASLEEP));
tmonst = makemon((struct permonst *) 0, x, y, MM_NOGRP);
if (tmonst && tmonst->data == &mons[PM_GIANT_SPIDER]
&& !occupied(x, y))
(void) maketrap(x, y, WEB);