disabled more patterned lands in 'strict tree maps'

This commit is contained in:
Zeno Rogue
2026-04-17 21:07:24 +02:00
parent 96a96541c7
commit f3f6f1fd12
3 changed files with 14 additions and 8 deletions
+2 -2
View File
@@ -126,8 +126,8 @@ void addMessage(string s, char spamtype = 0);
#define S7 cginf.sides
#define S3 cginf.vertex
#define hyperbolic_37 (S7 == 7 && S3 == 3 && !bt::in() && !arcm::in())
#define hyperbolic_not37 ((S7 > 7 || S3 > 3 || bt::in() || arcm::in()) && hyperbolic)
#define hyperbolic_37 (S7 == 7 && S3 == 3 && !bt::in() && !arcm::in() && !arb::in())
#define hyperbolic_not37 ((S7 > 7 || S3 > 3 || bt::in() || arcm::in() || arb::in()) && hyperbolic)
#define weirdhyperbolic ((S7 > 7 || S3 > 3 || !STDVAR || bt::in() || arcm::in() || arb::in()) && hyperbolic)
#define stdhyperbolic (S7 == 7 && S3 == 3 && STDVAR && !bt::in() && !arcm::in() && !arb::in())
+3 -1
View File
@@ -232,6 +232,8 @@ EX bool is_zebra_trapdoor(cell *c) {
else
if(arcm::in()) return hrand(2);
#endif
else
if(arb::in()) return hrand(2);
else
if(S3 >= OINF) return hrand(2);
#if CAP_BT
@@ -844,7 +846,7 @@ EX void giantLandSwitch(cell *c, int d, cell *from) {
}
else if(WDIM == 3 && hyperbolic && !bt::in())
c->wall = (c->master->zebraval & 2) ? waVinePlant : waNone;
else if(a4 || sphere || arcm::in() || bt::in() || S3 >= OINF)
else if(a4 || sphere || arcm::in() || bt::in() || arb::in() || S3 >= OINF)
c->wall = hrand(100) < 50 ? waNone : waVinePlant;
else {
int v = emeraldval(c);
+9 -5
View File
@@ -1220,6 +1220,10 @@ EX land_validity_t& land_validity(eLand l) {
}
#endif
if(arb::in()) {
if(among(l, laPower, laZebra, laFrog, laWineyard) && arb::current.have_line) return lv::pattern_defined;
}
#if CAP_CRYSTAL
if(cryst) {
if(l == laCamelot) return interesting;
@@ -1331,9 +1335,9 @@ EX land_validity_t& land_validity(eLand l) {
return dont_work;
#endif
if(arcm::in() && l == laPrairie) return dont_work;
if((arcm::in() || arb::in()) && l == laPrairie) return dont_work;
if((IRREGULAR || arcm::in()) && among(l, laBlizzard, laVolcano) && !sphere)
if((IRREGULAR || arcm::in() || arb::in()) && among(l, laBlizzard, laVolcano) && !sphere)
return dont_work;
if(arcm::in() && DUAL && l == laCrossroads4)
@@ -1558,13 +1562,13 @@ EX land_validity_t& land_validity(eLand l) {
if(l == laCrossroads4 && quotient)
return some0;
if(l == laZebra && bt::in()) return pattern_defined;
if(among(l, laZebra, laFrog) && bt::in()) return pattern_defined;
if(l == laZebra && S3 >= OINF) return pattern_not_implemented_random;
if(among(l, laZebra, laFrog) && (S3 >= OINF || arcm::in() || arb::in())) return pattern_not_implemented_random;
if(among(l, laZebra, laFrog) && quotient && geometry != gZebraQuotient && !randomPatternsMode)
return pattern_incompatibility;
if(among(l, laZebra, laFrog) && !(stdeucx || (a4 && !BITRUNCATED) || a46 || (geometry == gZebraQuotient && old_daily_id > 106)) && !randomPatternsMode)
return pattern_not_implemented_weird;