From: PatR Date: Fri, 14 Dec 2018 07:52:35 +0000 (-0800) Subject: last? pickup_types X-Git-Tag: nmake-explicit-path~36^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d8e430b90751218f57eeaed6f21c0ce02f238dea;p=nethack last? pickup_types Although choose_classes_menu() is only used for objects, it is written to handle monsters too. My change to give special handling might have broken selecting ghosts if it's ever used for monsters so fix that. --- diff --git a/src/options.c b/src/options.c index 4c4d3f4ad..ead3a707a 100644 --- a/src/options.c +++ b/src/options.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 options.c $NHDT-Date: 1544751219 2018/12/14 01:33:39 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.346 $ */ +/* NetHack 3.6 options.c $NHDT-Date: 1544773907 2018/12/14 07:51:47 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.347 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Michael Allison, 2008. */ /* NetHack may be freely redistributed. See license for details. */ @@ -6346,13 +6346,15 @@ char *class_select; n = select_menu(win, way ? PICK_ANY : PICK_ONE, &pick_list); destroy_nhwindow(win); if (n > 0) { - /* first check for 'all'; it means 'use a blank list' - rather than 'collect every possible choice' */ - for (i = 0; i < n; ++i) - if (pick_list[i].item.a_int == ' ') { - pick_list[0].item.a_int = ' '; - n = 1; /* return 1; also an implicit 'break;' */ - } + if (category == 1) { + /* for object classes, first check for 'all'; it means 'use + a blank list' rather than 'collect every possible choice' */ + for (i = 0; i < n; ++i) + if (pick_list[i].item.a_int == ' ') { + pick_list[0].item.a_int = ' '; + n = 1; /* return 1; also an implicit 'break;' */ + } + } for (i = 0; i < n; ++i) *class_select++ = (char) pick_list[i].item.a_int; free((genericptr_t) pick_list);