mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-02-08 23:20:12 +00:00
equidistant validity
This commit is contained in:
parent
3504307cfb
commit
7792c27d09
34
landlock.cpp
34
landlock.cpp
@ -1013,17 +1013,35 @@ int isLandValid(eLand l) {
|
|||||||
if((l == laCrossroads5 || l == laCrossroads2) && (geometry || chaosmode))
|
if((l == laCrossroads5 || l == laCrossroads2) && (geometry || chaosmode))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
// equidistant-based lands -- only in standard geometry
|
// equidistant-based lands
|
||||||
if((l == laDungeon || l == laEndorian) && (geometry || chaosmode))
|
if(l == laDungeon || l == laEndorian || l == laIvoryTower || l == laMountain || l == laOcean) {
|
||||||
return 0; //CHECKMORE
|
// special construction
|
||||||
|
if(chaosmode && l == laOcean)
|
||||||
// has a special construction in Chaos mode
|
return 2;
|
||||||
if(l == laOcean && (!stdeuc && !chaosmode))
|
// no equidistants supported in chaos mode
|
||||||
return 0;
|
if(chaosmode)
|
||||||
|
return 0;
|
||||||
|
// no equidistants supported in these geometries (big sphere is OK though)
|
||||||
|
if(quotient || elliptic || smallsphere || torus)
|
||||||
|
return 0;
|
||||||
|
// Yendorian only implemented in standard
|
||||||
|
if(l == laEndorian)
|
||||||
|
return 0;
|
||||||
|
// special Euclidean implementations
|
||||||
|
if(euclid && (l == laIvoryTower || l == laMountain || l == laOcean))
|
||||||
|
return 2;
|
||||||
|
// in other geometries, it works, but as circles, not equidistants
|
||||||
|
if(geometry)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
// equidistant-based lands, but also implemented in Euclidean
|
// equidistant-based lands, but also implemented in Euclidean
|
||||||
if((l == laIvoryTower || l == laMountain) && (!stdeuc || chaosmode))
|
if((l == laIvoryTower || l == laMountain) && (!stdeuc || chaosmode)) {
|
||||||
|
if(quotient || euclid || elliptic || smallsphere || chaosmode)
|
||||||
|
return 0; //CHECKMORE
|
||||||
|
if(l == laDungeon) return 1;
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if(l == laPrincessQuest && (!stdeuc || chaosmode || tactic::on))
|
if(l == laPrincessQuest && (!stdeuc || chaosmode || tactic::on))
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user