boolean usegold = FALSE; /* can't use gold because its illegal */
boolean allowall = FALSE;
boolean allownone = FALSE;
+ boolean touchstone = FALSE;
xchar foox = 0;
long cnt;
boolean prezero = FALSE;
if(*let == GOLD_CLASS) let++, usegold = TRUE;
#endif
/* Ugly check for touchstone */
- if (!strncmp(word, "rub on", 6)
+ if (!strncmp(word, "rub on", 6)) {
+ touchstone = TRUE; /* avoid silly "stone gold" */
#ifndef GOLDOBJ
- && u.ugold)
- allowgold = usegold = TRUE;
+ if(u.ugold) allowgold = usegold = TRUE;
#else
- )
- usegold = TRUE;
+ usegold = TRUE;
#endif
+ }
/* Equivalent of an "ugly check" for gold */
if (usegold && !strcmp(word, "eat") && !metallivorous(youmonst.data))
return(allownone ? &zeroobj : (struct obj *) 0);
}
if(ilet == def_oc_syms[GOLD_CLASS]) {
- if(!usegold){
+ if (!usegold) {
+ if (touchstone)
+ You("cannot rub gold on the stone.");
+ else
You("cannot %s gold.", word);
- return(struct obj *)0;
+ return(struct obj *)0;
#ifndef GOLDOBJ
} else if (!allowgold) {
You("are not carrying any gold.");