diff --git a/debug.cpp b/debug.cpp index ecda4c40..daf9d056 100644 --- a/debug.cpp +++ b/debug.cpp @@ -191,9 +191,13 @@ bool applyCheat(char u, cell *c = NULL) { return true; } if(u == 'Z') { - flipplayer = false; - mirror::act(1, mirror::SPINSINGLE); + if (flipplayer) { + cwt += cwt.c->type/2; + flipplayer = false; + } cwt++; + mirror::act(1, mirror::SPINSINGLE); + wavephase = (1+wavephase) & 7; if(shmup::on) shmup::pc[0]->at = Id; return true; diff --git a/flags.cpp b/flags.cpp index a37e11a3..a4abd731 100644 --- a/flags.cpp +++ b/flags.cpp @@ -213,10 +213,6 @@ bool isDemon(cell *c) { return isDemon(c->monst); } -bool isWormHead(eMonster m) { - return m == moWorm || m == moTentacle || m == moHexSnake || m == moDragonHead; - } - bool isWorm(eMonster m) { return m == moWorm || m == moWormtail || m == moWormwait || m == moTentacle || m == moTentacletail || m == moTentaclewait || @@ -651,10 +647,6 @@ bool survivesFire(eMonster m) { isDragon(m) || m == moShadow; } -/* bool survivesMine(eMonster m) { - return ignoresPlates(m) || isFlying(m); - } */ - bool survivesWall(eMonster m) { return isGhost(m); } diff --git a/game.cpp b/game.cpp index eddb812f..438c6274 100644 --- a/game.cpp +++ b/game.cpp @@ -1422,12 +1422,14 @@ bool monstersnear(cell *c, cell *nocount, eMonster who, cell *pushto, cell *come comefrom->wall = w; c->wall = waBigStatue; } - if(who == moPlayer && c->wall == waThumperOn) { + else if(who == moPlayer && c->wall == waThumperOn) { c->wall = waNone; b = monstersnear2(); c->wall = waThumperOn; } - b = monstersnear2(); + else { + b = monstersnear2(); + } stalemate::moves.pop_back(); return b; } diff --git a/hyper.h b/hyper.h index 1ea99f2c..f1a1643b 100644 --- a/hyper.h +++ b/hyper.h @@ -461,7 +461,6 @@ bool isCrossroads(eLand l); enum orbAction { roMouse, roKeyboard, roCheck, roMouseForce, roMultiCheck, roMultiGo }; void moveItem (cell *from, cell *to, bool activateYendor); void uncoverMines(cell *c, int lev, int dist); -bool survivesMine(eMonster m); void killMonster(cell *c, eMonster who_killed, flagtype flags = 0); void toggleGates(cell *ct, eWall type, int rad); bool destroyHalfvine(cell *c, eWall newwall = waNone, int tval = 6);