1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-12-26 01:50:36 +00:00
This commit is contained in:
Zeno Rogue 2021-07-11 11:57:23 +02:00
commit d06e94d480
4 changed files with 8 additions and 6 deletions

View File

@ -512,8 +512,8 @@ EX void killMonster(cell *c, eMonster who, flagtype deathflags IS(0)) {
if(m == moPrincess) { if(m == moPrincess) {
princess::info *i = princess::getPrincessInfo(c); princess::info *i = princess::getPrincessInfo(c);
changes.value_keep(*i);
if(i) { if(i) {
changes.value_keep(*i);
i->princess = NULL; i->princess = NULL;
if(i->bestdist == OUT_OF_PALACE) { if(i->bestdist == OUT_OF_PALACE) {
items[itSavedPrincess]--; items[itSavedPrincess]--;

View File

@ -978,6 +978,7 @@ EX void removeIvy(cell *c) {
// note that semi-vines don't count // note that semi-vines don't count
if(c->move(i)->wall == waVinePlant) { if(c->move(i)->wall == waVinePlant) {
destroyHalfvine(c); destroyHalfvine(c);
if (!do_not_touch_this_wall(c))
c->wall = waVinePlant; c->wall = waVinePlant;
} }
if(c->wall != waVinePlant) { if(c->wall != waVinePlant) {

View File

@ -99,9 +99,6 @@ EX bool reduceOrbPower(eItem it, int cap) {
return true; return true;
} }
if(items[it] > cap && timerghost) items[it] = cap; if(items[it] > cap && timerghost) items[it] = cap;
#if CAP_COMPLEX2
mine::auto_teleport_charges();
#endif
return false; return false;
} }
@ -210,6 +207,10 @@ EX void reduceOrbPowers() {
reduceOrbPower(itCurseRepulsion, 199); reduceOrbPower(itCurseRepulsion, 199);
reduceOrbPower(itCurseGluttony, 199); reduceOrbPower(itCurseGluttony, 199);
#if CAP_COMPLEX2
mine::auto_teleport_charges();
#endif
whirlwind::calcdirs(cwt.at); whirlwind::calcdirs(cwt.at);
items[itStrongWind] = !items[itOrbAether] && whirlwind::qdirs == 1; items[itStrongWind] = !items[itOrbAether] && whirlwind::qdirs == 1;
items[itWarning] = 0; items[itWarning] = 0;

View File

@ -409,7 +409,7 @@ bool sharkpassable(cell *w, cell *c) {
EX bool canPushStatueOn(cell *c, flagtype flags) { EX bool canPushStatueOn(cell *c, flagtype flags) {
return passable(c, NULL, P_MONSTER | flags) && !snakelevel(c) && return passable(c, NULL, P_MONSTER | flags) && !snakelevel(c) &&
!isWorm(c->monst) && !isReptile(c->wall) && !peace::on && !isWorm(c->monst) && !isReptile(c->wall) && !peace::on &&
!cellHalfvine(c) && !cellHalfvine(c) && !isDie(c->wall) &&
!among(c->wall, waBoat, waFireTrap, waArrowTrap); !among(c->wall, waBoat, waFireTrap, waArrowTrap);
} }