1
This commit is contained in:
parent
e4f4b2ff0e
commit
39ba2b5ab4
@ -10,6 +10,28 @@
|
|||||||
#include "mt/SkillNumber.h"
|
#include "mt/SkillNumber.h"
|
||||||
|
|
||||||
void HideBuff::Activate()
|
void HideBuff::Activate()
|
||||||
|
{
|
||||||
|
ProcSkill();
|
||||||
|
}
|
||||||
|
|
||||||
|
void HideBuff::Deactivate()
|
||||||
|
{
|
||||||
|
if (skill_meta) {
|
||||||
|
switch (skill_meta->GetMagicId()) {
|
||||||
|
case MAGIC_YS:
|
||||||
|
{
|
||||||
|
owner->GetTrigger()->YsBuffRemove(this);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void HideBuff::ProcSkill()
|
||||||
{
|
{
|
||||||
if (skill_meta) {
|
if (skill_meta) {
|
||||||
switch (skill_meta->GetMagicId()) {
|
switch (skill_meta->GetMagicId()) {
|
||||||
@ -42,20 +64,3 @@ void HideBuff::Activate()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void HideBuff::Deactivate()
|
|
||||||
{
|
|
||||||
if (skill_meta) {
|
|
||||||
switch (skill_meta->GetMagicId()) {
|
|
||||||
case MAGIC_YS:
|
|
||||||
{
|
|
||||||
owner->GetTrigger()->YsBuffRemove(this);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
{
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -9,4 +9,7 @@ class HideBuff : public Buff
|
|||||||
virtual void Activate() override;
|
virtual void Activate() override;
|
||||||
virtual void Deactivate() override;
|
virtual void Deactivate() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
void ProcSkill();
|
||||||
};
|
};
|
||||||
|
@ -98,18 +98,13 @@ void SprintBuff::Check(Position& pre_pos, std::map<int, long long>& hited_object
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::set<Creature*> enemys;
|
std::set<Creature*> enemys;
|
||||||
Position old_pos = owner->GetPos();
|
|
||||||
|
|
||||||
a8::Vec2 dir = owner->GetPos().CalcDir2D(pre_pos);
|
glm::vec3 dir = owner->GetPos().ToGlmVec3() - pre_pos.ToGlmVec3();
|
||||||
dir.Normalize();
|
GlmHelper::Normalize(dir);
|
||||||
float distance = owner->GetPos().Distance2D2(pre_pos);
|
float distance = owner->GetPos().Distance2D2(pre_pos);
|
||||||
for (int i = 0; i < (distance + 6); i += 5) {
|
for (int i = 0; i < (distance + 6); i += 5) {
|
||||||
// 999
|
glm::vec3 center = owner->GetPos().ToGlmVec3() + dir * (float)i;
|
||||||
#if 1
|
owner->GetHitEnemys(enemys, center, meta->_param4);
|
||||||
#else
|
|
||||||
owner->MutablePos.FromVec2((pre_pos) + (dir * i));
|
|
||||||
#endif
|
|
||||||
owner->GetHitEnemys(enemys, meta->_param4);
|
|
||||||
for (auto& enemy : enemys) {
|
for (auto& enemy : enemys) {
|
||||||
if (enemy->IsEntityType(ET_Car)) {
|
if (enemy->IsEntityType(ET_Car)) {
|
||||||
continue;
|
continue;
|
||||||
@ -126,7 +121,6 @@ void SprintBuff::Check(Position& pre_pos, std::map<int, long long>& hited_object
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
owner->SetPos(old_pos);
|
|
||||||
pre_pos = owner->GetPos();
|
pre_pos = owner->GetPos();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user