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
@ -181,6 +181,11 @@ heptagon *createAlternateMap(cell *c, int rad, hstate firststate, int special) {
|
|||||||
}
|
}
|
||||||
cx[rad] = bf.c;
|
cx[rad] = bf.c;
|
||||||
heptagon *h = bf.c->master;
|
heptagon *h = bf.c->master;
|
||||||
|
|
||||||
|
if(h->alt) {
|
||||||
|
printf("Error: creatingAlternateMap while one already exists\n");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if(special == waPalace) {
|
if(special == waPalace) {
|
||||||
|
|
||||||
@ -1118,7 +1123,7 @@ void buildBigStuff(cell *c, cell *from) {
|
|||||||
hrand(2000) < (nonbitrunc ? 500 : 1000) && !tactic::on && !yendor::on)))
|
hrand(2000) < (nonbitrunc ? 500 : 1000) && !tactic::on && !yendor::on)))
|
||||||
createAlternateMap(c, 2, hsA);
|
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);
|
createAlternateMap(c, 2, hsA);
|
||||||
|
|
||||||
if(c->land == laPalace && ctof(c) && !princess::generating && !shmup::on && multi::players == 1 && horo_ok() &&
|
if(c->land == laPalace && ctof(c) && !princess::generating && !shmup::on && multi::players == 1 && horo_ok() &&
|
||||||
|
Loading…
Reference in New Issue
Block a user