mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-11-23 21:07:17 +00:00
fixed invalid error messages on Animated Dice validity tests
This commit is contained in:
parent
03c41443c4
commit
8f28497f26
@ -1118,6 +1118,10 @@ EX namespace dice {
|
||||
dd.dir = dir1;
|
||||
return dd;
|
||||
}
|
||||
|
||||
EX bool on(cell *c) {
|
||||
return among(c->wall, waRichDie, waHappyDie) || among(c->monst, moAnimatedDie, moAngryDie);
|
||||
}
|
||||
|
||||
EX void roll(movei mi) {
|
||||
auto &cto = mi.t;
|
||||
|
2
game.cpp
2
game.cpp
@ -413,7 +413,7 @@ EX void pushThumper(const movei& mi) {
|
||||
EX bool canPushThumperOn(movei mi, cell *player) {
|
||||
cell *thumper = mi.s;
|
||||
cell *tgt = mi.t;
|
||||
if(among(thumper->wall, waRichDie, waHappyDie) && !dice::can_roll(mi))
|
||||
if(dice::on(thumper) && !dice::can_roll(mi))
|
||||
return false;
|
||||
if(tgt->wall == waBoat || tgt->wall == waStrandedBoat) return false;
|
||||
if(isReptile(tgt->wall)) return false;
|
||||
|
2
orbs.cpp
2
orbs.cpp
@ -1157,7 +1157,7 @@ EX movei blowoff_destination(cell *c, int& di) {
|
||||
if(d<c->type) for(int e=d; e<d+c->type; e++) {
|
||||
int di = e % c->type;
|
||||
cell *c2 = c->move(di);
|
||||
if((c->monst == moAnimatedDie || c->monst == moAngryDie || c->wall == waHappyDie || c->wall == waRichDie) && !dice::can_roll(movei(c, di)))
|
||||
if(dice::on(c) && !dice::can_roll(movei(c, di)))
|
||||
continue;
|
||||
if(c2 && c2->cpdist > c->cpdist && passable(c2, c, P_BLOW)) return movei(c, c2, di);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user