-/* NetHack 3.7 do.c $NHDT-Date: 1596498158 2020/08/03 23:42:38 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.247 $ */
+/* NetHack 3.7 do.c $NHDT-Date: 1598575088 2020/08/28 00:38:08 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.248 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Derek S. Ray, 2015. */
/* NetHack may be freely redistributed. See license for details. */
/* corpse will revive somewhere else if there is a monster in the way;
Riders get a chance to try to bump the obstacle out of their way */
- if ((mptr->mflags3 & M3_DISPLACES) != 0 && body->where == OBJ_FLOOR
+ if (is_displacer(mptr) && body->where == OBJ_FLOOR
&& get_obj_location(body, &x, &y, 0) && (mtmp = m_at(x, y)) != 0) {
boolean notice_it = canseemon(mtmp); /* before rloc() */
char *monname = Monnam(mtmp);
-/* NetHack 3.7 mon.c $NHDT-Date: 1596498185 2020/08/03 23:43:05 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.343 $ */
+/* NetHack 3.7 mon.c $NHDT-Date: 1598575089 2020/08/28 00:38:09 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.344 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Derek S. Ray, 2015. */
/* NetHack may be freely redistributed. See license for details. */
as high as the attacker, don't let attacker do so, otherwise
they might just end up swapping places again when defender
gets its chance to move */
- if ((pa->mflags3 & M3_DISPLACES) != 0
- && ((pd->mflags3 & M3_DISPLACES) == 0 || magr->m_lev > mdef->m_lev)
+ if (is_displacer(pa) && (!is_displacer(pd) || magr->m_lev > mdef->m_lev)
/* no displacing grid bugs diagonally */
&& !(magr->mx != mdef->mx && magr->my != mdef->my
&& NODIAG(monsndx(pd)))