1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-07-04 18:52:51 +00:00

fixed Emerald Mine and Vineyard generating very bad in {n,oo} and binary tiling

This commit is contained in:
Zeno Rogue 2024-03-21 19:07:15 +01:00
parent de21375f40
commit 2a9ae3071d

View File

@ -646,7 +646,7 @@ EX void giantLandSwitch(cell *c, int d, cell *from) {
c->wall = waCavewall; c->wall = waCavewall;
else c->wall = waCavefloor; else c->wall = waCavefloor;
} }
else if(a4 || arcm::in() || cryst) else if(a4 || arcm::in() || cryst || bt::in() || S3 >= OINF)
c->wall = hrand(100) < 50 ? waCavefloor : waCavewall; c->wall = hrand(100) < 50 ? waCavefloor : waCavewall;
else if(!BITRUNCATED) { else if(!BITRUNCATED) {
if(polarb50(c)) if(polarb50(c))
@ -823,7 +823,7 @@ EX void giantLandSwitch(cell *c, int d, cell *from) {
} }
else if(WDIM == 3 && hyperbolic && !bt::in()) else if(WDIM == 3 && hyperbolic && !bt::in())
c->wall = (c->master->zebraval & 2) ? waVinePlant : waNone; c->wall = (c->master->zebraval & 2) ? waVinePlant : waNone;
else if(a4 || sphere || arcm::in()) else if(a4 || sphere || arcm::in() || bt::in() || S3 >= OINF)
c->wall = hrand(100) < 50 ? waNone : waVinePlant; c->wall = hrand(100) < 50 ? waNone : waVinePlant;
else { else {
int v = emeraldval(c); int v = emeraldval(c);
@ -844,6 +844,7 @@ EX void giantLandSwitch(cell *c, int d, cell *from) {
forCellCM(c2, c) if(emeraldval(c2) == (v^1)) forCellCM(c2, c) if(emeraldval(c2) == (v^1))
c->wall = waVinePlant; c->wall = waVinePlant;
} }
if(weirdhyperbolic && cellHalfvine(c)) c->wall = waNone;
} }
} }
} }