1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-04-29 06:03:11 +00:00

3D:: Temple of Cthulhu in Euclidean

This commit is contained in:
Zeno Rogue 2019-03-01 04:18:19 +01:00
parent 1eee434094
commit b3920f76b0
3 changed files with 5 additions and 2 deletions

View File

@ -1343,7 +1343,7 @@ void moreBigStuff(cell *c) {
c->land = laTemple, c->wall = waNone, c->monst = moNone, c->item = itNone; c->land = laTemple, c->wall = waNone, c->monst = moNone, c->item = itNone;
} }
if(d % TEMPLE_EACH==0) { if(d % TEMPLE_EACH==0) {
if(binarytiling && DIM == 3) { if(DIM == 3) {
if(c->master->zebraval != 1) c->wall = waColumn; if(c->master->zebraval != 1) c->wall = waColumn;
} }
else if(weirdhyperbolic && !BITRUNCATED) { else if(weirdhyperbolic && !BITRUNCATED) {

View File

@ -473,6 +473,8 @@ namespace euclid3 {
static const long long COORDMAX = (1<<16); static const long long COORDMAX = (1<<16);
int getcoord(coord x, int a);
struct hrmap_euclid3 : hrmap { struct hrmap_euclid3 : hrmap {
map<coord, heptagon*> spacemap; map<coord, heptagon*> spacemap;
map<heptagon*, coord> ispacemap; map<heptagon*, coord> ispacemap;
@ -491,6 +493,7 @@ namespace euclid3 {
h->c7 = newCell(6, h); h->c7 = newCell(6, h);
h->distance = 0; h->distance = 0;
h->cdata = NULL; h->cdata = NULL;
h->zebraval = gmod(getcoord(at, 0) + getcoord(at, 1) * 2 + getcoord(at, 2) * 4, 5);
spacemap[at] = h; spacemap[at] = h;
ispacemap[h] = at; ispacemap[h] = at;
return h; return h;

View File

@ -1518,7 +1518,7 @@ bool bearsCamelot(eLand l);
extern bool safety; extern bool safety;
#define SAGEMELT .1 #define SAGEMELT .1
#define TEMPLE_EACH (DIM == 3 ? 2 : 6) #define TEMPLE_EACH ((DIM == 3 && hyperbolic) ? 2 : 6)
#define PT(x, y) ((tactic::on || quotient == 2 || daily::on) ? (y) : inv::on ? min(2*(y),x) : (x)) #define PT(x, y) ((tactic::on || quotient == 2 || daily::on) ? (y) : inv::on ? min(2*(y),x) : (x))
#define ROCKSNAKELENGTH 50 #define ROCKSNAKELENGTH 50
#define WORMLENGTH 15 #define WORMLENGTH 15