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); float dur_time = meta->GetBuffParam3(this);
Skill* skill = owner->GetSkill(skill_meta->skill_id()); Skill* skill = owner->GetSkill(skill_meta->skill_id());
if (skill) { if (skill) {
auto owner_ptr = owner->GetWeakPtrRef();
auto meta_ptr = meta;
auto skill_meta_ptr = skill_meta;
skill->AddMinorMode skill->AddMinorMode
( (
meta->_int_buff_param2, meta->_int_buff_param2,
dur_time * 1000, dur_time * 1000,
[this] (int action) [owner_ptr, meta_ptr, skill_meta_ptr] (int action) mutable
{ {
if (action == 0) { if (owner_ptr.Get()) {
owner->TryAddBuff(owner, meta->_int_buff_param4, skill_meta); if (action == 1) {
} else if (action) { owner_ptr.Get()->TryAddBuff(owner_ptr.Get(), meta_ptr->_int_buff_param4, skill_meta_ptr);
owner->TryAddBuff(owner, meta->_int_buff_param5, skill_meta); } else if (action) {
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) || if (HasBuffEffect(kBET_Vertigo) ||
HasBuffEffect(kBET_Jump) || HasBuffEffect(kBET_Jump) ||
HasBuffEffect(kBET_Fly) || HasBuffEffect(kBET_Fly) ||
HasBuffEffect(kBET_MachineGun) || HasBuffEffect(kBET_MachineGun)) {
HasBuffEffect(kBET_Sprint)) {
return false; return false;
} }
if (skill->force_use_times > 0) { if (skill->force_use_times > 0) {

View File

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