diff --git a/barriers.cpp b/barriers.cpp index 14c159d5..539a8507 100644 --- a/barriers.cpp +++ b/barriers.cpp @@ -748,9 +748,11 @@ void buildCrossroads2(cell *c) { int h = c->landparam; if(h/4 >= 8 && h/4 <= 11) { - for(int i=0; i<c->type; i++) { - createMov(c, i)->land = laCrossroads2; - if(!c->mov[i]->landparam) buildCrossroads2(c->mov[i]); + for(int i=0; i<c->type; i++) if(c->land != laBarrier) { + cell *c2 = createMov(c, i); + if(c2->land == laBarrier) continue; + c2->land = laCrossroads2; + if(!c2->landparam) buildCrossroads2(c2); } if(h/4 == 8 || h/4 == 10) for(int i=0; i<c->type; i++) {