From 16edba1729a06b86da1002783d756313cc3611ed Mon Sep 17 00:00:00 2001 From: fusion32 Date: Sun, 1 Mar 2026 18:00:51 -0300 Subject: missing try-catch block in TMonster::IdleStimulus On rare occasions this would cause an EXHAUSTED exception to bubble up all the way to main, causing the server to shutdown without saving. --- src/crnonpl.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/crnonpl.cc b/src/crnonpl.cc index 691846c..3a6c053 100644 --- a/src/crnonpl.cc +++ b/src/crnonpl.cc @@ -2816,9 +2816,13 @@ void TMonster::IdleStimulus(void){ case 3: DestY += 1; break; } - if(this->MovePossible(DestX, DestY, DestZ, true, false)){ - FoundDest = true; - break; + try{ + if(this->MovePossible(DestX, DestY, DestZ, true, false)){ + FoundDest = true; + break; + } + }catch(RESULT r){ + // no-op } } -- cgit v1.2.3