summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/player.cc
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2007-11-22 01:40:14 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2007-11-22 01:40:14 +0000
commit9aea04f45a0902a19877de1f383264def728c862 (patch)
treef37110792345ede143fe84989b01c7e3875169f6 /crawl-ref/source/player.cc
parent308d03bae861cbc312797d064efa46ac69dfd4d9 (diff)
downloadcrawl-ref-9aea04f45a0902a19877de1f383264def728c862.tar.gz
crawl-ref-9aea04f45a0902a19877de1f383264def728c862.zip
make player::has_claws() return an int indicating the level of claws
available; this removes the need for some special cases dealing with trolls' and ghouls' built-in claws git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2890 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/player.cc')
-rw-r--r--crawl-ref/source/player.cc23
1 files changed, 14 insertions, 9 deletions
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index 07b04ebd06..92778360cd 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -6115,23 +6115,28 @@ void player::slow_down(int str)
::slow_player( str );
}
-bool player::has_claws() const
+int player::has_claws() const
{
// these transformations bring claws with them
if (attribute[ATTR_TRANSFORMATION] == TRAN_DRAGON
|| attribute[ATTR_TRANSFORMATION] == TRAN_SERPENT_OF_HELL)
{
- return true;
+ return 3;
}
- // these are the only other sources for claws
- if (species != SP_TROLL && species != SP_GHOUL && !mutation[MUT_CLAWS])
- return false;
-
// transformations other than these will override claws
- return ( attribute[ATTR_TRANSFORMATION] == TRAN_NONE
- || attribute[ATTR_TRANSFORMATION] == TRAN_STATUE
- || attribute[ATTR_TRANSFORMATION] == TRAN_LICH );
+ if (attribute[ATTR_TRANSFORMATION] != TRAN_NONE
+ && attribute[ATTR_TRANSFORMATION] != TRAN_STATUE
+ && attribute[ATTR_TRANSFORMATION] != TRAN_LICH)
+ {
+ return 0;
+ }
+
+ // these are the only other sources for claws
+ if (species == SP_TROLL || species == SP_GHOUL)
+ return 3;
+ else
+ return mutation[MUT_CLAWS];
}
bool player::has_usable_claws() const