monsters that can't use stairs are between them and the player. Be warned: this is somewhat hackish.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7878 c06c8d41-db1a-0410-9941-cceddc491573
3O5CA2Z7CWOR3EJ42WU2RHTYYTO337RFC65SPP6IFL4QZEMXUE4AC
HI7TDIAMNN575UUNXL32LZ7Y7HBR7S2JNH5IFUNPPVM5PKIYWZFAC
Y7CE44S72DPCI3JI4LJCXYLAFGFV7YNM37MNNS57HYDZ6AMNPUFQC
6EZYOF7W56XYRLZ7JSIX3DLQS7BOYVQP7TSSCNU7WIJT4FPZIM6QC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
HAI4YDKI72OBDT5KMMVCO3DOU765OPWCU7GTRKTALFNSDOI4R2LAC
BINKDWGFGUPTOA7IE5KK4ZIELGU5WC3X47MYXOWU4X43EGAC5DUAC
SPWOUV6ZNHLBSAX455ACJDBEJYVFHGO4H76L4NPAE5DF6BEAK34QC
PES2QAPAJTLHZORDXNJWKK4VWRDCGXMOVVFI2TQALCPB5JUPHCVQC
// Monster is chasing player through stairs.
fmenv->flags |= MF_TAKING_STAIRS;
// Return true for monsters that can't use stairs (so that friendly
// monsters adjacent to them can still follow you through stairs),
// but don't tag them as followers.
if (fmenv->can_use_stairs())
{
// Monster is chasing player through stairs.
fmenv->flags |= MF_TAKING_STAIRS;
// Clear patrolling/travel markers.
fmenv->patrol_point.reset();
fmenv->travel_path.clear();
fmenv->travel_target = MTRAV_NONE;
// Clear patrolling/travel markers.
fmenv->patrol_point.reset();
fmenv->travel_path.clear();
fmenv->travel_target = MTRAV_NONE;