This commit is contained in:
aozhiwei 2023-03-08 10:12:04 +08:00
parent c1bac01e29
commit fcb992a54e
3 changed files with 17 additions and 2 deletions

View File

@ -79,7 +79,10 @@ void CallFuncBuff::Deactivate()
switch ((BuffCallFunc_e)meta->_int_buff_param1) {
case BuffCallFunc_e::kAddMinorMode:
{
if (skill_meta) {
Skill* skill = owner->GetSkill(skill_meta->skill_id());
skill->CancelMinorMode();
}
}
break;
case BuffCallFunc_e::kSpeedReduce:
@ -150,7 +153,7 @@ void CallFuncBuff::ProcAddMinorMode()
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) {
} else if (action == 0) {
owner_ptr.Get()->TryAddBuff(owner_ptr.Get(), meta_ptr->_int_buff_param5, skill_meta_ptr);
}
}

View File

@ -1261,3 +1261,14 @@ void Skill::ProcJumpToPhase(const mt::SkillPhase* phase)
Global::Instance()->verify_set_pos = 0;
owner->room->grid_service->MoveCreature(owner);
}
void Skill::CancelMinorMode()
{
if (GetMinorType() != SMT_NONE) {
minor_cb_(2);
minor_cb_ = nullptr;
if (!minor_mode_timer_.expired()) {
owner->room->xtimer.Delete(minor_mode_timer_);
}
}
}

View File

@ -42,6 +42,7 @@ class Skill
std::function<void(int)> cb
);
void DoMinorMode();
void CancelMinorMode();
void ProcSkillPhase(const mt::SkillPhase* phase);
private: