From: nethack.rankin Date: Sun, 24 Feb 2002 03:19:20 +0000 (+0000) Subject: from : #rub touchstone X-Git-Tag: MOVE2GIT~3136 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4bc3561a96b8cb800a7223fbc2ccd77c839d32c9;p=nethack from : #rub touchstone 's message said this was committed, but the cvs repository didn't reflect his changes. > Subject: patch: #rub touchstone > Date: Wed, 20 Feb 2002 23:33:27 -0800 > > > Implement 's suggestion. > > - allow the #rub command to apply to gray stones > - update various doc & help files to reflect the change > > Committed to CVS. --- diff --git a/dat/hh b/dat/hh index 1bd882f36..e5ad45e8f 100644 --- a/dat/hh +++ b/dat/hh @@ -92,7 +92,7 @@ M-n name name an item or type of object M-o offer offer a sacrifice to the gods M-p pray pray to the gods for help M-q quit stop playing -M-r rub rub a lamp +M-r rub rub a lamp or a stone M-s sit sit down M-t turn turn undead M-u untrap untrap something diff --git a/doc/Guidebook.mn b/doc/Guidebook.mn index ad2c68928..0c0f4627f 100644 --- a/doc/Guidebook.mn +++ b/doc/Guidebook.mn @@ -692,7 +692,7 @@ Quit the program without saving your game. .lp #ride Ride (or stop riding) a monster. .lp #rub -Rub a lamp. +Rub a lamp or a stone. .lp #sit Sit down. .lp #turn diff --git a/doc/Guidebook.tex b/doc/Guidebook.tex index 736104902..78dde0db6 100644 --- a/doc/Guidebook.tex +++ b/doc/Guidebook.tex @@ -923,7 +923,7 @@ Quit the program without saving your game. Ride (or stop riding) a monster. %.lp \item[\tb{\#rub}] -Rub a lamp. +Rub a lamp or a stone. %.lp \item[\tb{\#sit}] Sit down. diff --git a/src/apply.c b/src/apply.c index 0b301660c..9fff42219 100644 --- a/src/apply.c +++ b/src/apply.c @@ -1146,13 +1146,24 @@ light_cocktail(obj) begin_burn(obj, FALSE); } -static NEARDATA const char cuddly[] = { TOOL_CLASS, 0 }; +static NEARDATA const char cuddly[] = { TOOL_CLASS, GEM_CLASS, 0 }; int dorub() { struct obj *obj = getobj(cuddly, "rub"); + if (obj && obj->oclass == GEM_CLASS) { + if (obj->otyp == FLINT || obj->otyp == LUCKSTONE || + obj->otyp == LOADSTONE || obj->otyp == TOUCHSTONE) { + use_stone(obj); + return 1; + } else { + pline("Sorry, I don't know how to use that."); + return 0; + } + } + if(!obj || (obj != uwep && !wield_tool(obj))) return 0; /* now uwep is obj */ diff --git a/src/cmd.c b/src/cmd.c index 678bda72d..7de0be410 100644 --- a/src/cmd.c +++ b/src/cmd.c @@ -1390,7 +1390,7 @@ struct ext_func_tab extcmdlist[] = { #ifdef STEED {"ride", "ride (or stop riding) a monster", doride, FALSE}, #endif - {"rub", "rub a lamp", dorub, FALSE}, + {"rub", "rub a lamp or a stone", dorub, FALSE}, {"sit", "sit down", dosit, FALSE}, {"turn", "turn undead", doturn, TRUE}, {"twoweapon", "toggle two-weapon combat", dotwoweapon, FALSE}, diff --git a/src/invent.c b/src/invent.c index 92b76e89d..7e45f6e4b 100644 --- a/src/invent.c +++ b/src/invent.c @@ -817,9 +817,12 @@ register const char *let,*word; || (!strcmp(word, "tin") && (otyp != CORPSE || !tinnable(otmp))) || (!strcmp(word, "rub") && - (otmp->oclass == TOOL_CLASS && - otyp != OIL_LAMP && otyp != MAGIC_LAMP && - otyp != BRASS_LANTERN)) + ((otmp->oclass == TOOL_CLASS && + otyp != OIL_LAMP && otyp != MAGIC_LAMP && + otyp != BRASS_LANTERN) || + (otmp->oclass == GEM_CLASS && + otyp != LUCKSTONE && otyp != LOADSTONE && + otyp != TOUCHSTONE && otyp != FLINT))) || ((!strcmp(word, "use or apply") || !strcmp(word, "untrap with")) && /* Picks, axes, pole-weapons, bullwhips */