summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/tiledoll.cc
diff options
context:
space:
mode:
authorEino Keskitalo <eino.keskitalo@gmail.com>2011-11-12 00:07:16 +0200
committerEino Keskitalo <eino.keskitalo@gmail.com>2011-11-12 00:19:14 +0200
commit31ef48abc4529a298e3c2c6c788b7422bee7f81a (patch)
tree3f86915e62171648c764d230d42aa32717af146a /crawl-ref/source/tiledoll.cc
parent9f6b0c4b24262a0e605cf41bbbf66fc52abef7ba (diff)
downloadcrawl-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.cc22
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)