diff --git a/server/gameserver/buff/bufffactory.cc b/server/gameserver/buff/bufffactory.cc index 0174d98b..364c9b24 100644 --- a/server/gameserver/buff/bufffactory.cc +++ b/server/gameserver/buff/bufffactory.cc @@ -27,7 +27,6 @@ #include "buff/in_water.h" #include "buff/internal_add.h" #include "buff/jump.h" -#include "buff/jumpto.h" #include "buff/machine_gun.h" #include "buff/once_chg_attr.h" #include "buff/passenger.h" @@ -99,8 +98,6 @@ std::shared_ptr BuffFactory::MakeBuff(const mt::Buff* buff_meta) return std::make_shared(); case kBET_Jump: return std::make_shared(); - case kBET_JumpTo: - return std::make_shared(); case kBET_MachineGun: return std::make_shared(); case kBET_OnceChgAttr: diff --git a/server/gameserver/buff/jumpto.cc b/server/gameserver/buff/jumpto.cc deleted file mode 100644 index a2759858..00000000 --- a/server/gameserver/buff/jumpto.cc +++ /dev/null @@ -1,37 +0,0 @@ -#include "precompile.h" - -#include "buff/jumpto.h" - -#include "creature.h" -#include "room.h" - -#include "mt/Buff.h" - -void JumpToBuff::Activate() -{ - Entity* entity = owner->room->GetEntityByUniId(owner->skill_target_id_); - if (entity) { - float target_distance = entity->GetPos().Distance2D2(owner->GetPos()); - if (target_distance <= 0.000001f) { - owner->SetPos(entity->GetPos()); - owner->target_pos = entity->GetPos(); - } else { - if (target_distance <= meta->_buff_param3) { - owner->SetPos(entity->GetPos()); - owner->target_pos = entity->GetPos(); - } else { - glm::vec3 move_dir = owner->GetPos().CalcDir(entity->GetPos()); - GlmHelper::Normalize(move_dir); - owner->SetMoveDir(move_dir); - owner->skill_dir_ = owner->GetMoveDir(); - owner->target_pos = owner->GetPos(); - owner->target_pos.AddGlmVec3(owner->GetMoveDir() * (target_distance - meta->_buff_param3)); - } - } - } -} - -void JumpToBuff::Deactivate() -{ - -} diff --git a/server/gameserver/buff/jumpto.h b/server/gameserver/buff/jumpto.h deleted file mode 100644 index 0f98a64d..00000000 --- a/server/gameserver/buff/jumpto.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include "buff.h" - -class JumpToBuff : public Buff -{ - public: - - virtual void Activate() override; - virtual void Deactivate() override; - -}; diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index a8e661a6..2b45d9ec 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -2482,7 +2482,7 @@ void Creature::SpecDirMove(glm::vec3 dir, float distance) bool Creature::HasSpecMove() { - return GetBuffByEffectId(kBET_JumpTo) || + return GetBuffByEffectId(kBET_BePull); } @@ -2509,22 +2509,7 @@ void Creature::_UpdateSpecMove() } } if (move_end) { - Buff* buff = GetBuffByEffectId(kBET_JumpTo); - if (buff) { - if (CurrentSkill() && - buff->skill_meta == CurrentSkill()->meta && - !CurrentSkill()->meta->_phases.empty()) { - std::set target_list; - float old_skill_distance = CurrentSkill()->meta->skill_distance(); - CurrentSkill()->meta->SetSkillDistance(CurrentSkill()->meta->_phases[0].phase_param1.GetDouble()); - SelectSkillTargets(CurrentSkill(), GetPos(), target_list); - CurrentSkill()->meta->SetSkillDistance(old_skill_distance); - - TriggerBuff(CurrentSkill(), target_list, kBTT_SkillHit); - } - RemoveBuffByEffectId(kBET_JumpTo); - } - buff = GetBuffByEffectId(kBET_BePull); + Buff* buff = GetBuffByEffectId(kBET_BePull); if (buff) { const mt::Buff* new_buff = mt::Buff::GetById(1039); if (new_buff) { diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 984e0f93..224b7cc2 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -468,12 +468,6 @@ void Human::Initialize() float Human::GetSpeed() { - { - Buff* buff = GetBuffByEffectId(kBET_JumpTo); - if (buff) { - return buff->meta->_buff_param2; - } - } { Buff* buff = GetBuffByEffectId(kBET_HoldShield); if (buff) {