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
.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
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.
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 */
#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},
|| (!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 */