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:
@@ -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
|
||||
|
||||
11
src/mon.c
11
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) {
|
||||
|
||||
Reference in New Issue
Block a user