make region ttl field a long instead of short to get rid of lint warnings
about a possible loss of data
pushing a boulder onto a level teleporter trap could issue repeat messages
+if shopkeeper or priest gets teleported while inside his shop or temple,
+ give locations inside that room preference when choosing destination
Platform- and/or Interface-Specific Fixes
!within_bounded_area(x, y, dndest.nlx, dndest.nly,
dndest.nhx, dndest.nhy)));
} else {
+ /* [try to] prevent a shopkeeper or temple priest from being
+ sent out of his room (caller might resort to goodpos() if
+ we report failure here, so this isn't full prevention) */
+ if (mtmp->isshk && inhishop(mtmp)) {
+ if (levl[x][y].roomno != ESHK(mtmp)->shoproom) return FALSE;
+ } else if (mtmp->ispriest && inhistemple(mtmp)) {
+ if (levl[x][y].roomno != EPRI(mtmp)->shroom) return FALSE;
+ }
/* current location is <xx,yy> */
if (!tele_jump_ok(xx, yy, x, y)) return FALSE;
}