From 94449fcee535b881b6fb7ecde9e53bddce032fa0 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 7 Jul 2021 08:13:05 +0000 Subject: [PATCH] =?UTF-8?q?=E8=A1=80=E9=87=8F=E8=A7=A6=E5=8F=91ok?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/trigger.cc | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/server/gameserver/trigger.cc b/server/gameserver/trigger.cc index b291117..292149b 100644 --- a/server/gameserver/trigger.cc +++ b/server/gameserver/trigger.cc @@ -141,25 +141,27 @@ void Trigger::HpChg() [this] (Buff* buff, bool& stop) { bool match = false; - switch (buff->meta->int_param3) { + switch (buff->meta->int_param2) { case kHpOptLeAbs: { - match = owner_->GetHP() < buff->meta->int_param2; + match = owner_->GetHP() < buff->meta->int_param3; } break; case kHpOptLeRate: { - match = (owner_->GetHP() / owner_->GetMaxHP() * 100) < buff->meta->int_param2; + //match = (owner_->GetHP() / owner_->GetMaxHP() * 100) < buff->meta->int_param3; + match = owner_->GetHP() / owner_->GetMaxHP() < buff->meta->param3; } break; case kHpOptGeAbs: { - match = owner_->GetHP() > buff->meta->int_param2; + match = owner_->GetHP() > buff->meta->int_param3; } break; case kHpOptGeRate: { - match = (owner_->GetHP() / owner_->GetMaxHP() * 100) > buff->meta->int_param2; + //match = (owner_->GetHP() / owner_->GetMaxHP() * 100) > buff->meta->int_param3; + match = owner_->GetHP() / owner_->GetMaxHP() > buff->meta->param3; } break; default: @@ -169,6 +171,8 @@ void Trigger::HpChg() } if (match) { TryAddBuffs(buff->meta->int_param1, buff->meta->param4_int_list); + } else { + RemoveBuffs(buff->meta->int_param1, buff->meta->param4_int_list); } }); }