mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-19 07:20:25 +00:00
Fixed the bug with Caribbean in non-standard geometries (caused freezes, crashes, and bad horocycles)
This commit is contained in:
parent
68a54c0695
commit
026e126dd2
@ -182,6 +182,11 @@ heptagon *createAlternateMap(cell *c, int rad, hstate firststate, int special) {
|
||||
cx[rad] = bf.c;
|
||||
heptagon *h = bf.c->master;
|
||||
|
||||
if(h->alt) {
|
||||
printf("Error: creatingAlternateMap while one already exists\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if(special == waPalace) {
|
||||
|
||||
// type 7 is ensured
|
||||
@ -1118,7 +1123,7 @@ void buildBigStuff(cell *c, cell *from) {
|
||||
hrand(2000) < (nonbitrunc ? 500 : 1000) && !tactic::on && !yendor::on)))
|
||||
createAlternateMap(c, 2, hsA);
|
||||
|
||||
if(c->land == laCaribbean && horo_ok() && ctof(c))
|
||||
if(c->land == laCaribbean && horo_ok() && ctof(c) && !c->master->alt)
|
||||
createAlternateMap(c, 2, hsA);
|
||||
|
||||
if(c->land == laPalace && ctof(c) && !princess::generating && !shmup::on && multi::players == 1 && horo_ok() &&
|
||||
|
Loading…
Reference in New Issue
Block a user