wornbits = (wornmask & *abil);
for(obj = invent; obj; obj = obj->nobj) {
- if(obj->oartifact) {
+ if(obj->oartifact && ((abil != &EWarn_of_mon) || context.warntype.obj)) {
register const struct artifact *art = get_artifact(obj);
if (art) {
if (dtyp &&
(art->cary.adtyp == dtyp || art->defn.adtyp == dtyp))
return obj;
if (spfx && ((art->cspfx & spfx) == spfx ||
- (art->spfx &spfx) == spfx))
+ (art->spfx & spfx) == spfx))
return obj;
}
} else {
(context.warntype.polyd & M2_ORC) ? "orcs" :
(context.warntype.polyd & M2_DEMON) ? "demons" :
"certain monsters");
- you_are(buf,from_what(WARN_OF_MON));
+ you_are(buf,"");
}
if (Warn_of_mon && context.warntype.speciesidx) {
Sprintf(buf, "aware of the presence of %s",