omit_buc tweak

gcc complained about mixing && with || without parantheses.  After
scratching my head a bit, I think this change yields the intended
result.

'omit_buc' is a bad option name.  It's cryptic and it doesn't even
describe the function.  At a minimum it ought to be changed to
'omit_uncursed' to accurately describe what it does.
'implicit_uncursed' or 'explicit_uncursed' (with opposite boolean
value) would be even more precise but probably not any clearer.
This commit is contained in:
PatR
2015-05-27 03:35:28 -07:00
parent 5fabcdf692
commit eeb69bfe09

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 objnam.c $NHDT-Date: 1432598715 2015/05/26 00:05:15 $ $NHDT-Branch: master $:$NHDT-Revision: 1.135 $ */ /* NetHack 3.6 objnam.c $NHDT-Date: 1432722918 2015/05/27 10:35:18 $ $NHDT-Branch: master $:$NHDT-Revision: 1.137 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -778,25 +778,26 @@ register struct obj *obj;
Strcat(prefix, "cursed "); Strcat(prefix, "cursed ");
else if (obj->blessed) else if (obj->blessed)
Strcat(prefix, "blessed "); Strcat(prefix, "blessed ");
else if (!iflags.omit_buc || (!known || !objects[obj->otyp].oc_charged else if (!iflags.omit_buc
|| (obj->oclass == ARMOR_CLASS /* For most items with charges or +/-, if you know how many
|| obj->oclass == RING_CLASS)) * charges are left or what the +/- is, then you must have
/* For most items with charges or +/-, if you know how many * totally identified the item, so "uncursed" is unneccesary,
* charges are left or what the +/- is, then you must have * because an identified object not described as "blessed" or
* totally identified the item, so "uncursed" is unneccesary, * "cursed" must be uncursed.
* because an identified object not described as "blessed" or *
* "cursed" must be uncursed. * If the charges or +/- is not known, "uncursed" must be
* * printed to avoid ambiguity between an item whose curse
* If the charges or +/- is not known, "uncursed" must be * status is unknown, and an item known to be uncursed.
* printed to avoid ambiguity between an item whose curse */
* status is unknown, and an item known to be uncursed. || ((!known || !objects[obj->otyp].oc_charged
*/ || obj->oclass == ARMOR_CLASS
|| obj->oclass == RING_CLASS)
#ifdef MAIL #ifdef MAIL
&& obj->otyp != SCR_MAIL && obj->otyp != SCR_MAIL
#endif #endif
&& obj->otyp != FAKE_AMULET_OF_YENDOR && obj->otyp != FAKE_AMULET_OF_YENDOR
&& obj->otyp != AMULET_OF_YENDOR && obj->otyp != AMULET_OF_YENDOR
&& !Role_if(PM_PRIEST)) && !Role_if(PM_PRIEST)))
Strcat(prefix, "uncursed "); Strcat(prefix, "uncursed ");
} }