sleeping steeds (trunk only)
From the newsgroup: it was possible to saddle, mount, and ride on a sleeping jabberwork without it ever waking up. Movement was checking for timed sleep (!mon->mcanmove, set when mon->mfrozen contains a timer count for either sleep or paralysis) but not indefinite sleep (mon->msleeping). This moves the checking into its own routine which handles both types. And it gives monsters a chance to wake up when they get saddled or mounted.
This commit is contained in:
@@ -1277,7 +1277,7 @@ int amt, how;
|
||||
(how >= 0 && resist(mon, (char)how, 0, NOTELL))) {
|
||||
shieldeff(mon->mx, mon->my);
|
||||
} else if (mon->mcanmove) {
|
||||
mon->meating = 0; /* terminate any meal-in-progress */
|
||||
finish_meating(mon); /* terminate any meal-in-progress */
|
||||
amt += (int) mon->mfrozen;
|
||||
if (amt > 0) { /* sleep for N turns */
|
||||
mon->mcanmove = 0;
|
||||
|
||||
Reference in New Issue
Block a user