/* Make the attempt */
if (rn2(100) < chance) {
You("put the saddle on %s.", mon_nam(mtmp));
+ if (otmp->owornmask) remove_worn_item(otmp, FALSE);
freeinv(otmp);
/* mpickobj may free otmp it if merges, but we have already
checked for a saddle above, so no merger should happen */
}
/* Can the player reach and see the monster? */
+ if (!mtmp || (!force && ((Blind && !Blind_telepat) ||
+ mtmp->mundetected ||
+ mtmp->m_ap_type == M_AP_FURNITURE ||
+ mtmp->m_ap_type == M_AP_OBJECT))) {
+ pline("I see nobody there.");
+ return (FALSE);
+ }
if (u.uswallow || u.ustuck || u.utrap || Punished ||
!test_move(u.ux, u.uy, mtmp->mx-u.ux, mtmp->my-u.uy, TEST_MOVE)) {
if (Punished || !(u.uswallow || u.ustuck || u.utrap))
You("are stuck here for now.");
return (FALSE);
}
- if (!mtmp || (!force && ((Blind && !Blind_telepat) ||
- mtmp->mundetected ||
- mtmp->m_ap_type == M_AP_FURNITURE ||
- mtmp->m_ap_type == M_AP_OBJECT))) {
- pline("I see nobody there.");
- return (FALSE);
- }
/* Is this a valid monster? */
otmp = which_armor(mtmp, W_SADDLE);
case DISMOUNT_BYCHOICE:
default:
if (otmp && otmp->cursed) {
- You("can't. The saddle seems to be cursed.");
+ You("can't. The saddle %s cursed.",
+ otmp->bknown ? "is" : "seems to be");
otmp->bknown = TRUE;
return;
}