on monsters is observed; likewise for speed boots
gold detection "materially poor" message inappropriate if you have hidden_gold()
cannot reflect back an invisible umber hulk or medusa's attack
+monsters with M3_WANTSBOOK often couldn't move in the Wizard-level
Platform- and/or Interface-Specific Fixes
return(0);
}
if(where == STRAT_GROUND) {
- if(!MON_AT(tx, ty) || (mtmp->mx == tx && mtmp->my == ty)) {
- /* teleport to it and pick it up */
- rloc_to(mtmp, tx, ty); /* clean old pos */
-
- if ((otmp = on_ground(which_arti(targ))) != 0) {
- if (cansee(mtmp->mx, mtmp->my))
- pline("%s picks up %s.",
- Monnam(mtmp),
- (distu(mtmp->my, mtmp->my) <= 5) ?
- doname(otmp) : distant_name(otmp, doname));
- obj_extract_self(otmp);
- (void) mpickobj(mtmp, otmp);
- return(1);
- } else return(0);
- }
+ if(!MON_AT(tx, ty) || (mtmp->mx == tx && mtmp->my == ty)) {
+ /* teleport to it and pick it up */
+ rloc_to(mtmp, tx, ty); /* clean old pos */
+
+ if ((otmp = on_ground(which_arti(targ))) != 0) {
+ if (cansee(mtmp->mx, mtmp->my))
+ pline("%s picks up %s.",
+ Monnam(mtmp),
+ (distu(mtmp->my, mtmp->my) <= 5) ?
+ doname(otmp) : distant_name(otmp, doname));
+ obj_extract_self(otmp);
+ (void) mpickobj(mtmp, otmp);
+ return(1);
+ } else return(0);
+ } else {
+ /* a monster is standing on it - cause some trouble */
+ if (!rn2(5)) mnexto(mtmp);
+ return(0);
+ }
} else { /* a monster has it - 'port beside it. */
(void) mnearto(mtmp, tx, ty, TRUE);
return(0);