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

@@ -1573,6 +1573,7 @@ fix bug which caused engulf damage from air elementals and fog clouds to
elementals do double damage on their home plane
water elementals move slightly more slowly
the "totally digested" instadeath timer is much faster
slow monster effects are more effective against faster enemies
Fixes to 3.7.0-x General Problems Exposed Via git Repository

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) {