Recite or Elyvilon's healing, run the conversion-on-sight routine so that they don't attack you.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4120 c06c8d41-db1a-0410-9941-cceddc491573
SYHNAIAJCQHYMVDZWBZC2AUP5F4B5MXL5OY753KGNVH2CLRFSBSAC
VS3WVE6ORJ76O3TRRJCR4JJVFVRKKFK5YHZ6AA4AU63DWM3KR3UAC
HVHV2HWB6Q55I2TWXCAT7POG3PBLKMGD4U5U6EHLC55OREIZ34BQC
QDBILCQHREAKSVXBJJGE2EPNR4ATTQWUZMV7BLJYZWWUI737TSKQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
G4TVXOLIF5X2MWV7I4UPT3MSQHRMGME6QRIIFAQ64C45JGYK7SIAC
PVLLIAYFIAU4TQFBIP7B4ARIBUX2CVTSBQECEU6VTONJV4ANHVFAC
KNW37MRIU72X4LPXSA4AUPW3VJMOXKWY2XFTV67KW2ZXTCSYMMNAC
2P3IJKK547AOEFWKXEAL73QFKW423GGAZEZHW6OZ6QB7YUSDNC3AC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
// give half of the monster's xp
unsigned int exp_gain = 0, avail_gain = 0;
gain_exp( exper_value(monster) / 2 + 1, &exp_gain, &avail_gain );
monster->flags |= MF_GOT_HALF_XP;
if (mons_is_holy(monster))
good_god_holy_attitude_change(monster);
else
{
simple_monster_message( monster, " turns neutral." );
monster->attitude = ATT_NEUTRAL;
monster->flags |= MF_WAS_NEUTRAL;
// finally give a small piety return
gain_piety(1 + random2(healed/15));
// give half of the monster's xp
unsigned int exp_gain = 0, avail_gain = 0;
gain_exp( exper_value(monster) / 2 + 1, &exp_gain, &avail_gain );
monster->flags |= MF_GOT_HALF_XP;
// finally give a small piety return
gain_piety(1 + random2(healed/15));
}
// permanently neutral, but same message as enchantment
mons->attitude = ATT_NEUTRAL;
mons->flags |= MF_WAS_NEUTRAL;
// give half of the monster's xp
unsigned int exp_gain = 0, avail_gain = 0;
gain_exp( exper_value(mons) / 2 + 1, &exp_gain, &avail_gain );
mons->flags |= MF_GOT_HALF_XP;
if (holiness == MH_HOLY)
good_god_holy_attitude_change(mons);
else
{
// permanently neutral, but same message as enchantment
mons->attitude = ATT_NEUTRAL;
mons->flags |= MF_WAS_NEUTRAL;
// give half of the monster's xp
unsigned int exp_gain = 0, avail_gain = 0;
gain_exp( exper_value(mons) / 2 + 1, &exp_gain, &avail_gain );
mons->flags |= MF_GOT_HALF_XP;
}