.lp ""
A few other commands (eat food, offer sacrifice, apply tinning-kit) use
the `m' prefix to skip checking for applicable objects on the floor
-and go straight to checking inventory.
+and go straight to checking inventory,
+or (for ``#loot'' to remove a saddle),
+skip containers and go straight to adjacent monsters.
.lp F[yuhjklbn]
Prefix: fight a monster (even if you only guess one is there).
.lp M[yuhjklbn]
.lp #loot
Loot a box or bag on the floor beneath you, or the saddle
from a steed standing next to you.
+Precede with the `m' prefix to skip containers at your location
+and go directly to removing a saddle.
.lp #monster
Use a monster's special ability (when polymorphed into monster form).
.lp #name
you saddle it up is difficult to say the least. Many a dungeoneer
has had to resort to magic and wizardry in order to forge the alliance.
Once you do have the beast under your control however, you can
-easily climb in and out of the saddle with the `#ride' command. Lead
+easily climb in and out of the saddle with the ``#ride'' command. Lead
the beast around the dungeon when riding, in the same manner as
you would move yourself. It is the beast that you will see displayed
on the map.
.pg
-Riding skill is managed by the `#enhance' command. See the section
+Riding skill is managed by the ``#enhance'' command. See the section
on Weapon proficiency for more information about that.
+.pg
+Use the `a' (apply) command and pick a saddle in your inventory to
+attempt to put that saddle on an adjacent creature. If successful,
+it will be transferred to that creature's inventory.
+.pg
+Use the ``#loot'' command while adjacent to a saddled creature to
+try to remove the saddle from that creature. If successful, it will
+be transferred to your inventory.
.hn 2
Bones levels
.pg
%.lp ""
A few other commands (eat food, offer sacrifice, apply tinning-kit) use
the `{\tt m}' prefix to skip checking for applicable objects on the floor
-and go straight to checking inventory.
+and go straight to checking inventory,
+or (for ``{\tt \#loot}'' to remove a saddle),
+skip containers and go straight to adjacent monsters.
%.lp
\item[\tb{F[yuhjklbn]}]
Prefix: fight a monster (even if you only guess one is there).
\item[\tb{\#loot}]
Loot a box or bag on the floor beneath you, or the saddle
from a steed standing next to you.
+Precede with the `{\tt m}' prefix to skip containers at your location
+and go directly to removing a saddle.
%.lp
\item[\tb{\#monster}]
Use a monster's special ability (when polymorphed into monster form).
you saddle it up is difficult to say the least. Many a dungeoneer
has had to resort to magic and wizardry in order to forge the alliance.
Once you do have the beast under your control however, you can
-easily climb in and out of the saddle with the `{\tt \#ride}' command. Lead
+easily climb in and out of the saddle with the ``{\tt \#ride}'' command. Lead
the beast around the dungeon when riding, in the same manner as
you would move yourself. It is the beast that you will see displayed
on the map.
%.pg
-Riding skill is managed by the `{\tt \#enhance}' command. See the section
+Riding skill is managed by the ``{\tt \#enhance}'' command. See the section
on Weapon proficiency for more information about that.
+%.pg
+Use the `{\tt a}' (apply) command and pick a saddle in your inventory to
+attempt to put that saddle on an adjacent creature. If successful,
+it will be transferred to that creature's inventory.
+
+%.pg
+Use the ``{\tt \#loot}'' command while adjacent to a saddled creature to
+try to remove the saddle from that creature. If successful, it will
+be transferred to your inventory.
+
%.hn 2
\subsection*{Bones levels}
an item on floor or in invent; 'm' skips picking from floor
(ie, inventory only) rather than request use of menu operation */
|| cmd_func == doeat || cmd_func == dosacrifice || cmd_func == doapply
+ /* 'm' for removing saddle from adjacent monster without checking
+ for containers at <u.ux,u.uy> */
+ || cmd_func == doloot
/* 'm' prefix allowed for some extended commands */
|| cmd_func == doextcmd || cmd_func == doextlist)
return TRUE;
char qbuf[BUFSZ];
int prev_inquiry = 0;
boolean prev_loot = FALSE;
- int num_conts;
+ int num_conts = 0;
abort_looting = FALSE;
cc.x = u.ux;
cc.y = u.uy;
-lootcont:
+ if (iflags.menu_requested)
+ goto lootmon;
+
+ lootcont:
if ((num_conts = container_at(cc.x, cc.y, TRUE)) > 0) {
boolean anyfound = FALSE;
if (!able_to_loot(cc.x, cc.y, TRUE))
return 0;
+ if (Blind && !uarmg) {
+ /* if blind and without gloves, attempting to #loot at the
+ location of a cockatrice corpse is fatal before asking
+ whether to manipulate any containers */
+ for (nobj = sobj_at(CORPSE, cc.x, cc.y); nobj;
+ nobj = nxtobj(nobj, CORPSE, TRUE))
+ if (will_feel_cockatrice(nobj, FALSE)) {
+ feel_cockatrice(nobj, FALSE);
+ /* if life-saved (or poly'd into stone golem),
+ terminate attempt to loot */
+ return 1;
+ }
+ }
+
if (num_conts > 1) {
/* use a menu to loot many containers */
int n, i;
} else if (IS_GRAVE(levl[cc.x][cc.y].typ)) {
You("need to dig up the grave to effectively loot it...");
}
+
/*
* 3.3.1 introduced directional looting for some things.
*/
+ lootmon:
if (c != 'y' && mon_beside(u.ux, u.uy)) {
if (!get_adjacent_loc("Loot in what direction?",
"Invalid loot location", u.ux, u.uy, &cc))