diff --git a/modules/river-generator.js b/modules/river-generator.js index cd8f09f4..8a471c1c 100644 --- a/modules/river-generator.js +++ b/modules/river-generator.js @@ -285,10 +285,11 @@ } const getBasin = function(r, p, e) { - while (p) { + while (p && r !== p) { const parent = pack.rivers.find(r => r.i === p); - if (parent) r = parent.i; - p = parent ? parent.parent : 0; + if (!parent) return r; + r = parent.i; + p = parent.parent; if (r === e) return r; } return r; @@ -296,4 +297,4 @@ return {generate, resolveDepressions, addMeandring, getPath, specify, getName, getBasin, remove}; -}))); \ No newline at end of file +})));