This commit is contained in:
aozhiwei 2022-11-16 09:39:42 +08:00
parent 49286ef147
commit 157a42a38e

View File

@ -707,11 +707,11 @@ void Skill::ProcMYXY()
std::shared_ptr<int> immune_buff_uniid = std::make_shared<int>(0); std::shared_ptr<int> immune_buff_uniid = std::make_shared<int>(0);
owner->GetTrigger()->AddListener owner->GetTrigger()->AddListener
( (
kStartSwitchWeaponBuffEvent, kUseSkillEvent,
[this, speed_rate, atk_rate, immune_buff_uniid] (const std::vector<std::any>& params) [this, speed_rate, atk_rate, immune_buff_uniid] (const std::vector<std::any>& params)
{ {
Buff* buff = std::any_cast<Buff*>(params.at(0)); Skill* skill = std::any_cast<Skill*>(params.at(0));
if (!buff->skill_meta || buff->skill_meta->GetMagicId() != MAGIC_HJHX) { if (skill->meta->GetMagicId() != MAGIC_HJHX) {
return; return;
} }
owner->GetAbility()->AddSpeedAddition(speed_rate); owner->GetAbility()->AddSpeedAddition(speed_rate);
@ -719,26 +719,17 @@ void Skill::ProcMYXY()
owner->RemoveBuffByUniId(*immune_buff_uniid); owner->RemoveBuffByUniId(*immune_buff_uniid);
*immune_buff_uniid = 0; *immune_buff_uniid = 0;
} }
owner->TryAddBuff
(owner,
kDispelEffectBuffId,
meta);
*immune_buff_uniid = owner->TryAddBuffAndSetTime *immune_buff_uniid = owner->TryAddBuffAndSetTime
(owner, (owner,
kImmuneEffectBuffId, kImmuneEffectBuffId,
buff->skill_meta->i->skill_cd() * 1000, meta->number_meta->float_time * 1000,
meta); meta);
}
);
owner->GetTrigger()->AddListener
(
kEndSwitchWeaponBuffEvent,
[this, speed_rate, atk_rate, immune_buff_uniid] (const std::vector<std::any>& params)
{
Buff* buff = std::any_cast<Buff*>(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); owner->GetAbility()->DelSpeedAddition(speed_rate);
} }
); );
@ -813,10 +804,9 @@ void Skill::ProcGZJS()
10 * 1000, 10 * 1000,
meta); meta);
owner->TryAddBuffAndSetTime owner->TryAddBuff
(owner, (owner,
kDispelEffectBuffId, kDispelEffectBuffId,
100,
meta); meta);
owner->TryAddBuffAndSetTime owner->TryAddBuffAndSetTime