wet towel enhancements
Flesh out wet towels a bit: 1) wielding a wet towel--or a dry one which becomes wet--won't give a "you begin bashing with your wet towel" message when attacking; 2) if a formerly wet towel dries out completely while wielded, *do* give "you begin bashing with your towel" on the next attack; 3) successfully hitting with a wet towel no longer always loses wetness; 4) water damage to dry towel always confers at least 1 point of wetness; 5) taking fire damage (via burnarmor() which is used for most types of fire damage) has a chance to partially or fully dry a wet towel (regardless of whether it's wielded at the time; applies to monsters as well as hero; each towel being carried is checked until one is affected, then any others escape drying. Not done: -) attacking with a wielded wet towel perhaps ought to be treated as a weapon attack using whip skill rather than an augmented arbitrary- junk-by-weight attack; -) throwing a wet towel should probably ignore wetness--it's just a wet piece of cloth when not finishing with a whip snap; right now, it loses a point of wetness when thrown and usually--#3 above--another point if it hits...; -) hitting burning creatures is no different than hitting anything else; -) likewise for hitting wet creatures.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 obj.h $NHDT-Date: 1432512782 2015/05/25 00:13:02 $ $NHDT-Branch: master $:$NHDT-Revision: 1.49 $ */
|
||||
/* NetHack 3.6 obj.h $NHDT-Date: 1445126423 2015/10/18 00:00:23 $ $NHDT-Branch: master $:$NHDT-Revision: 1.50 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -187,6 +187,9 @@ struct obj {
|
||||
&& objects[otmp->otyp].oc_skill <= -P_DART)
|
||||
#define is_weptool(o) \
|
||||
((o)->oclass == TOOL_CLASS && objects[(o)->otyp].oc_skill != P_NONE)
|
||||
/* towel is not a weptool: spe isn't an enchantment, cursed towel
|
||||
doesn't weld to hand, and twoweapon won't work with one */
|
||||
#define is_wet_towel(o) ((o)->otyp == TOWEL && (o)->spe > 0)
|
||||
#define bimanual(otmp) \
|
||||
((otmp->oclass == WEAPON_CLASS || otmp->oclass == TOOL_CLASS) \
|
||||
&& objects[otmp->otyp].oc_bimanual)
|
||||
|
||||
Reference in New Issue
Block a user