added a list of their current resistances and such to the status (@) output, depending on their state of hunger. If poison resistant they'll now also attempt to drain monsters of type CE_POISONOUS. The regeneration rate at full and "alive" has been lowered significantly. (The effect of a permanent ring of regeneration without any of the drawbacks was much too strong.) Oh, and non-thirsty vampires (satiated or above) can now be rotted, e.g. by potions of decay.
Also, Red Draconians and White Draconians now gain their resistances at xl 14 rather than 18, as suggested in FR 1865186. (I'm leaving the rest of that FR alone for now.)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3632 c06c8d41-db1a-0410-9941-cceddc491573
QHAYBZTRPVJMK55WXT3F63CNRSAEVN3CQAAG42GCJTONLXQLNNNQC
Q3XHNSHW6FI4JCXSEABATRFBJPMCF7PXNG2K6ZQTRRPVMIZFHUBQC
F7Q7QRZACTDPP6KH3AB5J6B6B5PRVV4FURTOIGXHRHWNVSQT3TVAC
P2ZCF3BBG523ZEOD6XQA4X5YEHBTWH3IM33YVHXP2SQ5POXZIH4QC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
6PNVX6Q45HH733TZDXYBA6BYPJKDMND5BA4N2MP6HA3QVNCEPN2QC
X6JLXMSRNWRGP2PVQYX6Z4OUZLDSSQ2VL3EQQM5Q427MXBMRILEQC
TRCCLE5RJ4VJULBOWOI2WC3RJU7WTEGS7RRQTDQL6W5UU246LKTQC
KBBSDMAXAGEDFMIVL6BSPMMSOBZKWPJTFCLBGCHRLE5DGTVAACSAC
JXOE7KJIEAJHPLMZAJ6O4YHDTRB6BGNP6XT3ZSEFYGSIUMHR77KQC
DMRXDEKHHBQNY37NPGZFAGUQPALWFANGGK4CUWIOQUPSLM2JBNFQC
R22TTMI6WXWULC7ODKFF3QCB7MOTETQQ6IR4BUCUPOCQKQNCTT5AC
UFNXOEBCAUO3QMYOF6EXYILHZ44AXVMCOV76SFV3VV7DMVUPZWBAC
if (you.species == SP_VAMPIRE)
{
std::string msg = "At your current hunger state you ";
std::vector<std::string> attrib;
switch (you.hunger_state)
{
case HS_STARVING:
attrib.push_back("resist poison");
attrib.push_back("are susceptible to fire");
attrib.push_back("significantly resist cold");
attrib.push_back("strongly resist negative energy");
attrib.push_back("resist torment");
if (you.experience_level >= 13)
attrib.push_back("are in touch with the powers of death");
attrib.push_back("do not heal!");
break;
case HS_NEAR_STARVING:
attrib.push_back("resist poison");
attrib.push_back("significantly resist cold");
attrib.push_back("strongly resist negative energy");
if (you.experience_level >= 13)
attrib.push_back("are in touch with the powers of death");
attrib.push_back("heal slowly!");
break;
case HS_HUNGRY:
case HS_VERY_HUNGRY:
attrib.push_back("resist poison");
attrib.push_back("resist cold");
attrib.push_back("significantly resist negative energy");
if (you.experience_level >= 13)
attrib.push_back("are in touch with the powers of death");
attrib.push_back("heal slowly!");
break;
case HS_SATIATED:
attrib.push_back("resist negative energy.");
break;
case HS_FULL:
case HS_VERY_FULL:
attrib.push_back("heal quickly.");
break;
case HS_ENGORGED:
attrib.push_back("heal extremely quickly.");
break;
}
if (!attrib.empty())
{
msg += comma_separated_line(attrib.begin(), attrib.end(),
", and ", ", ");
mpr(msg.c_str());
}
}
case CE_MUTAGEN_BAD:
food_value = random2(mass/2);
mpr("This blood tastes *really* weird.");
give_bad_mutation();
did_god_conduct( DID_DELIBERATE_MUTATING, 10);
xom_is_stimulated(random2(200));
break;
case CE_HCL:
rot_player( 10 + random2(10) );
if (disease_player( 50 + random2(100) ))
xom_is_stimulated(random2(100));
break;