diff --git a/server/gameserver/buff/sprint.cc b/server/gameserver/buff/sprint.cc index 8de34a5f..73922604 100644 --- a/server/gameserver/buff/sprint.cc +++ b/server/gameserver/buff/sprint.cc @@ -17,19 +17,25 @@ void SprintBuff::Activate() { + #if 0 if (meta->_int_buff_param5) { owner->IncDisableMoveDirTimes(); } + #endif move_distance_limit_ = meta->GetBuffParam2(owner, skill_meta); + check_interval_time_ = meta->GetBuffParam5(owner, skill_meta); + check_distance_ = meta->GetBuffParam4(owner, skill_meta); SprintMove(); CoCollisionCheck(); } void SprintBuff::Deactivate() { + #if 0 if (meta->_int_buff_param5) { owner->DecDisableMoveDirTimes(); } + #endif } void SprintBuff::SprintMove() @@ -146,7 +152,7 @@ void SprintBuff::Check(Position& pre_pos, Position& src_pos, std::mapGetPos().ToGlmVec3() + dir * (float)i; std::set enemys; - owner->GetHitEnemys(enemys, center, meta->_buff_param4); + owner->GetHitEnemys(enemys, center, check_distance_); for (auto& enemy : enemys) { if (enemy->IsEntityType(ET_Car)) { continue; @@ -154,7 +160,7 @@ void SprintBuff::Check(Position& pre_pos, Position& src_pos, std::mapGetUniId()); if (itr != hited_objects.end()) { if (owner->room->GetFrameNo() - itr->second < - meta->_int_buff_param5 * SERVER_FRAME_RATE) { + check_interval_time_ * SERVER_FRAME_RATE) { continue; } } diff --git a/server/gameserver/buff/sprint.h b/server/gameserver/buff/sprint.h index 10c646d9..45a11eab 100644 --- a/server/gameserver/buff/sprint.h +++ b/server/gameserver/buff/sprint.h @@ -20,5 +20,6 @@ class SprintBuff : public Buff private: float move_distance_limit_ = 0.0f; - + float check_interval_time_ = 0.0f; + float check_distance_ = 0.0f; };