mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-10-31 19:36:16 +00:00
no Dragons in the herds, Worms only a few steps
This commit is contained in:
parent
e24ae3f717
commit
2ea4b1df04
@ -2665,7 +2665,7 @@ namespace prairie {
|
||||
if(barrierhept(c3)) return btspin(fieldval(c3).first, c3->bardir)+1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void spread(cell *c, cell *from) {
|
||||
int rd;
|
||||
|
||||
@ -2747,6 +2747,11 @@ namespace prairie {
|
||||
#define RLOW (sphere?(nonbitrunc?7:6):nonbitrunc?4:2)
|
||||
#define RHIGH (sphere?(nonbitrunc?8:9):nonbitrunc?11:13)
|
||||
|
||||
bool no_worms(cell *c) {
|
||||
int rv = c->LHU.fi.rval;
|
||||
return rv > RLOW+1 && rv < RHIGH-1;
|
||||
}
|
||||
|
||||
bool isriver(cell *c) {
|
||||
return c->land == laPrairie && c->LHU.fi.rval <= RHIGH && c->LHU.fi.rval >= RLOW;
|
||||
}
|
||||
|
4
game.cpp
4
game.cpp
@ -794,6 +794,8 @@ bool passable_for(eMonster m, cell *w, cell *from, flagtype extra) {
|
||||
return false;
|
||||
return passable(w, from, extra);
|
||||
}
|
||||
if(m == moDragonHead && prairie::isriver(w))
|
||||
return false;
|
||||
if(isShark(m))
|
||||
return sharkpassable(w, from);
|
||||
if(isSlimeMover(m))
|
||||
@ -2779,7 +2781,7 @@ void computePathdist(eMonster param) {
|
||||
if(qb >= qtarg) {
|
||||
if(param == moTortoise && nogoSlow(c, c2)) continue;
|
||||
if(param == moIvyRoot && strictlyAgainstGravity(c, c2, false, MF_IVY)) continue;
|
||||
if(param == moWorm && (cellUnstable(c) || cellEdgeUnstable(c))) continue;
|
||||
if(param == moWorm && (cellUnstable(c) || cellEdgeUnstable(c) || prairie::no_worms(c))) continue;
|
||||
if(items[itOrbLava] && c2->cpdist <= 5 && pseudohept(c) && makeflame(c2, 1, true))
|
||||
continue;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user