/* last resort entry, guarantees Status section is non-empty */
you_are("unencumbered", "");
}
+ /* report being weaponless; distinguish whether gloves are worn */
+ if (!uwep) you_are(uarmg ? "empty handed" : /* gloves imply hands */
+ /* no weapon and no gloves */
+ humanoid(youmonst.data) ? "bare handed" :
+ /* alternate phrasing for paws or lack of hands */
+ "not wielding anything", "");
+ /* two-weaponing implies a weapon (not other odd stuff) in each hand */
+ else if (u.twoweap) you_are("wielding two weapons at once", "");
+ /* report most weapons by their skill class (so a katana will be
+ described as a long sword, for instance; mattock and hook are
+ exceptions), or wielded non-weapon item by its object class */
+ else {
+ const char *what = weapon_descr(uwep);
+
+ if (!strcmpi(what, "armor") || !strcmpi(what, "food") ||
+ !strcmpi(what, "venom"))
+ Sprintf(buf, "wielding some %s", what);
+ else
+ Sprintf(buf, "wielding %s",
+ (uwep->quan == 1L) ? an(what) : makeplural(what));
+ you_are(buf, "");
+ }
}
/* attributes: intrinsics and the like, other non-obvious capabilities */
if (Fixed_abil) you_have("fixed abilities",from_what(FIXED_ABIL));
if (Lifesaved)
enl_msg("Your life ", "will be", "would have been", " saved","");
- if (u.twoweap) you_are("wielding two weapons at once","");
/*** Miscellany ***/
if (Luck) {
/* NetHack 3.5 weapon.c $Date$ $Revision$ */
-/* SCCS Id: @(#)weapon.c 3.5 2009/01/20 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
/* assorted special cases */
switch (skill) {
case P_NONE:
- /* not a weapon: use item class name; override "food" for corpses */
- descr = (obj->otyp == CORPSE || obj->otyp == TIN || obj->otyp == EGG) ?
+ /* not a weapon: use item class name; override "food" for corpses,
+ tins, and eggs and "large rock" for statues and boulders */
+ descr = (obj->otyp == CORPSE || obj->otyp == TIN || obj->otyp == EGG ||
+ obj->otyp == STATUE || obj->otyp == BOULDER) ?
OBJ_NAME(objects[obj->otyp]) :
def_oc_syms[(int)obj->oclass].name;
break;