This commit is contained in:
aozhiwei 2023-03-06 17:34:14 +08:00
parent c214855db9
commit 744994c579
3 changed files with 14 additions and 8 deletions

View File

@ -132,16 +132,21 @@ void CallFuncBuff::ProcAddMinorMode()
float dur_time = meta->GetBuffParam3(this);
Skill* skill = owner->GetSkill(skill_meta->skill_id());
if (skill) {
auto owner_ptr = owner->GetWeakPtrRef();
auto meta_ptr = meta;
auto skill_meta_ptr = skill_meta;
skill->AddMinorMode
(
meta->_int_buff_param2,
dur_time * 1000,
[this] (int action)
[owner_ptr, meta_ptr, skill_meta_ptr] (int action) mutable
{
if (action == 0) {
owner->TryAddBuff(owner, meta->_int_buff_param4, skill_meta);
if (owner_ptr.Get()) {
if (action == 1) {
owner_ptr.Get()->TryAddBuff(owner_ptr.Get(), meta_ptr->_int_buff_param4, skill_meta_ptr);
} else if (action) {
owner->TryAddBuff(owner, meta->_int_buff_param5, skill_meta);
owner_ptr.Get()->TryAddBuff(owner_ptr.Get(), meta_ptr->_int_buff_param5, skill_meta_ptr);
}
}
});
}

View File

@ -828,8 +828,7 @@ bool Creature::CanUseSkill(int skill_id)
if (HasBuffEffect(kBET_Vertigo) ||
HasBuffEffect(kBET_Jump) ||
HasBuffEffect(kBET_Fly) ||
HasBuffEffect(kBET_MachineGun) ||
HasBuffEffect(kBET_Sprint)) {
HasBuffEffect(kBET_MachineGun)) {
return false;
}
if (skill->force_use_times > 0) {

View File

@ -186,7 +186,9 @@ void Skill::AddMinorMode(
minor_type_ = SMT_NONE;
minor_cd_time_ = 0;
minor_frameno_ = 0;
if (minor_cb_) {
minor_cb_(0);
}
minor_cb_ = nullptr;
}
},