From 9ebd5342ec79c415b33612e63a36d4270748c519 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Wed, 6 Feb 2019 22:18:06 +0100 Subject: [PATCH] fixed a freeze in spherical Dungeon --- expansion.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/expansion.cpp b/expansion.cpp index 174a2e2e..c8c69ea0 100644 --- a/expansion.cpp +++ b/expansion.cpp @@ -445,11 +445,12 @@ int parent_id(cell *c, int which, const cellfunction& cf) { for(int i=0; itype; i++) { if(cf(c->cmove(i)) == d) { + int steps = 0; again: - if(!which) return i; + if(!which || steps == c->type) return i; int i2 = c->c.fix(i+which); if(cf(c->cmove(i2)) == d) { - i = i2; goto again; + i = i2; steps++; goto again; } else return i; }