summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/delay.cc13
-rw-r--r--crawl-ref/source/spells4.cc2
2 files changed, 10 insertions, 5 deletions
diff --git a/crawl-ref/source/delay.cc b/crawl-ref/source/delay.cc
index 141874dbd7..04c3b429bc 100644
--- a/crawl-ref/source/delay.cc
+++ b/crawl-ref/source/delay.cc
@@ -1125,12 +1125,11 @@ static void _finish_delay(const delay_queue_item &delay)
if (pass.x != 0 && pass.y != 0)
{
-
switch (grd(pass))
{
default:
if (!you.can_pass_through_feat(grd(pass)))
- ouch(1 + you.hp, NON_MONSTER, KILLED_BY_PETRIFICATION);
+ ouch(INSTANT_DEATH, NON_MONSTER, KILLED_BY_PETRIFICATION);
break;
case DNGN_SECRET_DOOR: // oughtn't happen
@@ -1139,8 +1138,9 @@ static void _finish_delay(const delay_queue_item &delay)
break;
}
- // Move any monsters out of the way:
- if (monsters* m = monster_at(pass))
+ // Move any monsters out of the way.
+ monsters *m = monster_at(pass);
+ if (m)
{
// One square, a few squares, anywhere...
if (!shift_monster(m) && !monster_blink(m))
@@ -1148,6 +1148,11 @@ static void _finish_delay(const delay_queue_item &delay)
}
move_player_to_grid(pass, false, true, true);
+
+ // Wake the monster if it's asleep.
+ if (m)
+ behaviour_event(m, ME_ALERT, MHITYOU);
+
redraw_screen();
}
break;
diff --git a/crawl-ref/source/spells4.cc b/crawl-ref/source/spells4.cc
index 2f970a3fe7..42c57fec65 100644
--- a/crawl-ref/source/spells4.cc
+++ b/crawl-ref/source/spells4.cc
@@ -952,7 +952,7 @@ static int _passwall(coord_def where, int pow, int, actor *)
{
if (howdeep > range || non_rock_barriers)
{
- ouch(1 + you.hp, NON_MONSTER, KILLED_BY_PETRIFICATION);
+ ouch(INSTANT_DEATH, NON_MONSTER, KILLED_BY_PETRIFICATION);
//jmf: not return; if wizard, successful transport is option
}
}