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:
@@ -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
|
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
|
from that zap, not just worn armor which falls off due to shape change
|
||||||
sparkle option for display effects was ignored on explosions
|
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
|
Platform- and/or Interface-Specific Fixes
|
||||||
|
|||||||
@@ -465,7 +465,13 @@ boolean pets_only; /* true for ascension or final escape */
|
|||||||
the amulet; if you don't have it, will chase you
|
the amulet; if you don't have it, will chase you
|
||||||
only if in range. -3. */
|
only if in range. -3. */
|
||||||
(u.uhave.amulet && mtmp->iswiz))
|
(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 */
|
/* monster won't follow if it hasn't noticed you yet */
|
||||||
&& !(mtmp->mstrategy & STRAT_WAITFORU)) {
|
&& !(mtmp->mstrategy & STRAT_WAITFORU)) {
|
||||||
stay_behind = FALSE;
|
stay_behind = FALSE;
|
||||||
|
|||||||
Reference in New Issue
Block a user