HQWADH6JG52Q2DV37JWOAVBBEQPPOJSOLBLHUPA3E7WVFNJBAKCQC
U5OV6VLITTBZVEQ4UFKVER5V7JI4Z7L4CF5ALYVEC375UN56LVCQC
YBNZTFKEZDBA2BWBYEVU62CIVIVTA7LYIRJAOYKGQT7V64DAMZUQC
H2OHWQKMHL66CPVJGJL35RY7EIZB74SZTGOLDJDSCG5WVEVPIIUAC
KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC
7RDIBNLUIBTAYOJXJ5Q3DOW3MKKYXBAA3Q4G4QE74KJL23NW6C7AC
KVTA7IUBD2O7ZEUU5T5VP7D3XVLFLYICXUPP5WCPAODBXKK4DNNQC
7TC5S2NB46NFPXQKVXUYA26DZ2OE42WWE7RUSBJHXQPUGAWHIFMAC
PUY2VWZJ3G7HNCLIHZP5VGT2DAGHI436ETDJQTPEBFPRSEHOM2NQC
7GCM5WFIKX5N2PQ5UCVNMFJEKTZTBCUVZH5RZ7CPDL3Z6GB26KAQC
FM4LIPXOMA65AXD33QNNRVMURTVCLGB7NCQYYS6I3DPOZFIKN4XQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
MPL4NSRZ4TMXOMYDRRLFF5MPEDI4RZIRCOAF6BEH4AKJLRYTMLMQC
7UIFNKK5IU2VUAGKWDB6KOETOVQOCOVDHZHB4OPAM2CQRCWV4AGQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
VY2RJLJQMUOVIJOYPTA7AEXPURIV3H6VF7O5QQ7LF44ZS36RTFYAC
FZ3VCF24YWNHTLVHBZYWX37X4FI2SNCXGZGTV2UFGFGAWMOKFIUAC
UADYVV3UD5ERJTZZJGY4EUQ4NJ2JSBG7YYUJ75ZRBIXRQXQKOJPAC
T3R2D5M4YSC6NFZ6YO3AEG4VWORECX72CHUM5UBADV4UPAAZG7WQC
FZKMVCODMWQEVVBBQHTTXFBRO4LZEYLB646ZPVUMLHH6EER7FAOAC
HH3HFWVXABJ4IRMN22PPJCREMULZSN6DA7VYKOGECGMNUQTZ5QNQC
5FHWTG7M6FW4B3I33YI7QSM3OZIB6ZGC6TI6JISSLY5Y43HI56VAC
AJHVP42Y67SB4NKFMZB24524PGX2XA5WLFNEFV52MIGTS47ALMVQC
const monster_type mon = _xom_random_demon(sever);
const bool is_demonic = (mons_class_holiness(mon) == MH_DEMONIC);
const monster_type mon_type = _xom_random_demon(sever);
const bool is_demonic = (mons_class_holiness(mon_type) == MH_DEMONIC);
const monster_type mon = _xom_random_demon(sever);
const bool is_demonic = (mons_class_holiness(mon) == MH_DEMONIC);
const monster_type mon_type = _xom_random_demon(sever);
const bool is_demonic = (mons_class_holiness(mon_type) == MH_DEMONIC);
const mon_holy_type holy = mons_class_holiness(mon_type);
if (holy == MH_UNDEAD || holy == MH_NONLIVING || holy == MH_PLANT)
return (true);
const mon_holy_type holi = mons_class_holiness(mon_type);
bool avoid_monster = (avoid_self && this->thrower == KILL_MON_MISSILE);
bool avoid_player = (avoid_self && this->thrower != KILL_MON_MISSILE);
bool avoid_monster = (avoid_self && thrower == KILL_MON_MISSILE);
bool avoid_player = (avoid_self && thrower != KILL_MON_MISSILE);
// Feawn worshippers can fire through monsters of the same alignment.
// This means Feawn-worshipping players can fire through allied plants,
// and also means that feawn worshiping oklob plants can fire through
// plants with the same attitude.
bool originator_worships_feawn=false;
// Feawn worshippers can fire through monsters of the same
// alignment. This means Feawn-worshipping players can fire through
// allied plants, and also means that Feawn-worshipping oklob plants
// can fire through plants with the same attitude.
bool originator_worships_feawn = false;
// fired the beam (so we can check their religion). This is complicated
// by the fact that this beam may in fact be an explosion caused by a
// miscast effect. In that case the value of beam_source may be negative
// (god induced miscast) or greater than NON_MONSTER (various other miscast
// sources). So we check whether or not this is an explosion, and also the
// range of beam_source before attempting to reference env.mons with it.
// -cao
if (!is_explosion && this->beam_source == NON_MONSTER)
// fired the beam (so we can check their religion). This is
// complicated by the fact that this beam may in fact be an
// explosion caused by a miscast effect. In that case, the value of
// beam_source may be negative (god-induced miscast) or greater than
// NON_MONSTER (various other miscast sources). So we check whether
// or not this is an explosion, and also the range of beam_source
// before attempting to reference env.mons with it. -cao
if (!is_explosion && beam_source == NON_MONSTER)
// Prevent spore explosions killing plants from being registered as
// a feawn misconduct. Deaths can trigger the ally dying or plant
// dying conducts, but spore explosions shouldn't count for either of
// those.
// Prevent spore explosions killing plants from being registered
// as a Feawn misconduct. Deaths can trigger the ally dying or
// plant dying conducts, but spore explosions shouldn't count
// for either of those.
// FIXME: Should be a better way of doing this. For now we are just
// falsifying the death report... -cao
if(you.religion == GOD_FEAWN && this->flavour == BEAM_SPORE
&& feawn_protects(mon))
// FIXME: Should be a better way of doing this. For now, we are
// just falsifying the death report... -cao
if (you.religion == GOD_FEAWN && flavour == BEAM_SPORE
&& feawn_protects(mon))