mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-11-24 05:17:17 +00:00
Elemental and CR3 now work better in Euclidean Squares
This commit is contained in:
parent
6ab3cacd08
commit
5f4dbf9193
@ -823,7 +823,7 @@ void setLandEuclid(cell *c) {
|
|||||||
if(specialland == laElementalWall) {
|
if(specialland == laElementalWall) {
|
||||||
int x, y;
|
int x, y;
|
||||||
tie(x,y) = cell_to_pair(c);
|
tie(x,y) = cell_to_pair(c);
|
||||||
int x0 = x + (y>>1);
|
int x0 = euclid4 ? x : x + (y>>1);
|
||||||
int y0 = y;
|
int y0 = y;
|
||||||
|
|
||||||
int id = 0;
|
int id = 0;
|
||||||
@ -852,8 +852,8 @@ void setLandEuclid(cell *c) {
|
|||||||
if(specialland == laCrossroads3) {
|
if(specialland == laCrossroads3) {
|
||||||
int x, y;
|
int x, y;
|
||||||
tie(x,y) = cell_to_pair(c);
|
tie(x,y) = cell_to_pair(c);
|
||||||
int y0 = y;
|
int y0 = euclid4 ? 2 * y - x : y;
|
||||||
int x0 = x + y/2;
|
int x0 = euclid4 ? 2 * x + y : x + y/2;
|
||||||
|
|
||||||
x0 += 24; y0 += 8;
|
x0 += 24; y0 += 8;
|
||||||
|
|
||||||
@ -863,7 +863,7 @@ void setLandEuclid(cell *c) {
|
|||||||
|
|
||||||
setland(c, id ? laCrossroads3 : laDesert);
|
setland(c, id ? laCrossroads3 : laDesert);
|
||||||
|
|
||||||
if(((y0&15) == 15 && (x0&1)) || ((x0&15) == 0 && ((y0+1)&1))) {
|
if(euclid4 ? (!(y0&15) || !(x0&15)) : ((y0&15) == 15 && (x0&1)) || ((x0&15) == 0 && ((y0+1)&1))) {
|
||||||
setland(c, laBarrier);
|
setland(c, laBarrier);
|
||||||
c->wall = waBarrier;
|
c->wall = waBarrier;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user