From 48d7f9f567c8a6cffdfff27fac0b72284d541973 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sun, 25 Dec 2022 14:40:57 +0800 Subject: [PATCH] 1 --- server/gameserver/creature.cc | 8 ++------ server/gameserver/mt/Skill.cc | 4 ++++ server/gameserver/mt/Skill.h | 2 ++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 1d4df0e3..a0cc7e20 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -3214,14 +3214,10 @@ void Creature::_UpdateSpecMove() buff->skill_meta == CurrentSkill()->meta && !CurrentSkill()->meta->_phases.empty()) { std::set target_list; - // 111 - #if 0 - metatable::Skill* mutable_skill_meta = (metatable::Skill*)CurrentSkill()->meta->pb; float old_skill_distance = CurrentSkill()->meta->skill_distance(); - mutable_skill_meta->set_skill_distance(CurrentSkill()->meta->phases[0].param1.GetDouble()); + CurrentSkill()->meta->SetSkillDistance(CurrentSkill()->meta->_phases[0].param1.GetDouble()); SelectSkillTargets(CurrentSkill(), GetPos(), target_list); - mutable_skill_meta->set_skill_distance(old_skill_distance); - #endif + CurrentSkill()->meta->SetSkillDistance(old_skill_distance); TriggerBuff(CurrentSkill(), target_list, kBTT_SkillHit); } diff --git a/server/gameserver/mt/Skill.cc b/server/gameserver/mt/Skill.cc index 500a0e9d..4c4ff47e 100644 --- a/server/gameserver/mt/Skill.cc +++ b/server/gameserver/mt/Skill.cc @@ -143,5 +143,9 @@ namespace mt return !_phases.empty() && _phases[0].func_id == kSkill_TurnOver; } + void Skill::SetSkillDistance(float distance) const + { + ((Skill*)this)->skill_distance_ = distance; + } } diff --git a/server/gameserver/mt/Skill.h b/server/gameserver/mt/Skill.h index 82af3d27..0884d3f7 100644 --- a/server/gameserver/mt/Skill.h +++ b/server/gameserver/mt/Skill.h @@ -42,6 +42,8 @@ namespace mt std::vector _raw_phases; bool IsTurnOverSkill() const; int GetMagicId() const; + + void SetSkillDistance(float distance) const; private: int _magic_id = 0; int _base_skill_id = 0;