diff --git a/server/gameserver/buff/sprint.cc b/server/gameserver/buff/sprint.cc index 9f86f6c0..6bf7feac 100644 --- a/server/gameserver/buff/sprint.cc +++ b/server/gameserver/buff/sprint.cc @@ -219,3 +219,8 @@ void SprintBuff::ProcXiongHun() { owner->TryAddBuff(owner, 209016); } + +float SprintBuff::GetSpeed() +{ + return meta->_buff_param2; +} diff --git a/server/gameserver/buff/sprint.h b/server/gameserver/buff/sprint.h index 37787458..40f1c8fa 100644 --- a/server/gameserver/buff/sprint.h +++ b/server/gameserver/buff/sprint.h @@ -8,6 +8,7 @@ class SprintBuff : public Buff virtual void Activate() override; virtual void Deactivate() override; + float GetSpeed(); private: void SprintMove(); diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index e8ac801f..f7e7a704 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -40,6 +40,7 @@ #include "pbutils.h" #include "trigger.h" #include "ability.h" +#include "buff/sprint.h" #include "mt/Param.h" #include "mt/Hero.h" @@ -494,7 +495,7 @@ float Human::GetSpeed() { Buff* buff = GetBuffByEffectId(kBET_Sprint); if (buff) { - return buff->meta->_buff_param2; + return ((SprintBuff*)buff)->GetSpeed(); } } float speed = 1.0;