diff --git a/cell.cpp b/cell.cpp index 8d80add8..5b42124a 100644 --- a/cell.cpp +++ b/cell.cpp @@ -1590,6 +1590,7 @@ cdata *getHeptagonCdata(heptagon *h) { h->cdata = new cdata(orig_cdata); for(int& v: h->cdata->val) v = 0; h->cdata->bits = reptilecheat ? (1 << 21) - 1 : 0; + if(yendor::on && specialland == laVariant) h->cdata->bits |= (1 << 8) | (1 << 9) | (1 << 12); return h->cdata; } diff --git a/complex2.cpp b/complex2.cpp index 2a679e78..b33d6fa2 100644 --- a/complex2.cpp +++ b/complex2.cpp @@ -283,7 +283,11 @@ const array variant_features {{ {0x000c18,-1, moNone, VF { if(hrand(1500) < 30) build_pool(c, true); } }, {0x040A00,-1, moNone, VF { if(c->wall == waNone && !c->monst && !c->monst && hrand(1500) < 10) c->wall = waThumperOff; } }, {0x080A00,-1, moNone, VF { if(hrand(1500) < 20 && !c->monst && !c->wall) c->wall = waFireTrap; } }, - {0x0C0A00, 0, moNone, VF { if(c->wall == waNone && !c->monst && hrand(5000) < 100) c->wall = waExplosiveBarrel; } }, + {0x0C0A00, 0, moNone, VF { + bool inyendor = yendor::on && specialland == laVariant && celldist(c) < 7; + int chance = inyendor ? 800 : 100; + if(c->wall == waNone && !c->monst && hrand(5000) < chance) c->wall = waExplosiveBarrel; + } }, {0x060D04, 0, moNone, VF { if(c->wall == waNone && !c->monst && pseudohept(c) && hrand(30000) < 25 + items[itVarTreasure]) if(buildIvy(c, 0, c->type) && !peace::on) c->item = itVarTreasure; diff --git a/yendor.cpp b/yendor.cpp index c2feacfd..b97c43d2 100644 --- a/yendor.cpp +++ b/yendor.cpp @@ -89,6 +89,7 @@ namespace yendor { {laRuins, YF_DEAD}, {laCaves, YF_DEAD5}, {laWestWall, YF_START_CR}, + // {laVariant, YF_DEAD5}, (I do not think this works) }; int tscorelast;