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) { switch ((BuffCallFunc_e)meta->_int_buff_param1) {
case BuffCallFunc_e::kAddMinorMode: case BuffCallFunc_e::kAddMinorMode:
{ {
if (skill_meta) {
Skill* skill = owner->GetSkill(skill_meta->skill_id());
skill->CancelMinorMode();
}
} }
break; break;
case BuffCallFunc_e::kSpeedReduce: case BuffCallFunc_e::kSpeedReduce:
@ -150,7 +153,7 @@ void CallFuncBuff::ProcAddMinorMode()
if (owner_ptr.Get()) { if (owner_ptr.Get()) {
if (action == 1) { if (action == 1) {
owner_ptr.Get()->TryAddBuff(owner_ptr.Get(), meta_ptr->_int_buff_param4, skill_meta_ptr); 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); 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; Global::Instance()->verify_set_pos = 0;
owner->room->grid_service->MoveCreature(owner); 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 std::function<void(int)> cb
); );
void DoMinorMode(); void DoMinorMode();
void CancelMinorMode();
void ProcSkillPhase(const mt::SkillPhase* phase); void ProcSkillPhase(const mt::SkillPhase* phase);
private: private: