-NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.349 $ $NHDT-Date: 1604880453 2020/11/09 00:07:33 $
+NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.350 $ $NHDT-Date: 1605184219 2020/11/12 12:30:19 $
General Fixes and Modified Features
-----------------------------------
restful sleep regenerates hit points
attacking non-adjacent concealed mimic by applying a polearm would make the
hero be stuck to that mimic
+hero could break a wand ("raising the wand high over your head, you break it
+ in two") even if hands were welded to a two-handed weapon or to a
+ one-handed weapon and also to a shield
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
remove Sokoban luck penalties for actions you can't cheat with (github #260)
sounds for minotaurs (github #298)
correct the Guidebook descriptions for msdos video_width and video_height to
- state that they work with video:vesa; the video:vga setting that was
+ state that they work with video:vesa; the video:vga setting that was
described there forces the 640x480x16 mode where video_width and
video_height don't operate (github #294)
redo rndmonst() to operate in a single pass (github pull request #286)
suitable for assigning to new or changed monsters
convert obj->oextra->omid from pointer to scalar
get rid of unused obj->oextra->olong
-relocated unmaintained code to outdated folder, specifically sys/amiga,
+relocated unmaintained code to outdated folder, specifically sys/amiga,
sys/atari, sys/be, sys/mac, sys/os2, sys/wince, win/Qt3, win/gem,
win/gnome, include/amiconf.h, include/beconf.h, include/def_os2.h,
include/os2conf.h, include/macconf.h, include/tosconf.h,
-/* NetHack 3.7 apply.c $NHDT-Date: 1604442295 2020/11/03 22:24:55 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.330 $ */
+/* NetHack 3.7 apply.c $NHDT-Date: 1605184220 2020/11/12 12:30:20 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.331 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2012. */
/* NetHack may be freely redistributed. See license for details. */
boolean fillmsg = FALSE;
int expltype = EXPL_MAGICAL;
char confirm[QBUFSZ], buf[BUFSZ];
- boolean is_fragile = objdescr_is(obj, "balsa");
-
- if (!paranoid_query(ParanoidBreakwand,
- safe_qbuf(confirm,
- "Are you really sure you want to break ",
- "?", obj, yname, ysimple_name, "the wand")))
- return 0;
+ boolean is_fragile = (objdescr_is(obj, "balsa")
+ || objdescr_is(obj, "glass"));
if (nohands(g.youmonst.data)) {
You_cant("break %s without hands!", yname(obj));
return 0;
+ } else if (!freehand()) {
+ Your("%s are occupied!", makeplural(body_part(HAND)));
+ return 0;
} else if (ACURR(A_STR) < (is_fragile ? 5 : 10)) {
You("don't have the strength to break %s!", yname(obj));
return 0;
}
+ if (!paranoid_query(ParanoidBreakwand,
+ safe_qbuf(confirm,
+ "Are you really sure you want to break ",
+ "?", obj, yname, ysimple_name, "the wand")))
+ return 0;
pline("Raising %s high above your %s, you %s it in two!", yname(obj),
body_part(HEAD), is_fragile ? "snap" : "break");