have no blood - and yes, this means that using the right Transformation can help you avoid this. Also, never drain player vampires.
Occasionally equip monster vampires with potions of blood, which they drink in times of emergency with a healing effect between !healing and !heal wounds.
Don't allow the player to use the Bat Form transformation (or end said transformation) if doing so would result in death by stat loss.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4236 c06c8d41-db1a-0410-9941-cceddc491573
KBNY5FWKTEAKABFCLPC3QFKFSVZKAGXINPCIFV6WDSWFO4VCKNTAC
LTCGG2NMA4ERIE7QSFFVKJHSX7VRJ6IHYD623SVE34H7ZUFDKXOAC
HPUNJMYBCMRXIRCDNPIA6DU2QAMK4VZCAK6J6LZ4INLLS5BI7A5QC
E335DPK7M5WBYKN5C3KG75KY75CVXLN3XTLK55MADVZMHW74AHGQC
LC2XZTUD56PLARIGBTDXDPJIYJNMJU446GFDGLRIFD2I4F66L6TAC
FXVDNB6MAAOSEP37HP7CIPPXNS7FDECN3GCRMT5UFFCKLHIL6IVAC
7X3KS2DYACYTMNRE47MZSXC3RYRYUYDC5SOPRVWOIH6MQCHMEU7QC
LNYPEXOYU2MHSCPQOFOA3LL22OY5ONJVQZYEB7DPZ37M6WE4CK5AC
QCUMH3C7GXV7ZW444WT5SFAXQOJKJSE2YCQCEHMRYXCWF4QI7UMAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
L254F6ZIU2HWGLFFGPIORTN4C3TDQ3E5JZ7Z7GQA5AEDIKL6PKDAC
DDU4A3JGN5IUIPP5IASOODKPR2WBHSDSV4FITZ6HNXNSXXQACWAQC
X5WLJCJVW55SXZVP7IKP7ADCJIGNKN4PKAXFECVR6TNK7XSMZR7QC
MJWFTUS66PTCNEYXEJA3CUJFXNWXIKDD6H3V24PW7HK64NSVOFSAC
DTO3EUKWHZ5RJNGNCFYXSOVTIPVXPP637F2W7WFGYKJ7JK7VNKNQC
FUEEIUKGHHFPIRZCN3N753GONWAZTWQ2ZWR53IBJAAZ6FZUNGOMAC
O2GH2BHUL4XXIIJSMKNV2NIC4KQACE6HLMUL4KEUDFNFEAGMZSZAC
R22TTMI6WXWULC7ODKFF3QCB7MOTETQQ6IR4BUCUPOCQKQNCTT5AC
2WVP47RBNL5OVYMAZH7TKRYD7F2TGSZ5X74PWVGAYCQP26G3JUHQC
7KWDC7XFNMBLSUO2HISIROBINZBX5T67LJEEXTAORXW2YZ7VWFGAC
P2ZCF3BBG523ZEOD6XQA4X5YEHBTWH3IM33YVHXP2SQ5POXZIH4QC
JXOE7KJIEAJHPLMZAJ6O4YHDTRB6BGNP6XT3ZSEFYGSIUMHR77KQC
6RJVKSL7RVZIZIZIC4TWIYJQ24RUSB346ODS3NYGDHUIRTC4Z5FQC
XCEZ7OA2INNPSYNAB5U6JB7XNDAD5BKU26YLFPPZ3SEESFZKADQAC
EOJPYR3QD5GGS7GB2P7SBLMOP7YC57YMIVR7VKCOMWNCKNBPESBQC
E77ASJLF52YJ4DQIZ4GLNN3PB3AOUPWS5UVETBEHANA3U7OG3OJAC
E5DMZFW6WCFAKTKKOQPYTQXZ2CGLWMVH64LRXDUI2UIG4VYUHIVQC
F7Q7QRZACTDPP6KH3AB5J6B6B5PRVV4FURTOIGXHRHWNVSQT3TVAC
QDTVLBRGHDTRUVT7I3O72K6TMOYAUSAJBZUHGOEFU2RKJNUPWZSQC
PR42BCP5BPRFD2MP5H6CIJP7E57Q6TKL6SOXZWFKMFVR2OZWHT7AC
RBAGQ2PB7V5YAM5KSHSZR2E3MLKDSRVM5XYGI2TIXP5QMVBOQHDQC
ACKNLTFL2RI3PMRWLNRVLRWGQAMLRFKNGNS5LED6NFE5GVGFIHFAC
L4PKJZERR7WADKWHY3MR6J6OZFREVPL3CB43I6MLJ2BVKWCUTE7AC
SPFKVC5KJVGMD4ITZWLWTB6N42IV6AWXGPEEXCYPI7BGFZKY5FHAC
KN5WFFRSNGHIGI5IUYRBOA4R4K7XK3AEAAMN6ELDFTSYKPN7QX7AC
U3SFBWHMMMO2PY6PAX7FMSBSND4RCWGJR42HB47LNQXLOX7ZOB6QC
L4UCVNVRFTHENDKDOY6X75LXIE2B7XIMSKGVKHBOXNID7RDTBQRAC
74LQ7JXVLAFSHLI7LCBKFX47CNTYSKGUQSXNX5FCIUIGCC2JTR3QC
2RSY5J2ED2GM5R564UF5NEPDAEJDGLJJ6U3YO6UBQOX4KSLGNY7QC
BUSA7O6EFBZVAG2RL5T7MD2WTWKOEKKIAAZ2VS4Y3L6ECT4HQR6QC
33ZMPQC6OXTESW7SRW765GRNJUEJRSYONRVZVIEUDAUEJ2PPMB4AC
OP6CTAKWCAU64JXQ3USQYR5E5IFHQHNCACII5UMVRXUTZXJQOAZAC
B3FDHXVBFR7YQF56JLQT2EYWRTWV6Y4N44GI6EWVWUU2KBNMZDCAC
VCG3BRIYRTNNWYC3LOXD6KFGXOX37HAFW2HNV7WXVG2V7EUHLDZQC
SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC
23PFLB2E4QHL5SF3Q2YV5FXRH6MFHENEU2ACVC572ZCYDXCBZVQAC
WXSNNK2RXP3DQFAEQGQUZJHFWXJC7ZKG2WURZGL566UDM4YXFSWQC
7NDXS36TE7QVXTXJWMYSVG5UHCCLPIO4VL6NXFGTDK3ZNKE3A2IAC
ZBTD5R4OOQ5D4W6ZRK2XEGLI3AWI37Z2G5X2EQ6IYPXDYKCKWMFAC
WZNB427K3EUNV3FMVXLQTM4UIHER4FIKQXWLUUXRNQC3OQ33VQYAC
2UBWR54HKLIWZQXB3ZFOH4R4X6TZWWZZWEU26KRDOS3BHC5J7GPAC
TRCCLE5RJ4VJULBOWOI2WC3RJU7WTEGS7RRQTDQL6W5UU246LKTQC
JM7UAK777RAVDAVLQLEOBRTGNW2B47S5G55XITJXO243IUNZHVYQC
I2B33Z7NZGC33AMDSSK446AZZYWKPHWLAGULVHKKZU4MVB4BNJOAC
PQ3SLWFD5CF33ZHBG2V7YJEKAL6HTSDYOV25OKUTBCW2QF7TL4AAC
NQMXQ6OQVUSC7Y7F7IL252QW4A5JED224EECNHWAM4ZZYVNY745AC
GZMPIDNMBXZ4B2ZWKREHBPAVN53J6WRVY5W5KY52KEBHKU6IW4IQC
PRQVFUGUGPKI2Q74ODEI3CYUJQB63CKC6ONQTE3BTOHKXG4JCNLQC
C2VJXKTIPFZ34C6L6FNCDAGEI7NLTKUXTNB7RN4EYAJCALULIBMQC
UZ6N6HOUPGVSPC5NQROEEDWMEGJA5XUWUY2AKH5QG65AZ25PVXDAC
WHY6LRRJ5T2NSBE3IUCR4X3TOAH7TTK5NPUPUIFT7TPNJ6J4HBDAC
O4DT3BQQ3XYPL6PQ72G6VPBAVHXZMEOLONFXNHXFMBXBVOYMB6VQC
AVSWNOP23Z2QCLQGXFDZV7TI4RC3XSXHIX2HDXFHXGKDEZSSIGJQC
case POT_BLOOD:
case POT_BLOOD_COAGULATED:
if (mons_species(monster->type) == MONS_VAMPIRE
&& monster->hit_points <= monster->max_hit_points / 2)
{
simple_monster_message(monster, " drinks a potion.");
if (heal_monster(monster, 10 + random2avg(28, 3), false))
{
simple_monster_message(monster, " is healed!");
ident = ID_MON_TRIED_TYPE;
}
imbibed = true;
}
break;
// why only drink these if not near player? {dlb}
if (!mons_near(monster))
{
simple_monster_message(monster, " drinks a potion.");
mons_ench_f2(monster, beem);
imbibed = true;
}
// allow monsters to drink these when player in sight (jpeg)
simple_monster_message(monster, " drinks a potion.");
mons_ench_f2(monster, beem);
imbibed = true;
if (mon->has_ench(ENCH_INVIS) ||
(mons_friendly(mon) && !player_see_invis(false)))
if (mon->has_ench(ENCH_INVIS)
|| (mons_friendly(mon) && !player_see_invis(false)))
{
// Mapping, Teleportation, and Blink can also come from mutations
// so we have to distinguish them (see above). The off items
// Mapping, Teleportation, and Blink can also come from mutations
// so we have to distinguish them (see above). The off items
// you used a wand, potion, or miscast effect). I didn't see
// any reason to label them as "Evoke" in the text, they don't
// you used a wand, potion, or miscast effect). I didn't see
// any reason to label them as "Evoke" in the text, they don't
// Doing these would outright kill the player due to stat drain.
if (tal.which == ABIL_TRAN_BAT && you.strength <= 5)
{
mpr("You lack the strength for this transformation.");
crawl_state.zero_turns_taken();
return (false);
}
else if (tal.which == ABIL_END_TRANSFORMATION
&& you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT
&& you.dex <= 5)
{
mpr("Turning back with such low dexterity would be fatal!");
more();
crawl_state.zero_turns_taken();
return (false);
}
// and then rejoin (but if they spend time with another god we consider
// the old invocation slots void and erase them). We also try to
// protect any bindings the character might have made into the
// and then rejoin (but if they spend time with another god we consider
// the old invocation slots void and erase them). We also try to
// protect any bindings the character might have made into the