diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-05-18 13:26:18 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-05-18 13:26:18 +0000 |
commit | 5deb29bf245d7ff57751f4ea2a2159439a516e42 (patch) | |
tree | 6248a847f280784ce9c95b0a4b3a96f08132dcc3 /crawl-ref/source/player.cc | |
parent | 4cac38979dea03c2323e33c854ac1092621edec0 (diff) | |
download | crawl-ref-5deb29bf245d7ff57751f4ea2a2159439a516e42.tar.gz crawl-ref-5deb29bf245d7ff57751f4ea2a2159439a516e42.zip |
* Fix Bat Form restrictions not applying to choice by clicking (Tiles).
* Allow </> as synonyms for left/right hand in swap_rings().
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9791 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/player.cc')
-rw-r--r-- | crawl-ref/source/player.cc | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index dbb5fc47e7..ef4c97f985 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -427,10 +427,15 @@ bool player_is_swimming() return (you.swimming()); } +bool player_in_bat_form() +{ + return (you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT); +} + bool player_can_open_doors() { // Bats can't close/open doors. - return (you.attribute[ATTR_TRANSFORMATION] != TRAN_BAT); + return !player_in_bat_form(); } bool player_under_penance(void) @@ -1096,7 +1101,7 @@ int player_hunger_rate(void) { int hunger = 3; - if (you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT) + if (player_in_bat_form()) return 1; if (you.species == SP_TROLL) @@ -1918,7 +1923,7 @@ int player_movement_speed(void) // transformations if (you.attribute[ATTR_TRANSFORMATION] == TRAN_SPIDER) mv = 8; - else if (you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT) + else if (player_in_bat_form()) mv = 5; // but allowed minimum is six // armour @@ -3600,7 +3605,7 @@ int check_stealth(void) // Thirsty/bat-form vampires are (much) more stealthy if (you.hunger_state == HS_STARVING) stealth += (you.skills[SK_STEALTH] * 21); - else if (you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT + else if (player_in_bat_form() || you.hunger_state <= HS_NEAR_STARVING) { stealth += (you.skills[SK_STEALTH] * 20); @@ -3882,8 +3887,7 @@ void display_char_status() { std::string text; - if ((you.species != SP_VAMPIRE - || you.attribute[ATTR_TRANSFORMATION] != TRAN_BAT) + if ((you.species != SP_VAMPIRE || !player_in_bat_form()) && dur_expiring(DUR_TRANSFORMATION)) { text = "Expiring: "; |