Monster-slowing effects work better against faster enemies

Based on the principle that there should always be at least two
solutions to any given problem, this allows monster-slowing magic
to be an effective solution to fast low-monMR monsters (in
particular home-plane air elementals, who after recent commits
could reasonably be dealt with using good AC, but I want a second
good option to be available, in addition to the existing mediocre
options).  This helps to make playing with bad AC (for whatever
reason) more viable.
This commit is contained in:
Alex Smith
2026-01-15 01:01:07 +00:00
parent b4a3ec49e4
commit 5d7b7b823a
2 changed files with 9 additions and 3 deletions

View File

@@ -1112,9 +1112,14 @@ mcalcmove(
* MFAST's `+ 2' prevents hasted speed 1 from becoming a no-op;
* both adjustments have negligible effect on higher speeds.
*/
if (mon->mspeed == MSLOW)
mmove = (2 * mmove + 1) / 3;
else if (mon->mspeed == MFAST)
if (mon->mspeed == MSLOW) {
/* slow-monster effects work better against faster monsters: they
lose 1/3 of their speed below 12 but 2/3 of their speed above */
if (mmove < 12)
mmove = (2 * mmove + 1) / 3;
else
mmove = 4 + (mmove / 3);
} else if (mon->mspeed == MFAST)
mmove = (4 * mmove + 2) / 3;
if (mon == u.usteed && u.ugallop && svc.context.mv) {