diff --git a/server/gameserver/constant.h b/server/gameserver/constant.h index 40ef5b5c..d0a8852e 100644 --- a/server/gameserver/constant.h +++ b/server/gameserver/constant.h @@ -131,7 +131,6 @@ enum SkillFunc_e kSkill_Shot = 3, kSkill_Pull = 4, kSkill_HoldShield = 5, - kSkill_ForthBackJump = 6, kSkill_FlyHook = 7, kSkill_FuncEnd }; diff --git a/server/gameserver/selfchecker.cc b/server/gameserver/selfchecker.cc index ca39fe26..ba377639 100644 --- a/server/gameserver/selfchecker.cc +++ b/server/gameserver/selfchecker.cc @@ -109,21 +109,6 @@ void SelfChecker::Init() for (int buff_id : meta->_buff_list) { SelfChecker::AddBuff(buff_id); } - for (auto& phase : meta->_phases) { - switch (phase.func_id) { - case kSkill_ForthBackJump: - { - for (int buff_id : phase.phase_param3_ints) { - SelfChecker::AddBuff(buff_id); - } - } - break; - default: - { - } - break; - } - } }); mt::Buff::Traverse ( diff --git a/server/gameserver/skill.cc b/server/gameserver/skill.cc index 893314ad..2844514a 100644 --- a/server/gameserver/skill.cc +++ b/server/gameserver/skill.cc @@ -898,11 +898,6 @@ void Skill::ProcSkillPhase(const mt::SkillPhase* phase) { } break; - case kSkill_ForthBackJump: - { - ProcForthBackJumpPhase(phase); - } - break; default: { } @@ -1020,74 +1015,6 @@ void Skill::ProcNormalShotPhase(const mt::SkillPhase* phase) } } -void Skill::ProcForthBackJumpPhase(const mt::SkillPhase* phase) -{ - if (GetMinorType() != SMT_NONE) { - return; - } - - glm::vec3 old_dir = owner->GetMoveDir(); - Position old_pos = owner->GetPos(); - - int buff_id1 = phase->phase_param3_ints.size() > 0 ? phase->phase_param3_ints[0] : 0; - int buff_id2 = phase->phase_param3_ints.size() > 1 ? phase->phase_param3_ints[1] : 0; - int buff_id3 = phase->phase_param3_ints.size() > 2 ? phase->phase_param3_ints[2] : 0; - const mt::Skill* skill_meta = meta; - owner->TryAddBuff(owner, buff_id1); - int land_effect_buff_uniid = owner->TryAddBuffAndSetTime - (owner, - buff_id3, - skill_meta->_number_meta->_float_time * 1000); -#ifdef DEBUG - a8::XPrintf("old_pos:%f,%f\n", {owner->GetPos().GetX(), owner->GetPos().GetY()}); -#endif - owner->ForwardMove(SkillHelper::GetSjydhxForthDistance(meta)); - float recover_hp = SkillHelper::GetSjydhxRecoverHp(owner, meta); - owner->AddHp(recover_hp); - glm::vec3 pre_dir = old_dir; - Position pre_pos = old_pos; -#ifdef DEBUG - a8::XPrintf("new_pos:%f,%f", {owner->GetPos().GetX(), owner->GetPos().GetY()}); -#endif - AddMinorMode - ( - SMT_BLINK, -#if 1 - skill_meta->_number_meta->_float_time * 1000, -#else - phase->param2.GetInt() * 1000, -#endif - [this, pre_pos, pre_dir, buff_id1, buff_id2, buff_id3, land_effect_buff_uniid, - skill_meta] (int action) { - glm::vec3 old_dir = owner->GetMoveDir(); - Position old_pos = owner->GetPos(); - float distance = owner->GetPos().Distance2D2(pre_pos); - owner->RemoveBuffByUniId(land_effect_buff_uniid); - if (distance > 0.0001f) { - glm::vec3 new_dir = owner->GetPos().CalcDir(pre_pos); - GlmHelper::Normalize(new_dir); - owner->SetMoveDir(new_dir); - owner->TryAddBuff(owner, buff_id2); - #if 1 - Global::Instance()->verify_set_pos = 1; - owner->SetPos(pre_pos); - Global::Instance()->verify_set_pos = 0; - owner->GetMovement()->ClearPath(); - owner->room->grid_service->MoveCreature(owner); - #else - owner->ForwardMove(distance); - #endif - } - owner->SetMoveDir(old_dir); - owner->TryAddBuffAndSetTime(owner, - skill_meta->_number_meta->buff_id(), - skill_meta->_number_meta->buff_time() * 1000, - skill_meta); - } - ); - owner->SetMoveDir(old_dir); -} - void Skill::ProcJumpToPhase(const mt::SkillPhase* phase) { Position new_pos; diff --git a/server/gameserver/skill.h b/server/gameserver/skill.h index 320f13c8..ce1ce008 100644 --- a/server/gameserver/skill.h +++ b/server/gameserver/skill.h @@ -62,7 +62,6 @@ private: void ProcSpecDirShotPhase(const mt::SkillPhase* phase); void ProcJumpToPhase(const mt::SkillPhase* phase); void ProcNormalShotPhase(const mt::SkillPhase* phase); - void ProcForthBackJumpPhase(const mt::SkillPhase* phase); private: int curr_times_ = 0;