From 78ab3471719283e2d8bd088394ffaeb90721b4f0 Mon Sep 17 00:00:00 2001 From: Michael Cook Date: Mon, 11 Nov 2013 23:55:43 -0500 Subject: [PATCH] Fix walk speed calculation Walk speed should be calculated as a movement speed reduction that stacks with snares so it's possible to snare a mob FD and have it not be able to walk back. --- changelog.txt | 3 +++ zone/mob.cpp | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/changelog.txt b/changelog.txt index a99bec7d0..2acafcd16 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,8 @@ EQEMu Changelog (Started on Sept 24, 2003 15:50) ------------------------------------------------------- +== 11/11/2013 == +demonstar55: Changed the way walk speed is calculated to allow mobs to have their walk speed equal a 100% movement reduction + == 11/09/2013 == Leere: Fixed Bard mana regen, they now only are affected by items and AA. diff --git a/zone/mob.cpp b/zone/mob.cpp index 6780a1ca1..b6ec8e99d 100644 --- a/zone/mob.cpp +++ b/zone/mob.cpp @@ -561,16 +561,16 @@ float Mob::_GetMovementSpeed(int mod) const { movemod = static_cast(aa_mod); } - if(movemod < -85) //cap it at moving very very slow + if(mod != 0) + movemod += mod; + + if(IsClient() && movemod < -85) //cap it at moving very very slow movemod = -85; if (!has_horse && movemod != 0) speed_mod += (speed_mod * float(movemod) / 100.0f); - if(mod != 0) - speed_mod += (speed_mod * (float)mod / 100.0f); - - if(speed_mod <= 0.0f) + if(IsClient() && speed_mod <= 0.0f) return(0.0001f); //runspeed cap.