diff --git a/bigstuff.cpp b/bigstuff.cpp index 64820f19..a7d4d915 100644 --- a/bigstuff.cpp +++ b/bigstuff.cpp @@ -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); } diff --git a/landgen.cpp b/landgen.cpp index 15374b4b..f5bfaab5 100644 --- a/landgen.cpp +++ b/landgen.cpp @@ -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) { diff --git a/landlock.cpp b/landlock.cpp index 5d62f635..67db0918 100644 --- a/landlock.cpp +++ b/landlock.cpp @@ -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;