From 94002884ec345eb4e7d6680d6ce26c9b3b0a245a Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Sat, 14 Jul 2007 23:29:19 +0000 Subject: Vampires, yay! Credit mostly goes to Jarmo, though there are a few traces of things I've changed (that I've included and then commented out). There's still lots of stuff to be added, but they should be playable right now. I notice that their vampiric bite attack needs to be made more probable. Feel free to comment on anything that looks weird, is plain wrong, or goes against the spirit of Crawl/Stonesoup. Positive feedback will be appreciated as well. :) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1870 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/acr.cc | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) (limited to 'crawl-ref/source/acr.cc') diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc index 33a5bae395..abb5544e27 100644 --- a/crawl-ref/source/acr.cc +++ b/crawl-ref/source/acr.cc @@ -1228,12 +1228,24 @@ void process_command( command_type cmd ) break; case CMD_THROW: + if (you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT) + { + mpr("You can't throw anything in your present form!"); + flush_input_buffer( FLUSH_ON_FAILURE ); + break; + } if (Options.tutorial_left) Options.tut_throw_counter++; throw_anything(); break; case CMD_FIRE: + if (you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT) + { + mpr("You can't fire anything in your present form!"); + flush_input_buffer( FLUSH_ON_FAILURE ); + break; + } if (Options.tutorial_left) Options.tut_throw_counter++; shoot_thing(); @@ -1253,10 +1265,22 @@ void process_command( command_type cmd ) break; case CMD_REMOVE_JEWELLERY: + if (you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT) + { + mpr("You can't do that in your present form!"); + flush_input_buffer( FLUSH_ON_FAILURE ); + break; + } remove_ring(); break; case CMD_WEAR_JEWELLERY: + if (you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT) + { + mpr("You can't do that in your present form!"); + flush_input_buffer( FLUSH_ON_FAILURE ); + break; + } puton_ring(-1, false); break; @@ -1333,7 +1357,14 @@ void process_command( command_type cmd ) flush_input_buffer( FLUSH_ON_FAILURE ); break; } - +/* + if (you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT) + { + mpr("You can't cast spells in your present form!"); + flush_input_buffer( FLUSH_ON_FAILURE ); + break; + } +*/ if (Options.tutorial_left) Options.tut_spell_counter++; if (!cast_a_spell()) @@ -1756,6 +1787,13 @@ static void decrement_durations() { you.duration[DUR_TRANSFORMATION]--; + if (you.species == SP_VAMPIRE + && you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT + && you.duration[DUR_TRANSFORMATION] > 2) + { + you.duration[DUR_TRANSFORMATION] = 5; + } + if (you.duration[DUR_TRANSFORMATION] == 10) { mpr("Your transformation is almost over.", MSGCH_DURATION); -- cgit v1.2.3-54-g00ecf