From c5a6f63b6981a1eac5a809abcc859a5bed408659 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 6 Mar 2023 12:08:19 +0800 Subject: [PATCH] 1 --- server/gameserver/buff/sprint.cc | 10 ++++++++-- server/gameserver/buff/sprint.h | 3 ++- 2 files changed, 10 insertions(+), 3 deletions(-) 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; };