git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9334 c06c8d41-db1a-0410-9941-cceddc491573
L2HE3KCNREOYBGUNAJPWJDFFVIM7VMLCCGU4DZPVENAPF23F2GSQC
ZOO5DQ2OLM56HTLQTLEXHHMIPUVYXS42U6F75JFUQ76ALO2WYRMQC
CZTXPRNGAMCUG5IWOFXJQ2XX4GX2BWQHMRQWIOWCXMTOG4BUZ4DAC
4LFTDJY3DK6S7C7SQLLML6UIZ42GZOWK2EIMZZSNEKBWSA3YNUZAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
VOVNQ3LJN6OK7WMMOH33SI45XYJSJKNCB6PVZUNP2TOZ45UPW5MQC
S34LKQDIQJLIWVIPASOJBBZ6ZCXDHP5KPS7TRBZJSCDRVNCLK6UAC
3ZWALZFSTSIVYXY4BAY6ANGINTDACZC6RSSJTEMQSTSUIE66YOBQC
GA7RSKRL2B7OYL4NWCCMULF2QXJ27NALF7KWTSVXY272NS5KFGJQC
JE5K2LGM25NQQ3VIBZ25WJEQ4AJJVFLZWOH5RLNX66NVGQWI3YMQC
7CMQLE4XIFMWDEUZAOKIKDW7BHAJCK5S26APMEZ6TEFEH63TEZ6AC
PDK36YVNNJ76LDXLK3NBHHLE47GZRVYGAXDY2FWLD5H7HR4Q6WRAC
EEYHYRJXQKQZZ5PGEV5OCUJHCEPCHBECIPAD5QY4UMZUI5LLSVGAC
P2ZCF3BBG523ZEOD6XQA4X5YEHBTWH3IM33YVHXP2SQ5POXZIH4QC
Z3LQZFYAPLLSUPPZGUDIYQP7G5SQKFTMBYQYNBJRH4F5BUZGTXFQC
HBHSPU3KPX3XREFJ7HSIRA3EZNULYAXMMJDXCUEO5RWQI4IQBP7QC
X3B7EVFL3GJOEID2C42QJQIQBJS4YLA4R2HT4LXGDPIBKHGDDEHQC
}
static bool _physiology_mutation_conflict(mutation_type mutat)
{
// Only Nagas and Draconians can get this one.
if (mutat == MUT_STINGER
&& you.species != SP_NAGA && !player_genus(GENPC_DRACONIAN))
{
return (true);
}
if ((mutat == MUT_HOOVES || mutat == MUT_TALONS) && !player_has_feet())
return (true);
// Already innate.
if (mutat == MUT_BREATHE_POISON && you.species != SP_NAGA)
return (true);
// Red Draconians can already breathe flames.
if (mutat == MUT_BREATHE_FLAMES && you.species == SP_RED_DRACONIAN)
return (true);
// Green Draconians can already breathe poison, so they don't need
// to spit it.
if (mutat == MUT_SPIT_POISON && you.species == SP_GREEN_DRACONIAN)
return (true);
// Only Draconians can get wings.
if (mutat == MUT_BIG_WINGS && !player_genus(GENPC_DRACONIAN))
return (true);
// Vampires' healing and thirst rates depend on their blood level.
if (you.species == SP_VAMPIRE
&& (mutat == MUT_CARNIVOROUS || mutat == MUT_HERBIVOROUS
|| mutat == MUT_REGENERATION || mutat == MUT_SLOW_HEALING
|| mutat == MUT_FAST_METABOLISM || mutat == MUT_SLOW_METABOLISM))
{
return (true);
}
return (false);
}
// Only Nagas and Draconians can get this one.
if (mutat == MUT_STINGER
&& !(you.species == SP_NAGA || player_genus(GENPC_DRACONIAN)))
{
return (false);
}
// Putting boots on after they are forced off. -- bwr
if ((mutat == MUT_HOOVES || mutat == MUT_TALONS)
&& !player_has_feet())
{
return (false);
// Red Draconians can already breathe flames.
if (mutat == MUT_BREATHE_FLAMES && you.species == SP_RED_DRACONIAN)
return (false);
// Green Draconians can already breathe poison, so they don't need
// to spit it.
if (mutat == MUT_SPIT_POISON && you.species == SP_GREEN_DRACONIAN)
return (false);
// Only Draconians can get wings.
if (mutat == MUT_BIG_WINGS && !player_genus(GENPC_DRACONIAN))
return (false);
// Vampires' healing and thirst rates depend on their blood level.
if (you.species == SP_VAMPIRE
&& (mutat == MUT_CARNIVOROUS || mutat == MUT_HERBIVOROUS
|| mutat == MUT_REGENERATION || mutat == MUT_SLOW_HEALING
|| mutat == MUT_FAST_METABOLISM || mutat == MUT_SLOW_METABOLISM))
{
return (false);
}