1
This commit is contained in:
parent
39cd029f4d
commit
1dcc6a951f
@ -684,10 +684,11 @@ void Skill::ProcGZJS()
|
|||||||
float dmg_ruduce_rate = meta->number_meta->float_ratio2;
|
float dmg_ruduce_rate = meta->number_meta->float_ratio2;
|
||||||
std::weak_ptr<a8::XTimerPtr> dmg_ruduce_timer;
|
std::weak_ptr<a8::XTimerPtr> dmg_ruduce_timer;
|
||||||
std::shared_ptr<int> immune_buff_uniid = std::make_shared<int>(0);
|
std::shared_ptr<int> immune_buff_uniid = std::make_shared<int>(0);
|
||||||
|
std::shared_ptr<int> hold_gun_buff_uniid = std::make_shared<int>(0);
|
||||||
owner->GetTrigger()->AddListener
|
owner->GetTrigger()->AddListener
|
||||||
(
|
(
|
||||||
kFlyHookCreateEvent,
|
kFlyHookCreateEvent,
|
||||||
[this, dmg_ruduce_rate, dmg_ruduce_timer, immune_buff_uniid]
|
[this, dmg_ruduce_rate, dmg_ruduce_timer, immune_buff_uniid, hold_gun_buff_uniid]
|
||||||
(const std::vector<std::any>& params) mutable
|
(const std::vector<std::any>& params) mutable
|
||||||
{
|
{
|
||||||
Bullet* bullet = std::any_cast<Bullet*>(params.at(0));
|
Bullet* bullet = std::any_cast<Bullet*>(params.at(0));
|
||||||
@ -722,6 +723,16 @@ void Skill::ProcGZJS()
|
|||||||
meta->number_meta->float_time * 1000,
|
meta->number_meta->float_time * 1000,
|
||||||
meta);
|
meta);
|
||||||
|
|
||||||
|
if (*hold_gun_buff_uniid) {
|
||||||
|
owner->RemoveBuffByUniId(*hold_gun_buff_uniid);
|
||||||
|
*hold_gun_buff_uniid = 0;
|
||||||
|
}
|
||||||
|
*hold_gun_buff_uniid = owner->TryAddBuffAndSetTime
|
||||||
|
(owner,
|
||||||
|
meta->number_meta->pb->buff_id(),
|
||||||
|
meta->number_meta->float_time * 1000,
|
||||||
|
meta);
|
||||||
|
|
||||||
owner->TryAddBuffAndSetTime
|
owner->TryAddBuffAndSetTime
|
||||||
(owner,
|
(owner,
|
||||||
kDispelEffectBuffId,
|
kDispelEffectBuffId,
|
||||||
@ -737,12 +748,16 @@ void Skill::ProcGZJS()
|
|||||||
owner->GetTrigger()->AddListener
|
owner->GetTrigger()->AddListener
|
||||||
(
|
(
|
||||||
kFlyHookDestoryEvent,
|
kFlyHookDestoryEvent,
|
||||||
[this, dmg_ruduce_rate, immune_buff_uniid] (const std::vector<std::any>& params)
|
[this, dmg_ruduce_rate, immune_buff_uniid, hold_gun_buff_uniid] (const std::vector<std::any>& params)
|
||||||
{
|
{
|
||||||
if (*immune_buff_uniid) {
|
if (*immune_buff_uniid) {
|
||||||
owner->RemoveBuffByUniId(*immune_buff_uniid);
|
owner->RemoveBuffByUniId(*immune_buff_uniid);
|
||||||
*immune_buff_uniid = 0;
|
*immune_buff_uniid = 0;
|
||||||
}
|
}
|
||||||
|
if (*hold_gun_buff_uniid) {
|
||||||
|
owner->RemoveBuffByUniId(*hold_gun_buff_uniid);
|
||||||
|
*hold_gun_buff_uniid = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user