From: PatR Date: Thu, 5 Dec 2019 10:33:47 +0000 (-0800) Subject: kinda/sorta fix github issue #246 X-Git-Tag: NetHack-3.6.4_Released~27 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=84bdff69767df06bb64b2445a7c228b2f7d83e38;p=nethack kinda/sorta fix github issue #246 Cherry-pick 3.7.0's 565e020573d56afb3eefafa4e8975d24b677c80d. Again, conflict because the fixes entry goes into a different file. When picking up from floor or removing from container fails because there aren't any inventory slots available, pickup/take-out stops. But the message |Your knapsack can't accomodate any more items. is inaccurate if there is gold beyond the stopping point. Actually continuing in order to pickup/take-out gold would require substantial changes, but varying the message to be |Your knapsack can't accomodate any more items (except gold). when stopping is a one line fix. The parenthesized remark is only added if there is actually some gold after the current object and is given regardless of whether autopickup happens to be targetting it. Fixes #246 --- diff --git a/doc/fixes36.4 b/doc/fixes36.4 index c49854d28..d42e88c86 100644 --- a/doc/fixes36.4 +++ b/doc/fixes36.4 @@ -1,4 +1,4 @@ -$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.2 $ $NHDT-Date: 1576281514 2019/12/13 23:58:34 $ +$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.3 $ $NHDT-Date: 1576282492 2019/12/14 00:14:52 $ This fixes36.4 file is here to capture information about updates in the 3.6.x lineage following the release of 3.6.3 in December 2019. Hypothetical version @@ -11,6 +11,9 @@ GDBPATH and GREPPATH from sysconf or -D... on compilation command line were at end of game when that was enabled fix the article used in the message when your steed encounters a polymorph trap alloc teleporting onto the vibrating square +message "your knapsack can't accomodate any more items" when picking stuff up + or removing such from container was inaccurate if there was some gold + pending; vary the message rather than add more convoluted pickup code dozen-ish assorted spelling/typo fixes in messages and source comments diff --git a/src/pickup.c b/src/pickup.c index cd0fd118b..76f35aa8b 100644 --- a/src/pickup.c +++ b/src/pickup.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 pickup.c $NHDT-Date: 1570566381 2019/10/08 20:26:21 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.235 $ */ +/* NetHack 3.6 pickup.c $NHDT-Date: 1576282488 2019/12/14 00:14:48 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.237 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Robert Patrick Rankin, 2012. */ /* NetHack may be freely redistributed. See license for details. */ @@ -1424,7 +1424,14 @@ boolean telekinesis; /* [exception for gold coins will have to change if silver/copper ones ever get implemented] */ && inv_cnt(FALSE) >= 52 && !merge_choice(invent, obj)) { - Your("knapsack cannot accommodate any more items."); + /* if there is some gold here (and we haven't already skipped it), + we aren't limited by the 52 item limit for it, but caller and + "grandcaller" aren't prepared to skip stuff and then pickup + just gold, so the best we can do here is vary the message */ + Your("knapsack cannot accommodate any more items%s.", + /* floor follows by nexthere, otherwise container so by nobj */ + nxtobj(obj, GOLD_PIECE, (boolean) (obj->where == OBJ_FLOOR)) + ? " (except gold)" : ""); result = -1; /* nothing lifted */ } else { result = 1;