From e0db41572a5c67a3172cb97898693c4f65f4b8c9 Mon Sep 17 00:00:00 2001 From: PatR Date: Fri, 22 Feb 2019 12:54:39 -0800 Subject: [PATCH] more bz 1604 - re-do vs autoquiver Take another crack at describing yesterday's do-again fix. Having 'autoquiver' enabled wasn't necessary to encounter the problem. Also, 'in_doagain' is an int rather than a boolean. --- doc/fixes36.2 | 12 ++++++------ src/dothrow.c | 10 ++++++---- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/doc/fixes36.2 b/doc/fixes36.2 index 7c2cb092f..7a8595c78 100644 --- a/doc/fixes36.2 +++ b/doc/fixes36.2 @@ -1,4 +1,4 @@ -$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.261 $ $NHDT-Date: 1550800390 2019/02/22 01:53:10 $ +$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.262 $ $NHDT-Date: 1550868876 2019/02/22 20:54:36 $ This fixes36.2 file is here to capture information about updates in the 3.6.x lineage following the release of 3.6.1 in April 2018. Please note, however, @@ -373,11 +373,11 @@ when donning armor, defer flagging its +/- value--which can be deduced from then (player might still deduce the +/- value but hero won't learn it) a monster with resistances supplied by worn armor would lose them if that monster went through a shape change even if the armor stayed worn -after using 'f' to fire/throw with autoquiver enabled and numpad off, then - using ^A to repeat, if ammo was just used up and there's nothing - suitable to autoquiver it would pick the item in the inventory slot - corresponding to the direction letter from preceding 'fire' (and if - there was such an item, then ask for direction since ^A data ran out) +when using 'f' to fire/throw--and possibly some ^A's to repeat--then running + out of ammo (with either 'autoquiver' off or nothing suitable to put + in quiver), using ^A would put whichever inventory item was assigned + the same letter as the prior direction into quiver slot (unless item + was already worn or wielded) and then ask for a direction to fire it early rolling boulder trap lacking any boulder might still have the corpse of a dead adventurer diff --git a/src/dothrow.c b/src/dothrow.c index 05923e867..7a83cdd33 100644 --- a/src/dothrow.c +++ b/src/dothrow.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 dothrow.c $NHDT-Date: 1550784489 2019/02/21 21:28:09 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.157 $ */ +/* NetHack 3.6 dothrow.c $NHDT-Date: 1550868876 2019/02/22 20:54:36 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.158 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Robert Patrick Rankin, 2013. */ /* NetHack may be freely redistributed. See license for details. */ @@ -382,10 +382,12 @@ dofire() You("have nothing appropriate for your quiver."); } /* if autoquiver is disabled or has failed, prompt for missile; - fill quiver with it if it's not wielded */ + fill quiver with it if it's not wielded or worn */ if (!obj) { - /* direction of previous throw is not suitable answer here */ - in_doagain = FALSE; + /* in case we're using ^A to repeat prior 'f' command, don't + use direction of previous throw as getobj()'s choice here */ + in_doagain = 0; + /* choose something from inventory, then usually quiver it */ obj = getobj(uslinging() ? bullets : toss_objs, "throw"); /* Q command doesn't allow gold in quiver */ if (obj && !obj->owornmask && obj->oclass != COIN_CLASS)