From 19d229916a442397c1726d04298329283f2f39f2 Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Sun, 20 Apr 2008 13:08:35 +0000 Subject: Vampires: Allow Bat Form only until Satiated, and add this and the mutation chances to the vampire overview screen. Also, add time-out messages for Icy Armour (FR 1946662) and Forescry, because why not? git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4408 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/abl-show.cc | 2 +- crawl-ref/source/acr.cc | 15 ++++++++++++--- crawl-ref/source/food.cc | 7 +++---- crawl-ref/source/mutation.cc | 10 +++++++--- 4 files changed, 23 insertions(+), 11 deletions(-) diff --git a/crawl-ref/source/abl-show.cc b/crawl-ref/source/abl-show.cc index 7128a544a9..3afa6f2a59 100644 --- a/crawl-ref/source/abl-show.cc +++ b/crawl-ref/source/abl-show.cc @@ -2016,7 +2016,7 @@ std::vector your_talents( bool check_confused ) } if (you.species == SP_VAMPIRE && you.experience_level >= 3 - && you.hunger_state < HS_ENGORGED + && you.hunger_state <= HS_SATIATED && you.attribute[ATTR_TRANSFORMATION] != TRAN_BAT) { _add_talent(talents, ABIL_TRAN_BAT, check_confused ); diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc index a45d5d25d7..ab4d8a0a2d 100644 --- a/crawl-ref/source/acr.cc +++ b/crawl-ref/source/acr.cc @@ -2564,8 +2564,13 @@ static void _decrement_durations() } } - if (_decrement_a_duration(DUR_ICY_ARMOUR, "Your icy armour evaporates.")) + if (_decrement_a_duration(DUR_ICY_ARMOUR, + "Your icy armour evaporates.", + 6, coinflip(), + "Your icy armour start to melt.")) + { you.redraw_armour_class = true; + } if (_decrement_a_duration(DUR_SILENCE, "Your hearing returns.")) you.attribute[ATTR_WAS_SILENCED] = 0; @@ -2664,7 +2669,7 @@ static void _decrement_durations() // Vampire bat transformations are permanent (until ended.) if (you.species != SP_VAMPIRE || you.attribute[ATTR_TRANSFORMATION] != TRAN_BAT - || you.duration[DUR_TRANSFORMATION] <= 2) + || you.duration[DUR_TRANSFORMATION] <= 5) { if ( _decrement_a_duration(DUR_TRANSFORMATION, NULL, 10, random2(3), @@ -2703,8 +2708,12 @@ static void _decrement_durations() } if ( _decrement_a_duration(DUR_FORESCRY, - "You feel firmly rooted in the present.") ) + "You feel firmly rooted in the present.", + 6, coinflip(), + "Your vision of the future begins to falter.")) + { you.redraw_evasion = true; + } if ( _decrement_a_duration(DUR_SEE_INVISIBLE) && !player_see_invis() ) mpr("Your eyesight blurs momentarily.", MSGCH_DURATION); diff --git a/crawl-ref/source/food.cc b/crawl-ref/source/food.cc index a8ed16a0a1..fa28e1f4de 100644 --- a/crawl-ref/source/food.cc +++ b/crawl-ref/source/food.cc @@ -665,12 +665,11 @@ static bool food_change(bool suppress_message) you.duration[DUR_TRANSFORMATION] = 2; } } - else if (newstate == HS_ENGORGED - && you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT + else if (you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT && you.duration[DUR_TRANSFORMATION] > 5) { - mpr("Your bloodfilled body can't sustain your transformation much " - "longer.", MSGCH_WARN); + mpr("Your bloodfilled body can't sustain your transformation " + "much longer.", MSGCH_WARN); // give more time because suddenly stopping flying can be lethal you.duration[DUR_TRANSFORMATION] = 5; } diff --git a/crawl-ref/source/mutation.cc b/crawl-ref/source/mutation.cc index 47ff11bdc7..03425262d6 100644 --- a/crawl-ref/source/mutation.cc +++ b/crawl-ref/source/mutation.cc @@ -1406,7 +1406,7 @@ static void _display_vampire_attributes() std::string result; - std::string column[9][7] = + std::string column[11][7] = { {" ", "Alive ", "Full ", "Satiated ", "Thirsty ", "Near... ", @@ -1424,9 +1424,13 @@ static void _display_vampire_attributes() {"Torment resistance ", " ", " ", " ", " ", " ", " + "}, + {"Mutation chance ", "always ", "often ", "sometimes ", "never ", "never ", "never"}, + {"Mutation effects ", "full ", "capped ", "capped ", "none ", "none ", "none "}, - {"Stealth boost ", "none ", "none ", "none ", "minor ", "major ", "large"} + {"Stealth boost ", "none ", "none ", "none ", "minor ", "major ", "large"}, + + {"Bat Form ", "no ", "no ", "yes ", "yes ", "yes ", "yes "} }; int current = 0; @@ -1453,7 +1457,7 @@ static void _display_vampire_attributes() current = 6; } - for (int y = 0; y < 9; y++) // lines (properties) + for (int y = 0; y < 11; y++) // lines (properties) { for (int x = 0; x < 7; x++) // columns (hunger states) { -- cgit v1.2.3-54-g00ecf