Accessibility: give a message when teleporting a monster

Teleporting a monster only updated the map. Give a message
so blind players can get the same information.
Making a monster invisible gives the same message, if you
cannot detect invisible.
Several other places where monsters teleported themselves
now also give the same message.
This commit is contained in:
Pasi Kallinen
2021-12-07 00:06:17 +02:00
parent e25f8ec6e3
commit f6b7be49f4
27 changed files with 146 additions and 92 deletions

View File

@@ -107,7 +107,7 @@ stealgold(register struct monst* mtmp)
(Levitation || Flying) ? "beneath" : "between", whose, what);
if (!ygold || !rn2(5)) {
if (!tele_restrict(mtmp))
(void) rloc(mtmp, TRUE);
(void) rloc(mtmp, RLOC_MSG);
monflee(mtmp, 0, FALSE, FALSE);
}
} else if (ygold) {
@@ -123,7 +123,7 @@ stealgold(register struct monst* mtmp)
add_to_minv(mtmp, ygold);
Your("purse feels lighter.");
if (!tele_restrict(mtmp))
(void) rloc(mtmp, TRUE);
(void) rloc(mtmp, RLOC_MSG);
monflee(mtmp, 0, FALSE, FALSE);
g.context.botl = 1;
}
@@ -186,7 +186,7 @@ stealarm(void)
so we don't set mavenge bit here. */
monflee(mtmp, 0, FALSE, FALSE);
if (!tele_restrict(mtmp))
(void) rloc(mtmp, TRUE);
(void) rloc(mtmp, RLOC_MSG);
break;
}
}
@@ -622,7 +622,7 @@ stealamulet(struct monst* mtmp)
(void) mpickobj(mtmp, otmp); /* could merge and free otmp but won't */
pline("%s steals %s!", Monnam(mtmp), buf);
if (can_teleport(mtmp->data) && !tele_restrict(mtmp))
(void) rloc(mtmp, TRUE);
(void) rloc(mtmp, RLOC_MSG);
}
}