1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-10-21 17:07:40 +00:00

fixed chosenDown for bitruncated a45 where there can be three parents

This commit is contained in:
Zeno Rogue
2018-09-23 13:46:21 +02:00
parent 98e96a20c3
commit 2587474115
4 changed files with 133 additions and 72 deletions

View File

@@ -659,10 +659,12 @@ int chosenDownId(cell *c, int which, cellfunction* cf) {
if(c->move(i)->mpdist > BARLEV && cf == coastvalEdge) setdist(c->move(i), BARLEV, c);
if((*cf)(c->move(i)) == d) {
again:
int i2 = (i+which+S42)%c->type;
createMov(c, i2);
if((*cf)(c->move(i2)) == d)
return i2;
if((*cf)(c->move(i2)) == d) {
i = i2; goto again;
}
else return i;
}
}
@@ -1071,6 +1073,11 @@ void buildBigStuff(cell *c, cell *from) {
buildBarrierNowall(c, getNewLand(c->land));
}
else if(weirdhyperbolic && yendor::on && yendor::nexttostart) {
if(buildBarrierNowall(c, yendor::nexttostart))
yendor::nexttostart = laNone;
}
else if(weirdhyperbolic && specialland == laElementalWall && hrand(I10000) < 1000 && gp_wall_test())
buildBarrierNowall(c, getNewLand(c->land));