diff options
author | Eino Keskitalo <eino.keskitalo@gmail.com> | 2011-11-12 00:07:16 +0200 |
---|---|---|
committer | Eino Keskitalo <eino.keskitalo@gmail.com> | 2011-11-12 00:19:14 +0200 |
commit | 31ef48abc4529a298e3c2c6c788b7422bee7f81a (patch) | |
tree | 3f86915e62171648c764d230d42aa32717af146a /crawl-ref/source/tiledoll.cc | |
parent | 9f6b0c4b24262a0e605cf41bbbf66fc52abef7ba (diff) | |
download | crawl-ref-31ef48abc4529a298e3c2c6c788b7422bee7f81a.tar.gz crawl-ref-31ef48abc4529a298e3c2c6c788b7422bee7f81a.zip |
Tentacle hands for dolls from Pingas (#4687).
They're displayed if the player has the mutation, is not an octopode, and is not wielding/wearing something in the hand. For non-octopodes, only Beastly Appendage gives tentacles, but once there's constriction, they should be considered as a normal and/or DS mutation.
Diffstat (limited to 'crawl-ref/source/tiledoll.cc')
-rw-r--r-- | crawl-ref/source/tiledoll.cc | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/crawl-ref/source/tiledoll.cc b/crawl-ref/source/tiledoll.cc index b47918ccff..4d32801a58 100644 --- a/crawl-ref/source/tiledoll.cc +++ b/crawl-ref/source/tiledoll.cc @@ -279,22 +279,44 @@ void fill_doll_equipment(dolls_data &result) { const int item = you.equip[EQ_WEAPON]; if (you.form == TRAN_BLADE_HANDS) + { result.parts[TILEP_PART_HAND1] = TILEP_HAND1_BLADEHAND; + } + else if (item == -1 && you.has_tentacles(false) + && you.species != SP_OCTOPODE) + { + result.parts[TILEP_PART_HAND1] = TILEP_HAND1_TENTACLE; + } else if (item == -1) + { result.parts[TILEP_PART_HAND1] = 0; + } else + { result.parts[TILEP_PART_HAND1] = tilep_equ_weapon(you.inv[item]); + } } // Off hand. if (result.parts[TILEP_PART_HAND2] == TILEP_SHOW_EQUIP) { const int item = you.equip[EQ_SHIELD]; if (you.form == TRAN_BLADE_HANDS) + { result.parts[TILEP_PART_HAND2] = TILEP_HAND2_BLADEHAND; + } + else if (item == -1 && you.has_tentacles(false) + && you.species != SP_OCTOPODE) + { + result.parts[TILEP_PART_HAND2] = TILEP_HAND2_TENTACLE; + } else if (item == -1) + { result.parts[TILEP_PART_HAND2] = 0; + } else + { result.parts[TILEP_PART_HAND2] = tilep_equ_shield(you.inv[item]); + } } // Body armour. if (result.parts[TILEP_PART_BODY] == TILEP_SHOW_EQUIP) |