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
+5
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) allowed unselecting every object class; now 'all classes' is a choice)
distribution of monsters selected by mkclass() didn't match expected distrib distribution of monsters selected by mkclass() didn't match expected distrib
(cited example was ndemon() creating twice as many incubi as succubi) (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 Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository
+8 -4
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) 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. */
@@ -584,11 +584,13 @@ register struct obj *obj;
if (u.uswallow) { if (u.uswallow) {
/* barrier between you and the floor */ /* barrier between you and the floor */
if (flags.verbose) { if (flags.verbose) {
char buf[BUFSZ]; char *onam_p, monbuf[BUFSZ];
/* doname can call s_suffix, reusing its buffer */ /* doname can call s_suffix, reusing its buffer */
Strcpy(buf, s_suffix(mon_nam(u.ustuck))); Strcpy(monbuf, s_suffix(mon_nam(u.ustuck)));
You("drop %s into %s %s.", doname(obj), buf, onam_p = obj->unpaid ? yobjnam(obj, (char *) 0) : doname(obj);
You("drop %s into %s %s.", onam_p, monbuf,
mbodypart(u.ustuck, STOMACH)); mbodypart(u.ustuck, STOMACH));
} }
} else { } else {
@@ -682,6 +684,8 @@ boolean with_impact;
could_grow = (obj->corpsenm == PM_WRAITH); could_grow = (obj->corpsenm == PM_WRAITH);
could_heal = (obj->corpsenm == PM_NURSE); could_heal = (obj->corpsenm == PM_NURSE);
} }
if (obj->unpaid)
(void) stolen_value(obj, u.ux, u.uy, TRUE, FALSE);
(void) mpickobj(u.ustuck, obj); (void) mpickobj(u.ustuck, obj);
if (is_animal(u.ustuck->data)) { if (is_animal(u.ustuck->data)) {
if (could_poly || could_slime) { if (could_poly || could_slime) {
+1 -1
View File
@@ -803,7 +803,7 @@ skip0:
if (u.uhave.amulet || !rn2(3)) { if (u.uhave.amulet || !rn2(3)) {
x = somex(croom); x = somex(croom);
y = somey(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] if (tmonst && tmonst->data == &mons[PM_GIANT_SPIDER]
&& !occupied(x, y)) && !occupied(x, y))
(void) maketrap(x, y, WEB); (void) maketrap(x, y, WEB);