Projectile) if you can't wield weapons. Don't allow base-shape breath attacks when shapechanged, except for Nagas in spider form. Fix [2589913]: melded shields counted for heavy armour penalties.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9026 c06c8d41-db1a-0410-9941-cceddc491573
2FWCWK23M4RXDNZ2WOCHAGSLXNOHLLCMLOZTVJMCOGLC54HMEUXAC
XA5DSJC4Y6RVGPPG2NY6S7AQRE4DFV7IF7NPK4PYS6YUI4XIAU7AC
LZH2H24IV7PQGTG4M3DMAEWDUGKMZD5FMPQXLVWYYCNUGA3XD5UAC
5KTPCJG42MF2B34CEH6VXAJIOZR6QOS2BWYNW7DXM3WA7N3GH4HQC
DTOROKIMAOTTZ42ZYBWV6BBABEFW64G33UXGW334TXIG3W3MBTEAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
H5BVKRORNXTCJKFXQPTFWDURKSUFW24CGSJXBGZCJUP4DHMSVDBQC
JVFPF4MBNVY2UEXPWJDKTWL6RY7WCXPB6GBOK3WPJOGM6CX3D7HQC
JCWJWGMQIKQGSSFJUQRKNIWW3HBOJSHYDTOPPE5BWOJTIJTDYUTAC
4EZVKDQA5GM3QDTNTCKEKGH4F6LGAYNLBT756PXODKZ2B7C4ZVHAC
IP4A3VRYFYIVLRUAU4DF4KDNP6E4UISWJX3LI2F4EGSSMIJYRJXAC
4RWYH3CQPAAOK2OM2POLRTY6A5CPHYZJ4B55VAVSCWTSCOPWMF6AC
PRL4MQHK6UB3UWW27CEBFTP2DP4ZTHIFX7N4WWVLJUPOZLFJHCZAC
3DQXSE4YGFBBDUWK4YEOFWW4UPWILWELFSLP37SL6BERGAZJC5YAC
5TG5LXU4DX65KMWCZ7YJHOB3VAETQAVBUHEUSQTPMA327XV2HQWAC
TGJZXTUIAKCFZQJ54ZQEBGFBVZSJCAX6AWDRSH3TP7UJRLGUM5SAC
XDJGQNFELURGXMUAOOVALQMSLAJVHMG63KPKVA33HTJFVZROGZ4AC
CE6FLTWU5PYFBSGVTIJXQXRMHOIHQ3VJCKHQVIMUUAIFHQ73X7NAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
3ZWALZFSTSIVYXY4BAY6ANGINTDACZC6RSSJTEMQSTSUIE66YOBQC
FXVDNB6MAAOSEP37HP7CIPPXNS7FDECN3GCRMT5UFFCKLHIL6IVAC
WXSNNK2RXP3DQFAEQGQUZJHFWXJC7ZKG2WURZGL566UDM4YXFSWQC
IJ6KN5MQLEB7DR7NW2AYQNCVBV5IUKECUSECUMEJWOBRNJBAXHCQC
VJZ4D26E4L4E22SO6UYB44DNUTLG72LA4GTAEZ2DKKEMAICHOXBQC
TRCCLE5RJ4VJULBOWOI2WC3RJU7WTEGS7RRQTDQL6W5UU246LKTQC
KW43PGXTTM57DXUGGBQXJ5G5OYYIY3WB76TXIKL2ZCIJGH7GH4LAC
KBNY5FWKTEAKABFCLPC3QFKFSVZKAGXINPCIFV6WDSWFO4VCKNTAC
O4DT3BQQ3XYPL6PQ72G6VPBAVHXZMEOLONFXNHXFMBXBVOYMB6VQC
P2ZCF3BBG523ZEOD6XQA4X5YEHBTWH3IM33YVHXP2SQ5POXZIH4QC
57E4T664CXRFPVW2BZBYI33UIHFS4PSEZURZYPSYSZK5DRLJJ5CQC
case RING_STRENGTH:
if (item.plus != 0)
prop_str += item.plus;
break;
case RING_DEXTERITY:
if (item.plus != 0)
prop_dex += item.plus;
break;
case RING_INTELLIGENCE:
if (item.plus != 0)
prop_int += item.plus;
break;
default:
break;
case RING_STRENGTH: prop_str += item.plus; break;
case RING_DEXTERITY: prop_dex += item.plus; break;
case RING_INTELLIGENCE: prop_int += item.plus; break;
default: break;
you.attribute[ ATTR_TRANSFORMATION ] = TRAN_NONE;
you.duration[ DUR_TRANSFORMATION ] = 0;
you.attribute[ATTR_TRANSFORMATION] = TRAN_NONE;
you.duration[DUR_TRANSFORMATION] = 0;
case GOD_BEOGH:
death_type = KILLED_BY_BEOGH_SMITING;
break;
case GOD_SHINING_ONE:
death_type = KILLED_BY_TSO_SMITING;
break;
default:
death_type = KILLED_BY_DIVINE_WRATH;
break;
case GOD_BEOGH: death_type = KILLED_BY_BEOGH_SMITING; break;
case GOD_SHINING_ONE: death_type = KILLED_BY_TSO_SMITING; break;
default: death_type = KILLED_BY_DIVINE_WRATH; break;
if (you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT)
// FIXME: merge this into transform_can_equip_slot()
const int trans = you.attribute[ATTR_TRANSFORMATION];
// If you can't wield it, you can't throw it.
if (trans == TRAN_SPIDER
|| trans == TRAN_BLADE_HANDS
|| trans == TRAN_ICE_BEAST
|| trans == TRAN_DRAGON
|| trans == TRAN_SERPENT_OF_HELL
|| trans == TRAN_AIR
|| trans == TRAN_BAT)
if (you.species == SP_NAGA)
// Spit Poison. Nontransformed nagas can upgrade to Breathe Poison.
// Transformed nagas, or non-nagas, can only get Spit Poison.
if (you.species == SP_NAGA
&& (!transform_changed_physiology()
|| you.attribute[ATTR_TRANSFORMATION] == TRAN_SPIDER))
else if (player_mutation_level(MUT_SPIT_POISON))
_add_talent(talents, ABIL_SPIT_POISON, check_confused );
else if (player_mutation_level(MUT_SPIT_POISON)
|| player_mutation_level(MUT_BREATHE_POISON))
{
_add_talent(talents, ABIL_SPIT_POISON, check_confused);
}
if (you.experience_level >= 7)
{
const ability_type ability = (
(you.species == SP_GREEN_DRACONIAN) ? ABIL_BREATHE_POISON :
(you.species == SP_RED_DRACONIAN) ? ABIL_BREATHE_FIRE :
(you.species == SP_WHITE_DRACONIAN) ? ABIL_BREATHE_FROST :
(you.species == SP_YELLOW_DRACONIAN) ? ABIL_SPIT_ACID :
(you.species == SP_BLACK_DRACONIAN) ? ABIL_BREATHE_LIGHTNING :
(you.species == SP_PURPLE_DRACONIAN) ? ABIL_BREATHE_POWER :
(you.species == SP_PALE_DRACONIAN) ? ABIL_BREATHE_STEAM :
(you.species == SP_MOTTLED_DRACONIAN)? ABIL_BREATHE_STICKY_FLAME
: ABIL_NON_ABILITY);
if (ability != ABIL_NON_ABILITY)
_add_talent(talents, ability, check_confused );
}
const ability_type ability = (
(you.species == SP_GREEN_DRACONIAN) ? ABIL_BREATHE_POISON :
(you.species == SP_RED_DRACONIAN) ? ABIL_BREATHE_FIRE :
(you.species == SP_WHITE_DRACONIAN) ? ABIL_BREATHE_FROST :
(you.species == SP_YELLOW_DRACONIAN) ? ABIL_SPIT_ACID :
(you.species == SP_BLACK_DRACONIAN) ? ABIL_BREATHE_LIGHTNING :
(you.species == SP_PURPLE_DRACONIAN) ? ABIL_BREATHE_POWER :
(you.species == SP_PALE_DRACONIAN) ? ABIL_BREATHE_STEAM :
(you.species == SP_MOTTLED_DRACONIAN)? ABIL_BREATHE_STICKY_FLAME
: ABIL_NON_ABILITY);
if (ability != ABIL_NON_ABILITY)
_add_talent(talents, ability, check_confused );