diff options
author | Jude Brown <bookofjude@users.sourceforge.net> | 2009-11-13 14:51:31 +1000 |
---|---|---|
committer | Jude Brown <bookofjude@users.sourceforge.net> | 2009-11-13 14:54:40 +1000 |
commit | 6c05a8337e26b40f1cfebbf14cbc00ab0e2b6c8b (patch) | |
tree | bdeeadb24ca7a72c465ab32560f96ba5a95d4b16 /crawl-ref/source/player.cc | |
parent | be0551c2205ac189be5558447625642553c80dd3 (diff) | |
download | crawl-ref-6c05a8337e26b40f1cfebbf14cbc00ab0e2b6c8b.tar.gz crawl-ref-6c05a8337e26b40f1cfebbf14cbc00ab0e2b6c8b.zip |
New monster spell: Sleep. Give sleep to Aizul.
Unlike Ensorcelled Hibernation, Sleep checks MR only, rather than MR and
cold resistance. It also does not check monsters having SLEEP_WEARY. It
will not act on something that is already sleep.
Diffstat (limited to 'crawl-ref/source/player.cc')
-rw-r--r-- | crawl-ref/source/player.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index 4ea7ac6b41..5233305c3a 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -7079,6 +7079,26 @@ void player::hibernate(int) duration[DUR_SLEEP] = 3 + random2avg(5, 2); } +void player::put_to_sleep(int power) +{ + ASSERT(!crawl_state.arena); + + if (duration[DUR_SLEEP]) + { + mpr("You feel weary for a moment."); + return; + } + + mpr("You fall asleep!"); + + stop_delay(); + flash_colour = DARKGREY; + viewwindow(false); + + // As above, do this after redraw. + duration[DUR_SLEEP] = 5 + random2avg(power / 10, 5); +} + void player::awake() { ASSERT(!crawl_state.arena); |