From 157a42a38e65b376aa8765c71c6c9815c31f3f7e Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 16 Nov 2022 09:39:42 +0800 Subject: [PATCH] 1 --- server/gameserver/skill.cc | 32 +++++++++++--------------------- 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/server/gameserver/skill.cc b/server/gameserver/skill.cc index 3a9b0f50..6cc82eb5 100644 --- a/server/gameserver/skill.cc +++ b/server/gameserver/skill.cc @@ -707,11 +707,11 @@ void Skill::ProcMYXY() std::shared_ptr immune_buff_uniid = std::make_shared(0); owner->GetTrigger()->AddListener ( - kStartSwitchWeaponBuffEvent, + kUseSkillEvent, [this, speed_rate, atk_rate, immune_buff_uniid] (const std::vector& params) { - Buff* buff = std::any_cast(params.at(0)); - if (!buff->skill_meta || buff->skill_meta->GetMagicId() != MAGIC_HJHX) { + Skill* skill = std::any_cast(params.at(0)); + if (skill->meta->GetMagicId() != MAGIC_HJHX) { return; } owner->GetAbility()->AddSpeedAddition(speed_rate); @@ -719,26 +719,17 @@ void Skill::ProcMYXY() owner->RemoveBuffByUniId(*immune_buff_uniid); *immune_buff_uniid = 0; } + + owner->TryAddBuff + (owner, + kDispelEffectBuffId, + meta); + *immune_buff_uniid = owner->TryAddBuffAndSetTime (owner, kImmuneEffectBuffId, - buff->skill_meta->i->skill_cd() * 1000, + meta->number_meta->float_time * 1000, meta); - } - ); - owner->GetTrigger()->AddListener - ( - kEndSwitchWeaponBuffEvent, - [this, speed_rate, atk_rate, immune_buff_uniid] (const std::vector& params) - { - Buff* buff = std::any_cast(params.at(0)); - if (!buff->skill_meta || buff->skill_meta->GetMagicId() != MAGIC_HJHX) { - return; - } - if (*immune_buff_uniid) { - owner->RemoveBuffByUniId(*immune_buff_uniid); - *immune_buff_uniid = 0; - } owner->GetAbility()->DelSpeedAddition(speed_rate); } ); @@ -813,10 +804,9 @@ void Skill::ProcGZJS() 10 * 1000, meta); - owner->TryAddBuffAndSetTime + owner->TryAddBuff (owner, kDispelEffectBuffId, - 100, meta); owner->TryAddBuffAndSetTime