diff --git a/spirelayout.cpp b/spirelayout.cpp index ba9ed2e..77fff7f 100644 --- a/spirelayout.cpp +++ b/spirelayout.cpp @@ -688,7 +688,11 @@ void Layout::mutate(MutateMode mode, unsigned count, Random &random, unsigned cy base = (random()%locality)*5; } - unsigned traps_count = (upgrades.lightning>0 ? 7 : 5); + unsigned traps_count = 7; + if(!upgrades.lightning) + traps_count -= 2; + if(!upgrades.poison) + traps_count -= 2; for(unsigned i=0; i=3) + t += (t-1)/2; if(!upgrades.lightning && t>=4) ++t; char trap = traps[t];