From b48b6addf3bb86bf4c6b1fbc2e6e6bf19209fcb3 Mon Sep 17 00:00:00 2001 From: cohrs Date: Wed, 12 Feb 2003 02:07:22 +0000 Subject: [PATCH] U260 - waiting times out for no reason while in were form The initial report thought this was related to summoning help. It's not. moveloop would attempt to call you_were() even when you_were() would not actually change your form. Certainly there's a layering problem here, but for now, just put in the same check peffects() uses to avoid calling you_were() unnecessarily. --- doc/fixes34.1 | 1 + src/allmain.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/fixes34.1 b/doc/fixes34.1 index 208c0b73f..a56ecf632 100644 --- a/doc/fixes34.1 +++ b/doc/fixes34.1 @@ -381,6 +381,7 @@ applying figurines to an adjacent spot over water does drowning checks fix sequencing of Magicbane's hit messages avoid buffer overflow from long or too many -s params wake up first if trying to crawl out of water while asleep +while waiting, don't try to change into were form when already in were form Platform- and/or Interface-Specific Fixes diff --git a/src/allmain.c b/src/allmain.c index d3004e57a..81350f448 100644 --- a/src/allmain.c +++ b/src/allmain.c @@ -240,7 +240,8 @@ moveloop() change = 0; if(Polymorph && !rn2(100)) change = 1; - else if (u.ulycn >= LOW_PM && !rn2(80 - (20 * night()))) + else if (u.ulycn >= LOW_PM && !Upolyd && + !rn2(80 - (20 * night()))) change = 2; if (change && !Unchanging) { if (multi >= 0) { -- 2.40.0