diff options
-rw-r--r-- | crawl-ref/source/delay.cc | 13 | ||||
-rw-r--r-- | crawl-ref/source/spells4.cc | 2 |
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 } } |