This commit is contained in:
aozhiwei 2023-05-25 14:24:04 +08:00
parent 836643bf06
commit d56c31b355
2 changed files with 6 additions and 8 deletions

View File

@ -506,7 +506,7 @@ void Obstacle::FillMFObjectFull(Room* room, Human* hum, cs::MFObjectFull* full_d
void Skill::FillMFSkill(cs::MFSkill* skill_pb)
{
skill_pb->set_skill_id(meta->skill_id());
skill_pb->set_skill_id(meta->skill_id() + level_ - 1);
skill_pb->set_actived(Actived());
skill_pb->set_left_time(GetLeftTime());
skill_pb->set_cd_time(GetCd());

View File

@ -521,9 +521,8 @@ void Skill::LevelUp()
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);
owner->skill_hash_[meta->skill_id()] = owner->skill_hash_[meta->_base_skill_meta->skill_id()];
if (mt::Skill::GetById(new_skill_meta->skill_id() + skill_lv - 1)) {
owner->skill_hash_[new_skill_meta->skill_id() + skill_lv - 1] = owner->skill_hash_[meta->skill_id()];
}
level_ = skill_lv;
}
@ -540,9 +539,8 @@ void Skill::LevelUp()
void Skill::Reset()
{
Clear();
level_ = 1;
if (meta->_base_skill_meta) {
owner->skill_hash_[meta->_base_skill_meta->skill_id()] = owner->skill_hash_[meta->_base_skill_meta->skill_id()];
meta = meta->_base_skill_meta;
for (int i = 2; i <= level_; ++i) {
owner->skill_hash_.erase(meta->skill_id() + i - 1);
}
level_ = 1;
}