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

3d:: first version of landlock rules

This commit is contained in:
Zeno Rogue 2019-03-16 22:18:19 +01:00
parent d085111495
commit af0435e209

View File

@ -1138,6 +1138,9 @@ namespace lv {
land_validity_t no_fractal_landscapes = {1, q1 | one_and_half, "Fractal landscapes not implemented in this geometry."}; land_validity_t no_fractal_landscapes = {1, q1 | one_and_half, "Fractal landscapes not implemented in this geometry."};
land_validity_t simplified_walls = { 1, q1, "Only simplified walls implemented."}; land_validity_t simplified_walls = { 1, q1, "Only simplified walls implemented."};
land_validity_t disabled = {0, q0, "This land has been disabled with compilation flags."}; land_validity_t disabled = {0, q0, "This land has been disabled with compilation flags."};
land_validity_t pattern_special = {3, qm3, "Special pattern implemented for this geometry."};
land_validity_t not_3d = {0, q0, "This land does not make much sense in 3D."};
land_validity_t not_binary = {0, q0, "This land does not make much sense in binary tiling."};
} }
// old Daily Challenges should keep their validity forever // old Daily Challenges should keep their validity forever
@ -1161,7 +1164,15 @@ land_validity_t& land_validity(eLand l) {
#endif #endif
if(DIM == 3) { if(DIM == 3) {
if(isEquidLand(l) || isGravityLand(l) || l == laBrownian) return not_implemented; if(l == laWarpCoast) return ugly_version;
if(l == laWineyard && hyperbolic && !binarytiling && S7 == 6) return lv::pattern_special;
if(l == laEmerald && hyperbolic && !binarytiling && S7 == 12) return lv::pattern_special;
if(l == laZebra) return pattern_not_implemented_random;
if(among(l, laWhirlpool, laPrairie, laWestWall, laBull)) return lv::not_3d;
if(isGravityLand(l) || l == laBrownian) return not_implemented;
if(l == laKraken) return binarytiling ? not_binary : not_implemented;
if(l == laBurial && !shmup::on) return not_implemented;
if(l == laMirrorOld && !shmup::on) return not_implemented;
} }
if(l == laBrownian) { if(l == laBrownian) {
@ -1528,7 +1539,7 @@ land_validity_t& land_validity(eLand l) {
if(l == laDual && !geometry && !GOLDBERG) if(l == laDual && !geometry && !GOLDBERG)
return hyperbolic_37 ? not_in_full_game3 : not_in_full_game; return hyperbolic_37 ? not_in_full_game3 : not_in_full_game;
if(l == laSnakeNest) { if(l == laSnakeNest && DIM == 2) {
if(geosupport_threecolor() < 2) if(geosupport_threecolor() < 2)
return needs_threecolor; return needs_threecolor;
else return specially_designed; else return specially_designed;