ls:: horocyclic variant of Warped Coast

This commit is contained in:
Zeno Rogue 2023-09-22 12:50:39 +02:00
parent 2c171f7be4
commit fb5e4d25bb
3 changed files with 9 additions and 1 deletions

View File

@ -2143,6 +2143,10 @@ EX void pick_hv_subland(cell *c, eLand l, int depth) {
c->wall = getElementalWall(hrand(2) ? c->barleft : c->barright);
}
}
else if(l == laWarpCoast) {
int i = (depth & 8);
setland(c, i ? laWarpCoast : laWarpSea);
}
else setland(c, l);
}

View File

@ -1945,6 +1945,10 @@ EX void giantLandSwitch(cell *c, int d, cell *from) {
c->wall = waBoat;
c->item = itCoral;
}
else if(hrand(6000) < 1000 && ls::hv_structure()) {
/* somehow there were not enough boats in hv_structure... */
forCellEx(c1, c) if(c1->land == laWarpCoast) c->wall = waBoat;
}
}
ONEMPTY if(c->land == laWarpCoast) {

View File

@ -877,7 +877,7 @@ EX land_validity_t& land_validity(eLand l) {
if(l == laMirrorOld && !shmup::on) return not_implemented;
}
if(ls::hv_structure() && among(l, laPrairie, laDungeon, laEndorian, laBrownian, laWarpCoast, laWarpSea, laPrincessQuest)) return not_in_hv;
if(ls::hv_structure() && among(l, laPrairie, laDungeon, laEndorian, laBrownian, laPrincessQuest)) return not_in_hv;
if(ls::voronoi_structure() && among(l, laCamelot, laWhirlpool, laClearing)) return not_in_hv;
if(ls::horodisk_structure() && l != laCrossroads && isCrossroads(l)) return not_in_hv;