wrath, allow uncancelable transformations as part of it, and adjust his Slimify power.
36BFWYZWCQGMAMK4EF2R5C66RA2EBLTX3MJW3QDEKN64C3BJQX7AC
LHJVYEAEMVSWJ2W4Y2BEALPPU7HMCWN2BZYRVUV3UH4F5V57WP4QC
O3OR44M6QKTHKM67XLAXRHRKYSO34RN3QU634R3YQ7CLSS3QJ55QC
UQVWAK754RS4F2CWPNWDJJDUNW6ERGX2WSLYEQSLTDRJ5LH4SQYAC
QKA35CKWOL2G6EXCIWOTCRCID3ANW5TRFFUMFWANCT6GHNK5EVDAC
PIBNVCEVSIEQ25EYX7IZ3YEXDSOCTLUWRVFT3AUDESGZC7N3XIXQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
B47JR5HJJPDKC7TIHP4BDT536J6MZNOJK36MQJNPAIH7OFYFCXSAC
KDK4YJQS4P7HRB334SZ3EFCW27AEGRPE3PXW6S6TKRIG6HLOKQNAC
AM7QPHDAWNXHLUEVUHVRHG2RO2DOIEFFU4GV3DCIROW6O5HW7H4AC
GQQ6ASWTYODIHG7X32JNUUHP5NMOVZJIHWGS3F3MKRYZGAHP6NVQC
PSCYVKJ7DGXAL3V5U4O6AJTRV6Q3N3SHQWAZ73VIPRTE4W64F2XAC
SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC
77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC
HOUSHQ4DQK4MVKTCJ56MKYGYPDTF77HJCFVB5PYV7ALNZZJWFYFQC
5WVUTEZLEZEML54CKPR6GACQBYY3EMVNXMLJOREN6SSEUZGC47AQC
4ZP2AEI7WCXZCK2KFWGKCUMEOG4GEB5JM32YVQGH7PMTQRFS5FYQC
HWUCKC34CIVHCYVU2JDLKYFR3IDSW3O7TLKA6V6U3AOHATG4ENFAC
FW3PIRSTFPX7VNUAVASCBB7VPYJHGPRSHXC4S6RXCLSLJMGWS6QQC
BI5CXFKCZHWNZQ4VXWN24FD322V55H7GYJHXF4GJ26PPKXIEOLSQC
LLA7OZDQJ3S2YKGNNDD6K3VP3FPMQLZX3IUO4WDJQVJHGKGCCUZQC
EB33TUEEJFHMEO6YHEXSYX3MBXHNPEFNMZL2VA75GOGKY6POSF2AC
JR2RAQ523LOWNDYJNK6AZVKI6WVMI622PIV72XWOVZYPXPUKSQWAC
2RJUPYKEDZZCW4GDG6WLEDVYF32ADC4W5I42KSKHN3MWEBCWSAHQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
AOXEL2V6ICXEIRWXB76LJARWP3NPKG2L4UFYOIQUALUJU4ZLE3UQC
2IPPYYFWEFI342OOKTTEKMLLBUFPERK7RNLBF2TWQF5D47M6PSTAC
MG6LLF3XYCOEBQRX7TJ4MUTKM3IROYWUMZGCMYVW4TGDG36CJMJQC
THECEUKJWIPEPUHPV3A5H73H6O4QZ65IE4XUXB7VPYM5LRMA6X2AC
NHCEH7ZFP3IFRMZMC25ZA2X5ZSS3MOCHCYLVCSVY7RTY62WX7UAQC
6DNNPEMZGBQDMA7YG4LCTQUVZ7LYPC3R4A2XBYT5SDQ65GYOLJVAC
JI4NDSOXGGZ7QHXXFB3ZTHAKHABXYBZXPDGLUFV5SKYEOL5FT7JQC
WFMQVPMMOPG5SBJD5LUBOIYWRMXVWK3FXENK7SAEGZ5T6XWFKERQC
LOAPDCDZDTOXBCNX7IQBCACP7TCMVUBNZVUTUCLX5VXM7MEFPQBQC
PC6K5OQF3BWPMWTIN5JXAKHTZF453JQOELDWRUOSBZXR256FTUYQC
WV7UHA3KCZ5FOIFXFVCTSPVPR6YR5FAG2RSGCQCF6INYG5OYYHYAC
2G7MZ653N3JUHJ4DA5Q7VRO3S5T27DLPKDCJEKB6DGYSTXULUVWAC
NVSFIV2ZKP44XHCSCXG6OZVGL67OIFINC34J2EMKTA4KULCERUEAC
UNXGLYIYBZMWR6GX3LRNAA2UPZD7MNBH7TYGYQTTFHPCJRDZXWPQC
PUO3U5MM6BGXC7BO4PKI77KWEOAWOFF3ZYSVDZJBG2XO7JT3II3AC
H5BVKRORNXTCJKFXQPTFWDURKSUFW24CGSJXBGZCJUP4DHMSVDBQC
UXYQEI6GLKABRWITOJVAFK5QETIMVRRBJO3DCHFUAC5A6YTVI64QC
YBWBS2W5H36C46SVIDCHYCUDONUUSBBZLJHCQY2ESO3ZBFNBWWEQC
if (!you.can_safely_mutate() || one_chance_in(4))
god_speaks(god, "You feel Jiyva alter your body.");
for (int i = 0; i < mutat; ++i)
mutate(RANDOM_BAD_MUTATION, true, false, true);
}
else if (there_are_monsters_nearby() && coinflip())
{
int tries = 0;
bool found_one = false;
monsters *mon;
while (tries < 10)
{
mon = choose_random_nearby_monster(0);
if (!mon || !mon_can_be_slimified(mon)
|| mon->attitude != ATT_HOSTILE)
{
tries++;
continue;
}
else
{
found_one = true;
break;
}
}
if (found_one)
{
mprf(MSGCH_GOD, "Jiyva's putrescence saturates the %s!",
mon->name(DESC_NOCAP_THE).c_str());
slimify_monster(mon, true);
}
}
else if (!one_chance_in(3))
{
god_speaks(god, "Mutagenic energy floods into your body!");
contaminate_player(random2(you.penance[GOD_JIYVA]) / 2);
if (coinflip())
{
transformation_type form = TRAN_NONE;
switch (random2(3))
{
case 0:
form = TRAN_BAT;
break;
case 1:
form = TRAN_STATUE;
break;
case 2:
form = TRAN_SPIDER;
break;
}
if (transform(random2(you.penance[GOD_JIYVA]) * 2, form, true))
you.transform_cancellable = false;
}
}
else
god_speaks(god, "You feel Jiyva alter your body.");
for (int i = 0; i < mutat; ++i)
mutate(RANDOM_BAD_MUTATION, true, false, true);
}
if (x < 3)
monster_polymorph(mon, MONS_OOZE);
else if (x >= 3 && x < 5)
monster_polymorph(mon, MONS_JELLY);
else if (x >= 5 && x < 7)
monster_polymorph(mon, MONS_BROWN_OOZE);
else if (x >= 7 && x <= 11)
{
if (coinflip())
monster_polymorph(mon, MONS_SLIME_CREATURE);
else
monster_polymorph(mon, MONS_GIANT_AMOEBA);
}
else
{
if (coinflip())
monster_polymorph(mon, MONS_ACID_BLOB);
else
monster_polymorph(mon, MONS_AZURE_JELLY);
}
}
if (!mons_eats_items(mon))
mon->add_ench(ENCH_EAT_ITEMS);
if (!hostile)
mon->attitude = ATT_STRICT_NEUTRAL;
else
mon->attitude = ATT_HOSTILE;
mons_make_god_gift(mon, GOD_JIYVA);
}
obvious_effect = true;
if (mons_holiness(mon) == MH_UNDEAD)
monster_polymorph(mon, MONS_DEATH_OOZE);
else
{
const int x = mon->hit_dice + (coinflip() ? 1 : -1) * random2(5);
if (x < 3)
monster_polymorph(mon, MONS_OOZE);
else if (x >= 3 && x < 5)
monster_polymorph(mon, MONS_JELLY);
else if (x >= 5 && x < 7)
monster_polymorph(mon, MONS_BROWN_OOZE);
else if (x >= 7 && x <= 11)
{
if (coinflip())
monster_polymorph(mon, MONS_SLIME_CREATURE);
else
monster_polymorph(mon, MONS_GIANT_AMOEBA);
}
else
{
if (coinflip())
monster_polymorph(mon, MONS_ACID_BLOB);
else
monster_polymorph(mon, MONS_AZURE_JELLY);
}
}
if (!mons_eats_items(mon))
mon->add_ench(ENCH_EAT_ITEMS);
mon->attitude = ATT_STRICT_NEUTRAL;
return (MON_AFFECTED);
if (!zapping(ZAP_SLIME, 16 + you.skills[SK_INVOCATIONS] * 8, beam,
true))
{
return (false);
}
mprf(MSGCH_DURATION, "A thick mucus forms on %s.", msg.c_str());
you.duration[DUR_SLIMIFY] += you.skills[SK_INVOCATIONS] * 3 / 2 + 3;
if (you.duration[DUR_SLIMIFY] > 100)
you.duration[DUR_SLIMIFY] = 100;