diff --git a/server/gameserver/trigger.cc b/server/gameserver/trigger.cc index bfafc588..76e3ea4b 100644 --- a/server/gameserver/trigger.cc +++ b/server/gameserver/trigger.cc @@ -195,24 +195,24 @@ void Trigger::HpChg() switch (buff->meta->_int_buff_param2) { case kHpOptLeAbs: { - match = owner_->GetHP() < buff->meta->_int_buff_param3; + match = owner_->GetHP() < buff->meta->GetBuffParam3(buff); } break; case kHpOptLeRate: { //match = (owner_->GetHP() / owner_->GetMaxHP() * 100) < buff->meta->_int_param3; - match = owner_->GetHP() / owner_->GetMaxHP() < buff->meta->_buff_param3; + match = owner_->GetHP() / owner_->GetMaxHP() < buff->meta->GetBuffParam3(buff); } break; case kHpOptGeAbs: { - match = owner_->GetHP() > buff->meta->_int_buff_param3; + match = owner_->GetHP() > buff->meta->GetBuffParam3(buff); } break; case kHpOptGeRate: { //match = (owner_->GetHP() / owner_->GetMaxHP() * 100) > buff->meta->_int_param3; - match = owner_->GetHP() / owner_->GetMaxHP() > buff->meta->_buff_param3; + match = owner_->GetHP() / owner_->GetMaxHP() > buff->meta->GetBuffParam3(buff); } break; default: @@ -220,11 +220,15 @@ void Trigger::HpChg() } break; } + #if 1 + TryAddBuffs(buff, buff->meta->_int_buff_param1, buff->meta->_buff_param4_int_list); + #else if (match) { TryAddBuffs(buff, buff->meta->_int_buff_param1, buff->meta->_buff_param4_int_list); } else { RemoveBuffs(buff->meta->_int_buff_param1, buff->meta->_buff_param4_int_list); } + #endif }); DispatchEvent(kHpChgEvent, {}); }