mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-20 15:40:26 +00:00
solv:: Vineyard
This commit is contained in:
parent
487f5a0d24
commit
3b7d80bb17
@ -4380,6 +4380,8 @@ color_t transcolor(cell *c, cell *c2, color_t wcol) {
|
||||
if(c2->land == laBarrier) return darkena3(lcolor(c), 0, 0x40);
|
||||
return darkena3(gradient(lcolor(c), lcolor(c2), 0, 1, 2), 0, 0x40);
|
||||
}
|
||||
if(sol && c->land == laWineyard && c2->master->distance < c->master->distance)
|
||||
return 0x00800040;
|
||||
if(isAlch(c) && !c->item && (c2->item || !isAlch(c2))) return darkena3(winf[c->wall].color, 0, 0x40);
|
||||
if(c->wall == c2->wall) return 0;
|
||||
if(isFire(c) && !isFire(c2)) return darkena3(wcol, 0, 0x30);
|
||||
|
@ -631,6 +631,10 @@ void giantLandSwitch(cell *c, int d, cell *from) {
|
||||
else if(archimedean && arcm::current.have_line)
|
||||
c->wall = arcm::linespattern(c) ? waVinePlant : waNone;
|
||||
#endif
|
||||
else if(sol) {
|
||||
if((c->master->distance & 1) == 1 && (c->master->emeraldval % 3))
|
||||
c->wall = waVinePlant;
|
||||
}
|
||||
else if(euclid && !archimedean) {
|
||||
int x,y;
|
||||
tie(x,y) = cell_to_pair(c);
|
||||
@ -666,9 +670,9 @@ void giantLandSwitch(cell *c, int d, cell *from) {
|
||||
if(d == 7 && c->wall == waVinePlant && hrand(100) < (randomPatternsMode ? 2 : 10) && !peace::on && !reptilecheat)
|
||||
c->monst = moVineSpirit;
|
||||
ONEMPTY {
|
||||
if(hrand(5000) < PT(100 + 2 * (kills[moVineBeast] + kills[moVineSpirit]), 200) && notDippingFor(itWine))
|
||||
if(hrand(5000) < PT(100 + 2 * (kills[moVineBeast] + kills[moVineSpirit]), 200) && notDippingFor(itWine) && !reptilecheat)
|
||||
c->item = itWine;
|
||||
if(hrand_monster(8000) < 12 * (items[itWine] + yendor::hardness()))
|
||||
if(hrand_monster(8000) < 12 * (items[itWine] + yendor::hardness()) && !reptilecheat)
|
||||
c->monst = moVineBeast;
|
||||
}
|
||||
break;
|
||||
|
@ -979,10 +979,13 @@ land_validity_t& land_validity(eLand l) {
|
||||
if(among(l, laEmerald, laCamelot, laDryForest) && VALENCE != 3)
|
||||
return hedgehogs;
|
||||
|
||||
if(l == laWineyard && sol)
|
||||
return lv::pattern_special;
|
||||
|
||||
// ... wineyard pattern is GOOD only in the standard geometry or Euclidean
|
||||
if(l == laWineyard && (NONSTDVAR || sphere) && !randomPatternsMode)
|
||||
return pattern_not_implemented_random;
|
||||
|
||||
|
||||
if(l == laTrollheim && quotient == qFIELD)
|
||||
return not_enough_space;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user