summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/player.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-05-18 13:26:18 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-05-18 13:26:18 +0000
commit5deb29bf245d7ff57751f4ea2a2159439a516e42 (patch)
tree6248a847f280784ce9c95b0a4b3a96f08132dcc3 /crawl-ref/source/player.cc
parent4cac38979dea03c2323e33c854ac1092621edec0 (diff)
downloadcrawl-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.cc16
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: ";