From 7aa2d90142738b8d774cf5b22fc0f92f48f1b7e7 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Fri, 3 Nov 2017 20:55:41 +0100 Subject: [PATCH] Cubic Windy Plains --- complex.cpp | 9 ++++++++- landgen.cpp | 7 ++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/complex.cpp b/complex.cpp index b3f178e2..84983f4c 100644 --- a/complex.cpp +++ b/complex.cpp @@ -16,7 +16,14 @@ namespace whirlwind { decodeMaster(c->master, x, y); return 1+((((signed short)(y)+int(50000))/3)%3); } - if(sphere) return getHemisphere(c, 0) > 0 ? 1 : 2; + if(S7 == 5) return getHemisphere(c, 0) > 0 ? 1 : 2; + if(S7 < 5) { + int d = celldistance(currentmap->gamestart(), c); + if(d == 0) return 0; + if(S7 == 4 && d == 3) return 0; + if(S7 == 3 && d == 2 && !ctof(c)) return 0; + return 1; + } return zebra3(c); } diff --git a/landgen.cpp b/landgen.cpp index 2ba5bb5b..2c50c2b7 100644 --- a/landgen.cpp +++ b/landgen.cpp @@ -958,9 +958,14 @@ void giantLandSwitch(cell *c, int d, cell *from) { case laWhirlwind: if(d == 9) { - if(sphere) + if(S7 == 5) c->wall = (pseudohept(c) && (c->master->fiftyval == 0 || c->master->fiftyval == 6)) ? waFan : waNone; + else if(sphere) { + if(whirlwind::fzebra3(c) == 0) c->wall = waFan; + if(S7 == 4 && celldistance(c, currentmap->gamestart()) == 2 && ctof(c)) + c->wall = waChasm; + } else if(!euclid && zebra3(c) == 0) c->wall = waFan; else if(pseudohept(c) && hrand(2000) < 150) c->wall = waChasm;