diff --git a/doc/fixes3-7-0.txt b/doc/fixes3-7-0.txt index 2f25851a3..80edfbc0e 100644 --- a/doc/fixes3-7-0.txt +++ b/doc/fixes3-7-0.txt @@ -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 diff --git a/src/mon.c b/src/mon.c index 980e4694d..8d8221ae3 100644 --- a/src/mon.c +++ b/src/mon.c @@ -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) {