This commit is contained in:
aozhiwei 2023-03-06 12:08:19 +08:00
parent 7e901c5ebc
commit c5a6f63b69
2 changed files with 10 additions and 3 deletions

View File

@ -17,19 +17,25 @@
void SprintBuff::Activate() void SprintBuff::Activate()
{ {
#if 0
if (meta->_int_buff_param5) { if (meta->_int_buff_param5) {
owner->IncDisableMoveDirTimes(); owner->IncDisableMoveDirTimes();
} }
#endif
move_distance_limit_ = meta->GetBuffParam2(owner, skill_meta); move_distance_limit_ = meta->GetBuffParam2(owner, skill_meta);
check_interval_time_ = meta->GetBuffParam5(owner, skill_meta);
check_distance_ = meta->GetBuffParam4(owner, skill_meta);
SprintMove(); SprintMove();
CoCollisionCheck(); CoCollisionCheck();
} }
void SprintBuff::Deactivate() void SprintBuff::Deactivate()
{ {
#if 0
if (meta->_int_buff_param5) { if (meta->_int_buff_param5) {
owner->DecDisableMoveDirTimes(); owner->DecDisableMoveDirTimes();
} }
#endif
} }
void SprintBuff::SprintMove() void SprintBuff::SprintMove()
@ -146,7 +152,7 @@ void SprintBuff::Check(Position& pre_pos, Position& src_pos, std::map<int, long
for (int i = 0; i < (distance + 6); i += 5) { for (int i = 0; i < (distance + 6); i += 5) {
glm::vec3 center = owner->GetPos().ToGlmVec3() + dir * (float)i; glm::vec3 center = owner->GetPos().ToGlmVec3() + dir * (float)i;
std::set<Creature*> enemys; std::set<Creature*> enemys;
owner->GetHitEnemys(enemys, center, meta->_buff_param4); owner->GetHitEnemys(enemys, center, check_distance_);
for (auto& enemy : enemys) { for (auto& enemy : enemys) {
if (enemy->IsEntityType(ET_Car)) { if (enemy->IsEntityType(ET_Car)) {
continue; continue;
@ -154,7 +160,7 @@ void SprintBuff::Check(Position& pre_pos, Position& src_pos, std::map<int, long
auto itr = hited_objects.find(enemy->GetUniId()); auto itr = hited_objects.find(enemy->GetUniId());
if (itr != hited_objects.end()) { if (itr != hited_objects.end()) {
if (owner->room->GetFrameNo() - itr->second < if (owner->room->GetFrameNo() - itr->second <
meta->_int_buff_param5 * SERVER_FRAME_RATE) { check_interval_time_ * SERVER_FRAME_RATE) {
continue; continue;
} }
} }

View File

@ -20,5 +20,6 @@ class SprintBuff : public Buff
private: private:
float move_distance_limit_ = 0.0f; float move_distance_limit_ = 0.0f;
float check_interval_time_ = 0.0f;
float check_distance_ = 0.0f;
}; };