attempting to dig iron bars will wake nearby monsters instead of yielding
"you swing your pick-axe through thin air"
autodig won't accept iron bars as candidate location
+allow knight to retaliate for all thefts except those "you gladly hand over..."
Platform- and/or Interface-Specific Fixes
if (!is_animal(mtmp->data) && !tele_restrict(mtmp))
rloc(mtmp);
if (is_animal(mtmp->data) && *buf) {
- /* set mavenge bit for animals so knights won't
- suffer an alignment penalty during retaliation;
- note that only happens when the thief succeeds
- in getting something (*buf != 0) */
- mtmp->mavenge = 1;
if (canseemon(mtmp))
pline("%s tries to %s away with %s.",
Monnam(mtmp),
Monnam(mtmp), makeplural(body_part(FOOT)));
if(!u.ugold || !rn2(5)) {
if (!tele_restrict(mtmp)) rloc(mtmp);
+ /* do not set mtmp->mavenge here; gold on the floor is fair game */
monflee(mtmp, 0, FALSE, FALSE);
}
} else if(u.ugold) {
Your("purse feels lighter.");
mtmp->mgold += tmp;
if (!tele_restrict(mtmp)) rloc(mtmp);
+ mtmp->mavenge = 1;
monflee(mtmp, 0, FALSE, FALSE);
flags.botl = 1;
}
freeinv(otmp);
pline("%s steals %s!", Monnam(mtmp), doname(otmp));
(void) mpickobj(mtmp,otmp); /* may free otmp */
+ /* Implies seduction, "you gladly hand over ..."
+ so we don't set mavenge bit here. */
monflee(mtmp, 0, FALSE, FALSE);
if (!tele_restrict(mtmp)) rloc(mtmp);
break;
/* do this before removing it from inventory */
if (objnambuf) Strcpy(objnambuf, yname(otmp));
+ /* set mavenge bit so knights won't suffer an
+ * alignment penalty during retaliation;
+ */
+ mtmp->mavenge = 1;
freeinv(otmp);
pline("%s stole %s.", named ? "She" : Monnam(mtmp), doname(otmp));