-/* NetHack 3.6 worn.c $NHDT-Date: 1446887541 2015/11/07 09:12:21 $ $NHDT-Branch: master $:$NHDT-Revision: 1.47 $ */
+/* NetHack 3.6 worn.c $NHDT-Date: 1496959481 2017/06/08 22:04:41 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.49 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
+/*-Copyright (c) Robert Patrick Rankin, 2013. */
/* NetHack may be freely redistributed. See license for details. */
/* JNetHack Copyright */
{ 0, 0 } };
/* This only allows for one blocking item per property */
-#define w_blocks(o, m) \
- ((o->otyp == MUMMY_WRAPPING && ((m) &W_ARMC)) \
- ? INVIS \
- : (o->otyp == CORNUTHAUM && ((m) &W_ARMH) && !Role_if(PM_WIZARD)) \
- ? CLAIRVOYANT \
+#define w_blocks(o, m) \
+ ((o->otyp == MUMMY_WRAPPING && ((m) & W_ARMC)) \
+ ? INVIS \
+ : (o->otyp == CORNUTHAUM && ((m) & W_ARMH) && !Role_if(PM_WIZARD)) \
+ ? CLAIRVOYANT \
: 0)
/* note: monsters don't have clairvoyance, so your role
has no significant effect on their use of w_blocks() */
if (oobj->oartifact)
set_artifact_intrinsic(oobj, 0, mask);
}
+ /* in case wearing or removal is in progress or removal
+ is pending (via 'A' command for multiple items) */
+ cancel_doff(oobj, wp->w_mask);
}
*(wp->w_obj) = obj;
if (obj) {
u.twoweap = 0;
for (wp = worn; wp->w_mask; wp++)
if (obj == *(wp->w_obj)) {
+ /* in case wearing or removal is in progress or removal
+ is pending (via 'A' command for multiple items) */
+ cancel_doff(obj, wp->w_mask);
+
*(wp->w_obj) = 0;
p = objects[obj->otyp].oc_oprop;
u.uprops[p].extrinsic = u.uprops[p].extrinsic & ~wp->w_mask;
simpleonames(best), otense(best, "glow"),
hcolor(NH_BLACK));
#else
- pline("%s%s\82Í\82µ\82Î\82ç\82%s\8bP\82¢\82½\81D", s_suffix(Monnam(mon)),
+ pline("%s\82Ì%s\82Í\82µ\82Î\82ç\82%s\8bP\82¢\82½\81D", Monnam(mon),
simpleonames(best),
jconj_adj(hcolor(NH_BLACK)));
#endif