1
This commit is contained in:
parent
7e901c5ebc
commit
c5a6f63b69
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user