diff --git a/zone/bot.h b/zone/bot.h index 76a8a564f..c4f47cd66 100644 --- a/zone/bot.h +++ b/zone/bot.h @@ -337,9 +337,8 @@ public: void Stand(); bool IsSitting(); bool IsStanding(); - int GetBotWalkspeed() const { return (int)((float)_GetWalkSpeed() * 1.786f); } // 1.25 / 0.7 = 1.7857142857142857142857142857143 - int GetBotRunspeed() const { return (int)((float)_GetRunSpeed() * 1.786f); } - int GetBotFearSpeed() const { return (int)((float)_GetFearSpeed() * 1.786f); } + virtual int GetWalkspeed() const { return (int)((float)_GetWalkSpeed() * 1.785714f); } // 1.25 / 0.7 = 1.7857142857142857142857142857143 + virtual int GetRunspeed() const { return (int)((float)_GetRunSpeed() * 1.785714f); } bool UseDiscipline(uint32 spell_id, uint32 target); uint8 GetNumberNeedingHealedInGroup(uint8 hpr, bool includePets); bool GetNeedsCured(Mob *tar); diff --git a/zone/mob.h b/zone/mob.h index ad65bab39..807007a68 100644 --- a/zone/mob.h +++ b/zone/mob.h @@ -576,8 +576,8 @@ public: virtual void SetMoving(bool move) { moving = move; m_Delta = glm::vec4(); } virtual void GoToBind(uint8 bindnum = 0) { } virtual void Gate(uint8 bindnum = 0); - int GetWalkspeed() const { return(_GetWalkSpeed()); } - int GetRunspeed() const { return(_GetRunSpeed()); } + virtual int GetWalkspeed() const { return(_GetWalkSpeed()); } + virtual int GetRunspeed() const { return(_GetRunSpeed()); } int GetBaseRunspeed() const { return base_runspeed; } int GetBaseWalkspeed() const { return base_walkspeed; } int GetBaseFearSpeed() const { return base_fearspeed; } diff --git a/zone/mob_movement_manager.cpp b/zone/mob_movement_manager.cpp index 437468285..23cccc8f4 100644 --- a/zone/mob_movement_manager.cpp +++ b/zone/mob_movement_manager.cpp @@ -759,7 +759,7 @@ void MobMovementManager::FillCommandStruct(PlayerPositionUpdateServer_Struct *sp spu->delta_y = FloatToEQ13(dy); spu->delta_z = FloatToEQ13(dz); spu->delta_heading = FloatToEQ10(dh); - spu->animation = anim; + spu->animation = (m->IsBot() ? (int)((float)anim / 1.785714f) : anim); } void MobMovementManager::UpdatePath(Mob *who, float x, float y, float z, MobMovementMode mode)