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

@@ -304,6 +304,7 @@ salamanders have no legs and cannot ride
all objects carried by a monster who's hit by a polymorph zap are protected
from that zap, not just worn armor which falls off due to shape change
sparkle option for display effects was ignored on explosions
level teleport while on a sleeping steed caused panic and possible crash
Platform- and/or Interface-Specific Fixes

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;