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.
This commit is contained in:
PatR
2019-02-22 12:54:39 -08:00
parent fb14c283c3
commit e0db41572a
2 changed files with 12 additions and 10 deletions
+6 -6
View File
@@ -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 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, 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) 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 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 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 when using 'f' to fire/throw--and possibly some ^A's to repeat--then running
using ^A to repeat, if ammo was just used up and there's nothing out of ammo (with either 'autoquiver' off or nothing suitable to put
suitable to autoquiver it would pick the item in the inventory slot in quiver), using ^A would put whichever inventory item was assigned
corresponding to the direction letter from preceding 'fire' (and if the same letter as the prior direction into quiver slot (unless item
there was such an item, then ask for direction since ^A data ran out) 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 early rolling boulder trap lacking any boulder might still have the corpse
of a dead adventurer of a dead adventurer
+6 -4
View File
@@ -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) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2013. */ /*-Copyright (c) Robert Patrick Rankin, 2013. */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -382,10 +382,12 @@ dofire()
You("have nothing appropriate for your quiver."); You("have nothing appropriate for your quiver.");
} }
/* if autoquiver is disabled or has failed, prompt for missile; /* 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) { if (!obj) {
/* direction of previous throw is not suitable answer here */ /* in case we're using ^A to repeat prior 'f' command, don't
in_doagain = FALSE; 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"); obj = getobj(uslinging() ? bullets : toss_objs, "throw");
/* Q command doesn't allow gold in quiver */ /* Q command doesn't allow gold in quiver */
if (obj && !obj->owornmask && obj->oclass != COIN_CLASS) if (obj && !obj->owornmask && obj->oclass != COIN_CLASS)