equidistant-based lands in weirdhyperbolic are now based off CR4

This commit is contained in:
Zeno Rogue 2018-04-04 00:08:17 +02:00
parent 22a92059b6
commit d31341b403
3 changed files with 11 additions and 9 deletions

View File

@ -438,10 +438,10 @@ bool checkInTree(cell *c, int maxv) {
void buildEquidistant(cell *c) {
if(!c) return;
if(c->landparam) return;
if(weirdhyperbolic) {
/* if(weirdhyperbolic) {
c->landparam = 50;
return;
}
} */
if(geometry) return;
eLand b = c->land;
if(chaosmode && !inmirror(b)) return;
@ -593,10 +593,10 @@ void buildEquidistant(cell *c) {
}
}
if(c->landparam > 30 && b == laOcean && !generatingEquidistant && hrand(10) < 5)
if(c->landparam > 30 && b == laOcean && !generatingEquidistant && hrand(10) < 5 && !weirdhyperbolic)
buildAnotherEquidistant(c);
if(c->landparam > HAUNTED_RADIUS+5 && b == laGraveyard && !generatingEquidistant && hrand(100) < (nonbitrunc?25:5) && items[itBone] >= 10)
if(c->landparam > HAUNTED_RADIUS+5 && b == laGraveyard && !generatingEquidistant && hrand(100) < (nonbitrunc?25:5) && items[itBone] >= 10 && !weirdhyperbolic)
buildAnotherEquidistant(c);
}
@ -680,13 +680,14 @@ int towerval(cell *c, cellfunction* cf) {
/* other geometries */
void setLandWeird(cell *c) {
if(specialland == laIvoryTower || specialland == laEndorian || specialland == laDungeon || specialland == laOcean) {
// replaced with standard CR4
/* if(specialland == laIvoryTower || specialland == laEndorian || specialland == laDungeon || specialland == laOcean) {
int d = celldist(c) - (getDistLimit() - 2);
if(d <= 0)
c->land = laCrossroads4;
else
c->land = specialland, c->landparam = d;
}
} */
}
void setLandQuotient(cell *c) {

View File

@ -757,6 +757,7 @@ eLand getNewLand(eLand old) {
if(old == laEFire && lchance(old)) return hrand(2) ? laEEarth : laEAir;
if(tactic::on && !(tactic::trailer && old == firstland)) return firstland;
if(weirdhyperbolic && specialland != old) return specialland;
if(yendor::on && (yendor::clev().flags & YF_WALLS)) {
if(old != yendor::clev().l) return yendor::clev().l;

View File

@ -99,7 +99,7 @@ void initgame() {
if(firstland == laHauntedWall) firstland = laGraveyard;
if(firstland == laMercuryRiver) firstland = laTerracotta;
if(firstland == laMountain && !tactic::on) firstland = laJungle;
if(isGravityLand(firstland) && !tactic::on) firstland = laCrossroads;
if(isGravityLand(firstland) && !tactic::on) firstland = weirdhyperbolic ? laCrossroads4 : laCrossroads;
cwt.c = currentmap->gamestart(); cwt.spin = 0; cwt.mirrored = false;
cwt.c->land = ((geometry || whirl::whirl) && !safety) ? specialland : firstland;
@ -108,8 +108,8 @@ void initgame() {
if(firstland == laElementalWall) cwt.c->land = randomElementalLand();
if(tactic::on && (isGravityLand(firstland) || firstland == laOcean) && firstland != laMountain)
cwt.c->land = nonbitrunc ? laCrossroads : laCrossroads2;
if((tactic::on || weirdhyperbolic) && (isGravityLand(firstland) || firstland == laOcean) && firstland != laMountain)
cwt.c->land = weirdhyperbolic ? laCrossroads4 : nonbitrunc ? laCrossroads : laCrossroads2;
createMov(cwt.c, 0);
setdist(cwt.c, BARLEV, NULL);