From 83a35e8cfdda116b53ad4a9813e3c16d0d2aec79 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sun, 5 Mar 2023 12:00:48 +0800 Subject: [PATCH] 1 --- server/gameserver/buff/callfunc.cc | 8 +++++--- server/gameserver/buff/callfunc.h | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/server/gameserver/buff/callfunc.cc b/server/gameserver/buff/callfunc.cc index 097588af..b2d33ae5 100644 --- a/server/gameserver/buff/callfunc.cc +++ b/server/gameserver/buff/callfunc.cc @@ -20,7 +20,8 @@ void CallFuncBuff::Activate() break; case BuffCallFunc_e::kSpeedReduce: { - owner->GetAbility()->AddSpeedRuduce(meta->_buff_param2); + hold_param2_ = meta->GetBuffParam2(owner, skill_meta); + owner->GetAbility()->AddSpeedRuduce(hold_param2_); } break; case BuffCallFunc_e::kInternalRangeAddBuff: @@ -54,7 +55,7 @@ void CallFuncBuff::Deactivate() break; case BuffCallFunc_e::kSpeedReduce: { - owner->GetAbility()->DelSpeedRuduce(meta->_buff_param2); + owner->GetAbility()->DelSpeedRuduce(hold_param2_); } break; default: @@ -100,12 +101,13 @@ void CallFuncBuff::ProcIntervalRangeAddBuffFunc() void CallFuncBuff::ProcAddMinorMode() { if (skill_meta) { + float dur_time = meta->GetBuffParam3(owner, skill_meta); Skill* skill = owner->GetSkill(skill_meta->skill_id()); if (skill) { skill->AddMinorMode ( meta->_int_buff_param2, - meta->_int_buff_param3, + dur_time, [this] (int action) { if (action == 0) { diff --git a/server/gameserver/buff/callfunc.h b/server/gameserver/buff/callfunc.h index d1b78472..dfc8dd81 100644 --- a/server/gameserver/buff/callfunc.h +++ b/server/gameserver/buff/callfunc.h @@ -22,4 +22,6 @@ class CallFuncBuff : public Buff void ProcIntervalRangeAddBuffFunc(); void ProcAddMinorMode(); void ProcMarkTag(); + + float hold_param2_ = 0.0; };