This commit is contained in:
aozhiwei 2023-05-23 11:47:39 +08:00
parent 98298b8722
commit 1add2ffec0
2 changed files with 23 additions and 1 deletions

View File

@ -25,6 +25,7 @@
#include "mt/Skill.h"
#include "mt/SkillNumber.h"
#include "mt/Equip.h"
#include "mt/MergeItem.h"
static int GetTraceTargetId(Creature* c)
{
@ -504,7 +505,26 @@ void Skill::Active()
NotifySkillState();
}
void Skill::Clear()
{
for (int buff_uniid : hold_buffs_) {
owner->RemoveBuffByUniId(buff_uniid);
}
hold_buffs_.clear();
}
void Skill::LevelUp()
{
if (owner->GetInventory(IS_BLUE_STONE) % 3 == 0) {
Clear();
auto merge_item_meta = mt::MergeItem::GetById(mt::Equip::BLUE_STONE_ID);
if (merge_item_meta) {
std::set<int>* buffs = merge_item_meta->GetBuffs(owner->GetInventory(IS_BLUE_STONE));
if (buffs) {
for (int buff_id : *buffs) {
hold_buffs_.push_back(owner->TryAddBuff(owner, buff_id, nullptr));
}
}
}
}
}

View File

@ -49,6 +49,7 @@ class Skill
void Deactive() { actived_ = false; }
bool IsMainSkill();
void LevelUp();
void Clear();
private:
void InitActiveSkill();
@ -73,6 +74,7 @@ private:
int minor_cd_time_ = 0;
long long minor_frameno_ = 0;
std::function<void(int)> minor_cb_;
std::vector<int> hold_buffs_;
friend class PBUtils;
};