diff --git a/src/apply.c b/src/apply.c index 7f7d95a6f..17d6cd644 100644 --- a/src/apply.c +++ b/src/apply.c @@ -1838,8 +1838,15 @@ struct obj *otmp; } switch (obj->oclass) { - case GOLD: + case GOLD_CLASS: color = "golden"; +#ifndef GOLDOBJ + /* goldobj back to u.ugold */ + u.ugold = obj->quan; + obj->quan = 0L; + dealloc_obj(obj); + obj = (struct obj *)0; +#endif break; case GEM_CLASS: if (otmp->blessed) { diff --git a/src/invent.c b/src/invent.c index 2eb2291e1..808b3683c 100644 --- a/src/invent.c +++ b/src/invent.c @@ -729,6 +729,10 @@ register const char *let,*word; #else if(*let == GOLD_CLASS) let++, usegold = TRUE; #endif + /* Ugly check for touchstone */ + if (!strncmp(word, "rub on", 6) && u.ugold) + allowgold = usegold = TRUE; + /* Equivalent of an "ugly check" for gold */ if (usegold && !strcmp(word, "eat") && !metallivorous(youmonst.data)) #ifndef GOLDOBJ