mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-24 09:00:34 +00:00
in land_validity stdeucx to disallow torus
This commit is contained in:
parent
aef7e7ef37
commit
48111329a3
27
landlock.cpp
27
landlock.cpp
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user