level teleport and sleeping steed

If you level teleported while on a sleeping steed, a panic and possibly a
crash would occur.  I believe the same would occur by digging a hole.  This
was due to keepdogs avoiding keeping sleeping pets.  In these cases, it
seems there's no reason for the sleeping steed to _not_ accompany you.
Since other ways of changing level (eg stairs) don't allow this, just added
a check to keepdogs to allow the steed to go with you.
This commit is contained in:
cohrs
2002-11-15 04:58:28 +00:00
parent e3b20b8a9f
commit d2476b5151
2 changed files with 8 additions and 1 deletions

View File

@@ -465,7 +465,13 @@ boolean pets_only; /* true for ascension or final escape */
the amulet; if you don't have it, will chase you
only if in range. -3. */
(u.uhave.amulet && mtmp->iswiz))
&& !mtmp->msleeping && mtmp->mcanmove
&& ((!mtmp->msleeping && mtmp->mcanmove)
#ifdef STEED
/* eg if level teleport or new trap, steed has no control
to avoid following */
|| (mtmp == u.usteed)
#endif
)
/* monster won't follow if it hasn't noticed you yet */
&& !(mtmp->mstrategy & STRAT_WAITFORU)) {
stay_behind = FALSE;