Mercury Rivers added when applicable
This commit is contained in:
parent
bc3003500d
commit
0c779f8067
15
bigstuff.cpp
15
bigstuff.cpp
|
@ -712,9 +712,12 @@ void setLandSphere(cell *c) {
|
||||||
if(c->land == laElementalWall && c->type != 6)
|
if(c->land == laElementalWall && c->type != 6)
|
||||||
c->wall = getElementalWall(hrand(2) ? c->barleft : c->barright);
|
c->wall = getElementalWall(hrand(2) ? c->barleft : c->barright);
|
||||||
}
|
}
|
||||||
if(specialland == laCrossroads || specialland == laCrossroads2 || specialland == laCrossroads3) {
|
if(!torus)
|
||||||
|
if(specialland == laCrossroads || specialland == laCrossroads2 || specialland == laCrossroads3 || specialland == laTerracotta) {
|
||||||
int x = getHemisphere(c, 1);
|
int x = getHemisphere(c, 1);
|
||||||
if(x == 0 || (specialland == laCrossroads3 && getHemisphere(c, 2) == 0))
|
if(x == 0 && specialland == laTerracotta)
|
||||||
|
setland(c, laMercuryRiver), c->wall = waMercury;
|
||||||
|
else if(x == 0 || (specialland == laCrossroads3 && getHemisphere(c, 2) == 0))
|
||||||
setland(c, laBarrier), c->wall = waBarrier;
|
setland(c, laBarrier), c->wall = waBarrier;
|
||||||
else setland(c, specialland);
|
else setland(c, specialland);
|
||||||
if(specialland == laCrossroads3 && c->type != 6 && c->master->fiftyval == 1)
|
if(specialland == laCrossroads3 && c->type != 6 && c->master->fiftyval == 1)
|
||||||
|
@ -772,6 +775,14 @@ void setLandEuclid(cell *c) {
|
||||||
decodeMaster(c->master, x, y);
|
decodeMaster(c->master, x, y);
|
||||||
setland(c, getEuclidLand(y+2*x));
|
setland(c, getEuclidLand(y+2*x));
|
||||||
}
|
}
|
||||||
|
if(specialland == laTerracotta) {
|
||||||
|
eucoord x, y;
|
||||||
|
decodeMaster(c->master, x, y);
|
||||||
|
if((y+2*x) % 16 == 1) {
|
||||||
|
setland(c, laMercuryRiver);
|
||||||
|
c->wall = waMercury;
|
||||||
|
}
|
||||||
|
}
|
||||||
if(specialland == laCrossroads4) {
|
if(specialland == laCrossroads4) {
|
||||||
eucoord x, y;
|
eucoord x, y;
|
||||||
decodeMaster(c->master, x, y);
|
decodeMaster(c->master, x, y);
|
||||||
|
|
2
cell.cpp
2
cell.cpp
|
@ -1516,7 +1516,7 @@ int getHemisphere(cell *c, int which) {
|
||||||
else {
|
else {
|
||||||
int score = 0;
|
int score = 0;
|
||||||
for(int i=0; i<6; i+=2)
|
for(int i=0; i<6; i+=2)
|
||||||
score += getHemisphere(c->mov[i], which);
|
score += getHemisphere(c->mov[i], which) * (c->mirror(i) ? -1 : 1);
|
||||||
return score/3;
|
return score/3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue