on negative energy resistance, but on rotting resistance.
CLBOD3ANEMCQTE6USMTZAH4UWNLB73AIT3ZCDHLUUTMLQTCZJ4GAC
RLHYD2BIXELGP4XRXCIFSCYJEHLO4YL45DU77WQAZL7ZU6UBLWEQC
YTA7AMSOWPPOZNLK7HRXDPDF56B5R2N6D6OLX5VIXPTGV5ZELIYQC
ZUC3U5KUXZOC2B2WWYGEZRVNLNJEJ7KL56UUMZY44VOOBG2H6ETAC
6TQASFI7B552ZNCBVI7AS3MMMACNTGEJESTB74EFCH2MJGH5LW3AC
6ARBZEUSCIPVJUQJST5HG6TKQYQZPOHWYIIJO4OD2SUECPYMLVIQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
KXZZNIE7SKHNX5T34URQMCBSCRAX4NBXUQPAAGAYC2FT3XZJDEAAC
ISUJEAPPWKP2UIYPT6BJUUNSVH52NEXWGXNUATL7I3IO7TPO32HAC
IZ2FRVXI5H4TXLFZETEZEDBBC4KKSS7F4W6NWAZ37L7B6HU7HXKAC
46I36AWFYIFDOUPKFEMJSJTPQ27CQP7FNKOLT3ZOBUI6SF4EL7RQC
KBBSDMAXAGEDFMIVL6BSPMMSOBZKWPJTFCLBGCHRLE5DGTVAACSAC
6LTQT4CP7LJZLAE7JTPQ4OT4JOG3IFYM7RNXL3FINKBFO6452DTAC
634UBQG7RYANZYTNHYLPHMXXO3FUJYUVHGFSK53TH6572QDVUOBQC
AVCMVFA3MKCXHO6H44UK5KJNIHTGQV7UA7GYXM26VI6TXXU5ZN6QC
QDTVLBRGHDTRUVT7I3O72K6TMOYAUSAJBZUHGOEFU2RKJNUPWZSQC
2KKHQWC5ML42HRY3UCOOEU7CUKAZMPDDD35OARA6HVXU4GDJ3P4QC
DXYAQFFVZ5YDUPT2MIKGAMVODSOJ4UJR5WTQKNCFMB5WJ6KH4D3QC
FIYBXLWALQINNQTHG2KNDUUTAQAZRDDLXW2XOVSKDKBADJ3XCJ4AC
LG7XJWUXOV4ZBMOTZX7R5NUC5IONVNCF5O42M4QVYLHNZ62AV25AC
ZNGET7722J4PJXQM7IISUIIUFGB6D7WBD4IXR4QQENHERHXOG7KQC
WBAFNYODKTL3YSG3UOJITBJSTFYGJLIWKRNK6NMGIIP5TPC2BDGQC
B62ICMDTN5V7R7RBL4JALFVKEMVOOVLRSJASRNYS6CGFWBEEF5JQC
X5WLJCJVW55SXZVP7IKP7ADCJIGNKN4PKAXFECVR6TNK7XSMZR7QC
UADYVV3UD5ERJTZZJGY4EUQ4NJ2JSBG7YYUJ75ZRBIXRQXQKOJPAC
TJ72NVTRNJKF55RTH5MRLTHHVPOJ2M5OOYEWF4UFLTO2PPPTU6PQC
ADIVVYTV2MJ3XVRYDNBLPTAEACCNF27XZDCRVZFQEHRHPMZGNITQC
7TW2ZEZ6DTENSGICHJBGYKZW4B5DORQLRIHVOT5ZAIDJFCBJOIOQC
OWERGKLVPNPGIIS23FZ7ZDOBWUIXCKYAFG3URXU75JAUDX3N5ENAC
UW4XQAAAV3S2ZVBLMSK6VQG6AMYR6DRKXFP64HHBC6Z3QIUWPVXQC
UAJN2CFA2QHYDHW2UFAVPPHDQFCD54RKM6V2UC4AMEDJUBBLNWIQC
PR42BCP5BPRFD2MP5H6CIJP7E57Q6TKL6SOXZWFKMFVR2OZWHT7AC
PWY4VZVHDLYL7UVNCCOW7BM7LYK2BOGTL23P75HXUJ33MHJPEJPQC
KDK4YJQS4P7HRB334SZ3EFCW27AEGRPE3PXW6S6TKRIG6HLOKQNAC
ATDAT2AONG2BDLZFBJZB4WVNRUFQAU7RDIVUBAZ6STAV62NX5R4AC
PHBACPMH3F34GODHVDKNCMXWU373RJQGVTDLBFCCDLLWDXVYOLTAC
RWCCZ64BG3HSOTM54ANIGENC3F3AIR42LJFRYSAKMCPCIUSOZY5QC
FIHGTSQ77UVR4AGJOUS2JO2M4QWHC5HRU6MDNAODR6VZQNWQI3QAC
MINMR3UAVXGVNIGZKS3SRYFCYDMCVEJZN7AGDWJNHQLR36FDXU7QC
KAOE5HB3THUKVGFZRO5EZESHEB3Q34WUO5DFMLWIKOBF47LZTIYAC
5K2ANIEXD3CPJM4XNKNPZINP2G4NT7SJBKRN62WNBUKJXFERTILQC
K33CV7EYR37TTSEXQWQ6QPHSEUFO545AIPUZOA2C47QTUCUWFPAAC
5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC
F2E5NNZPJHA2FE3U5IWLVAFF5QP7EDOXJVKEDNW7RVMXSOQZC6BQC
int player::res_rotting() const
{
if (you.is_undead
&& (you.is_undead != US_SEMI_UNDEAD || you.hunger_state < HS_SATIATED))
{
return (1);
}
return (0);
}
poison_monster(monster, cloud.whose);
if (monster->max_hit_points > 4 && coinflip())
monster->max_hit_points--;
}
int mons_res_miasma(const monsters *mon)
{
if (mons_holiness(mon) != MH_NATURAL
|| mon->type == MONS_DEATH_DRAKE)
{
return (1);
}
return (0);
if (mons_res_poison(monster) <= 0)
poison_monster(monster, pbolt.whose_kill());
if (one_chance_in(3 + 2 * mons_res_negative_energy(monster)))
{
bolt beam;
beam.flavour = BEAM_SLOW;
beam.apply_enchantment_to_monster(monster);
}
miasma_monster(monster, pbolt.whose_kill());
// Actually poisons, rots, and/or slows a monster with miasma (with
// message).
bool miasma_monster(monsters *monster, kill_category who)
{
if (!monster->alive())
return (false);
if (mons_res_rotting(monster))
return (false);
bool success = poison_monster(monster, who);
if (monster->max_hit_points > 4 && coinflip())
{
monster->max_hit_points--;
monster->hit_points = std::min(monster->max_hit_points,
monster->hit_points);
success = true;
}
if (one_chance_in(3))
{
bolt beam;
beam.flavour = BEAM_SLOW;
beam.apply_enchantment_to_monster(monster);
success = true;
}
return (success);
}
{
if (player_res_poison() <= 0)
{
poison_player(1);
was_affected = true;
}
if (one_chance_in(3 + 2 * player_prot_life()))
{
potion_effect(POT_SLOWING, 5);
was_affected = true;
}
}
was_affected = miasma_player();