From b2f3dd6403ee66aefc474983e7cbb9384a983106 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 24 Feb 2023 12:06:06 +0800 Subject: [PATCH] 1 --- server/gameserver/gungrasp.cc | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/server/gameserver/gungrasp.cc b/server/gameserver/gungrasp.cc index 86446b39..7031cb2a 100644 --- a/server/gameserver/gungrasp.cc +++ b/server/gameserver/gungrasp.cc @@ -10,6 +10,11 @@ #include "mt/Grasp.h" #include "mt/Hero.h" +const int BUFF_TARGET_SELF = 1; +const int BUFF_TARGET_ENEMY = 2; +const int BUFF_TARGET_GUN = 3; +const int BUFF_TARGET_PET = 4; + struct GraspBuff { list_head entry; @@ -43,9 +48,15 @@ struct GraspBuff { std::array grasp_triggers_ = {std::get<0>(buffs), std::get<1>(buffs)}; for (auto& buff : grasp_triggers_) { - if (buff) { + if (buff && + (buff->graspbuff_target() == BUFF_TARGET_SELF || + buff->graspbuff_target() == BUFF_TARGET_ENEMY)) { int buff_time = buff->GetBuffTime(gun_grasp->GetHeroLv()); int attr_num = buff->GetAttrNum(gun_grasp->GetHeroLv()); + Creature* target = gun_grasp->GetOwner(); + if (buff->graspbuff_target() == BUFF_TARGET_ENEMY) { + target = enemy; + } if (buff->attr_id()) { switch (buff->attr_add_pattern()) { case 1: