1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-12-25 01:20:37 +00:00

in land_validity stdeucx to disallow torus

This commit is contained in:
Zeno Rogue 2019-11-30 15:06:20 +01:00
parent aef7e7ef37
commit 48111329a3

View File

@ -681,13 +681,16 @@ namespace lv {
// old Daily Challenges should keep their validity forever // old Daily Challenges should keep their validity forever
// set this number for historical values of land_validity // set this number for historical values of land_validity
int old_daily_id = 1000000; EX int old_daily_id = 1000000;
const int landscapes_when = 1000; const int landscapes_when = 1000;
// check if the given land should appear in lists // check if the given land should appear in lists
EX land_validity_t& land_validity(eLand l) { EX land_validity_t& land_validity(eLand l) {
bool stdeucx = stdeuc;
if(euclid && quotient) stdeucx = false;
using namespace lv; using namespace lv;
if(walls_not_implemented() && isCrossroads(l)) if(walls_not_implemented() && isCrossroads(l))
@ -916,7 +919,7 @@ EX land_validity_t& land_validity(eLand l) {
if(l == laPrincessQuest && tactic::on) if(l == laPrincessQuest && tactic::on)
return not_in_ptm; return not_in_ptm;
if(l == laPrincessQuest && (!stdeuc || NONSTDVAR)) if(l == laPrincessQuest && (!stdeucx || NONSTDVAR))
return not_implemented; return not_implemented;
if(l == laPrincessQuest && shmup::on) if(l == laPrincessQuest && shmup::on)
@ -936,7 +939,7 @@ EX land_validity_t& land_validity(eLand l) {
return not_in_chaos; return not_in_chaos;
if(l == laClearing) if(l == laClearing)
if(!(stdeuc || a38 || (a45 && BITRUNCATED) || (a47 && BITRUNCATED)) || NONSTDVAR) if(!(stdeucx || a38 || (a45 && BITRUNCATED) || (a47 && BITRUNCATED)) || NONSTDVAR)
if(!bounded) if(!bounded)
return not_implemented; return not_implemented;
@ -977,18 +980,18 @@ EX land_validity_t& land_validity(eLand l) {
return dont_work_but_ingame; return dont_work_but_ingame;
} }
// works in most spheres, Zebra quotient, and stdeuc // works in most spheres, Zebra quotient, and stdeucx
if(l == laWhirlwind) { if(l == laWhirlwind) {
if(geometry == gZebraQuotient) if(geometry == gZebraQuotient)
return pattern_compatibility; return pattern_compatibility;
if(stdeuc) ; if(stdeucx) ;
else if(S7 == 4 && BITRUNCATED) return special_geo; else if(S7 == 4 && BITRUNCATED) return special_geo;
else if(bigsphere && !BITRUNCATED && !elliptic) return special_geo; else if(bigsphere && !BITRUNCATED && !elliptic) return special_geo;
else return dont_work; else return dont_work;
} }
// needs standard/Euclidean (needs fractal landscape) // needs standard/Euclidean (needs fractal landscape)
if(among(l, laTortoise, laVariant) && !(old_daily_id < landscapes_when ? stdeuc : geometry_supports_cdata())) if(among(l, laTortoise, laVariant) && !(old_daily_id < landscapes_when ? stdeucx : geometry_supports_cdata()))
return not_implemented; return not_implemented;
// technical lands do not count // technical lands do not count
@ -1053,7 +1056,7 @@ EX land_validity_t& land_validity(eLand l) {
if(l == laStorms && hyperbolic_not37) if(l == laStorms && hyperbolic_not37)
return pattern_not_implemented_random; return pattern_not_implemented_random;
if(l == laTrollheim && !stdeuc && !bounded) if(l == laTrollheim && !stdeucx && !bounded)
return some1; return some1;
if(l == laReptile && sol) return ugly_version_nofull; if(l == laReptile && sol) return ugly_version_nofull;
@ -1074,13 +1077,13 @@ EX land_validity_t& land_validity(eLand l) {
} }
} }
if((l == laDragon || l == laReptile) && !stdeuc && !smallbounded && !randomPatternsMode) if((l == laDragon || l == laReptile) && !stdeucx && !smallbounded && !randomPatternsMode)
return no_fractal_landscapes; return no_fractal_landscapes;
if(l == laCrossroads && smallsphere) if(l == laCrossroads && smallsphere)
return not_enough_space; return not_enough_space;
if(l == laCrossroads3 && !stdeuc && !bigsphere) if(l == laCrossroads3 && !stdeucx && !bigsphere)
return not_enough_space; return not_enough_space;
if(among(l, laCrossroads, laCrossroads2, laCrossroads3, laCrossroads5) && weirdhyperbolic) if(among(l, laCrossroads, laCrossroads2, laCrossroads3, laCrossroads5) && weirdhyperbolic)
@ -1097,7 +1100,7 @@ EX land_validity_t& land_validity(eLand l) {
if(l == laZebra && quotient && geometry != gZebraQuotient && !randomPatternsMode) if(l == laZebra && quotient && geometry != gZebraQuotient && !randomPatternsMode)
return pattern_incompatibility; return pattern_incompatibility;
if(l == laZebra && !(stdeuc || (a4 && !BITRUNCATED) || a46 || (geometry == gZebraQuotient && old_daily_id > 106)) && !randomPatternsMode) if(l == laZebra && !(stdeucx || (a4 && !BITRUNCATED) || a46 || (geometry == gZebraQuotient && old_daily_id > 106)) && !randomPatternsMode)
return pattern_not_implemented_weird; return pattern_not_implemented_weird;
if(l == laCrossroads3 && euclid) if(l == laCrossroads3 && euclid)
@ -1105,12 +1108,12 @@ EX land_validity_t& land_validity(eLand l) {
if(l == laPrairie) { if(l == laPrairie) {
if(GOLDBERG) return not_implemented; if(GOLDBERG) return not_implemented;
else if(stdeuc || (bigsphere && BITRUNCATED && !elliptic) || (geometry == gFieldQuotient)) ; else if(stdeucx || (bigsphere && BITRUNCATED && !elliptic) || (geometry == gFieldQuotient)) ;
else if(!bounded) return not_implemented; else if(!bounded) return not_implemented;
else return unbounded_only; else return unbounded_only;
} }
if(l == laTerracotta && !stdeuc && !(bigsphere)) if(l == laTerracotta && !stdeucx && !(bigsphere))
return great_walls_missing; return great_walls_missing;
// highlight Crossroads on Euclidean // highlight Crossroads on Euclidean