diff options
author | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-11-22 01:40:14 +0000 |
---|---|---|
committer | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-11-22 01:40:14 +0000 |
commit | 9aea04f45a0902a19877de1f383264def728c862 (patch) | |
tree | f37110792345ede143fe84989b01c7e3875169f6 /crawl-ref/source/player.cc | |
parent | 308d03bae861cbc312797d064efa46ac69dfd4d9 (diff) | |
download | crawl-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.cc | 23 |
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 |