JROZ5XCAQKPXFV242IO3OACFTD6KC4SNSWIXPI5WO4FQ5APRLC4QC
Z7BI3TDNACIAAP66K7N4NVUPXP5UEAV64SY5XDDKYBN4BBNJDKFAC
6LC767RHUL6JL33G73U7JC464C7WAYQJVSU73TWXX2PMWAGYQLBAC
NCYUW5C4IA6JQMFGJQUZNB2GBLKG6ROI7I3ZKO5O5DIQSQNXLNDAC
S7K35M6FKOMF4FZK5TM7DBITTZLYER74AXLSTZOXGMJIOZ7QTTCAC
HOAVCSCY7W5RYGTMY7OENULPNKO4IRNX4TQLGL656SND44NTTQ4AC
2XSNHF7JXHEKABVMXDAU25QKFHJHH256GR4WLYAHKSPF4XLBJW4QC
Q3B3UVMYEVC4YJUPYVSNTR4DJH4E6J4JJDHZNT5LNOCHCPPMEMXAC
36BFWYZWCQGMAMK4EF2R5C66RA2EBLTX3MJW3QDEKN64C3BJQX7AC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
ZR6IG6JO2HEUWDJX5C3BHN3Z4Z2V6HFRGGS2NIW3PCODCWL7PRYAC
MONYKYOVBBZBJQNDH4QNDCC4TKFPTGTDVTYWVSC24K7DGOMJ7MEQC
CQD3RU44235F3CYFDZBC3JRT2H3AE7PXJNVBBMCRF65Q5LPA3EHQC
IIUK3DT26O7F4IBKB6QFTPLO4EVKBH55SAEXLNQEQRLDGJ37NDGAC
DTO3EUKWHZ5RJNGNCFYXSOVTIPVXPP637F2W7WFGYKJ7JK7VNKNQC
VCQYSNAWZZHOZMARWQ4AJBDNFSS7T7CZBQISSPZ2YIIK5PVAWPRQC
Q3DNEB5OOJ34P5ML4CMK3L6SCP7RLW7DDOZEG24KZBX3C7BJRQDAC
TZVEM65VHVUXW3XWCXYGLL6VJJYUW4YXHRRTJHQYCJKD2QPVWWRAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
UADYVV3UD5ERJTZZJGY4EUQ4NJ2JSBG7YYUJ75ZRBIXRQXQKOJPAC
JW2KRJHES33W7UTWZ6NDO4TLMK4EFU4HKZXBWR2UJOMPCCOTR4CQC
// Try to remove haste, if monster is hasted.
if (mon->del_ench(ENCH_HASTE, true))
{
if (simple_monster_message(mon, " is no longer moving quickly."))
{
return true;
}
}
// Try to remove haste, if monster is hasted.
if (mon->del_ench(ENCH_HASTE, true))
{
if (simple_monster_message(mon, " is no longer moving quickly."))
return (true);
}
// Not hasted, slow it.
if (!mon->has_ench(ENCH_SLOW)
&& !mons_is_stationary(mon)
&& mon->add_ench(mon_enchant(ENCH_SLOW, 0, whose_kill)))
{
if (!mons_is_paralysed(mon) && !mons_is_petrified(mon)
&& simple_monster_message(mon, " seems to slow down."))
{
return true;
}
}
// Not hasted, slow it.
if (!mon->has_ench(ENCH_SLOW)
&& !mons_is_stationary(mon)
&& mon->add_ench(mon_enchant(ENCH_SLOW, 0, whose_kill)))
{
if (!mons_is_paralysed(mon) && !mons_is_petrified(mon)
&& simple_monster_message(mon, " seems to slow down."))
{
return (true);
}
}
// TODO perhaps make power dependent on invocation?
// if so, this spell must train invocations too
// currently, has one-size-fits-all power level and duration,
// as if a wand of slow monster was zapped at each target
for ( adjacent_iterator ai; ai; ++ai )
{
// Tile occupied by monster
monsters* mon = monster_at(*ai);
if(mon != NULL) {
mprf(MSGCH_GOD, "%s rebukes %s.",
god_name(you.religion).c_str(),
mon->name(DESC_NOCAP_THE).c_str());
do_slow_monster(mon, KC_YOU);
}
}
// TODO perhaps make power dependent on invocation?
// if so, this spell must train invocations too
// currently, has one-size-fits-all power level and duration,
// as if a wand of slow monster was zapped at each target
for (adjacent_iterator ai; ai; ++ai)
{
// Tile occupied by monster
monsters* mon = monster_at(*ai);
if (mon != NULL)
{
simple_god_message(
make_stringf("rebukes %s.",
mon->name(DESC_NOCAP_THE).c_str()).c_str(),
GOD_CHRONOS);
do_slow_monster(mon, KC_YOU);
}
}