diff --git a/server/gameserver/skill.cc b/server/gameserver/skill.cc index 89f72444..9e64fdd8 100644 --- a/server/gameserver/skill.cc +++ b/server/gameserver/skill.cc @@ -519,6 +519,14 @@ void Skill::LevelUp() Clear(); auto merge_item_meta = mt::MergeItem::GetById(mt::Equip::BLUE_STONE_ID); if (merge_item_meta) { + int skill_lv = owner->GetInventory(IS_BLUE_STONE) / 3 + 1; + const mt::Skill* new_skill_meta = mt::Skill::GetById(meta->_base_skill_meta->skill_id()); + if (new_skill_meta) { + if (mt::Skill::GetById(new_skill_meta->skill_id() + skill_lv)) { + meta = mt::Skill::GetById(new_skill_meta->skill_id() + skill_lv); + } + NotifySkillState(); + } std::set* buffs = merge_item_meta->GetBuffs(owner->GetInventory(IS_BLUE_STONE)); if (buffs) { for (int buff_id : *buffs) {