mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-11-04 15:53:00 +00:00
falling birds now trigger trapdoors, also animation is added
This commit is contained in:
9
game.cpp
9
game.cpp
@@ -3251,6 +3251,10 @@ void moveEffect(cell *ct, cell *cf, eMonster m) {
|
|||||||
|
|
||||||
if((ct->wall == waClosePlate || ct->wall == waOpenPlate) && !ignoresPlates(m))
|
if((ct->wall == waClosePlate || ct->wall == waOpenPlate) && !ignoresPlates(m))
|
||||||
toggleGates(ct, ct->wall);
|
toggleGates(ct, ct->wall);
|
||||||
|
if(m == moDeadBird && cf == ct && cellUnstable(cf)) {
|
||||||
|
fallingFloorAnimation(cf);
|
||||||
|
cf->wall = waChasm;
|
||||||
|
}
|
||||||
|
|
||||||
if(ct->wall == waArrowTrap && !ignoresPlates(m))
|
if(ct->wall == waArrowTrap && !ignoresPlates(m))
|
||||||
activateArrowTrap(ct);
|
activateArrowTrap(ct);
|
||||||
@@ -3405,7 +3409,10 @@ void moveMonster(cell *ct, cell *cf) {
|
|||||||
}
|
}
|
||||||
if(m != moMimic) animateMovement(cf, ct, LAYER_SMALL);
|
if(m != moMimic) animateMovement(cf, ct, LAYER_SMALL);
|
||||||
// the following line is necessary because otherwise plates disappear only inside the sight range
|
// the following line is necessary because otherwise plates disappear only inside the sight range
|
||||||
if(cellUnstable(cf) && !ignoresPlates(m)) cf->wall = waChasm;
|
if(cellUnstable(cf) && !ignoresPlates(m)) {
|
||||||
|
fallingFloorAnimation(cf);
|
||||||
|
cf->wall = waChasm;
|
||||||
|
}
|
||||||
moveEffect(ct, cf, m);
|
moveEffect(ct, cf, m);
|
||||||
if(ct->wall == waCamelotMoat &&
|
if(ct->wall == waCamelotMoat &&
|
||||||
(m == moShark || m == moCShark || m == moGreaterShark))
|
(m == moShark || m == moCShark || m == moGreaterShark))
|
||||||
|
|||||||
Reference in New Issue
Block a user