diff --git a/server/gameserver/buff/callfunc.cc b/server/gameserver/buff/callfunc.cc index 1520c47d..e288b4a8 100644 --- a/server/gameserver/buff/callfunc.cc +++ b/server/gameserver/buff/callfunc.cc @@ -154,7 +154,8 @@ void CallFuncBuff::Activate() break; case BuffCallFunc_e::kRefreshHp: { - owner->SetHP(owner->GetMaxHP()); + owner->SetMaxHP(owner->GetBattleContext()->GetMaxHP()); + owner->SetHP(owner->GetBattleContext()->GetMaxHP()); owner->room->frame_event.AddHpChg(owner->GetWeakPtrRef()); } break; diff --git a/server/gameserver/buff/modify_base_attr.cc b/server/gameserver/buff/modify_base_attr.cc index 6a500894..1200ade9 100644 --- a/server/gameserver/buff/modify_base_attr.cc +++ b/server/gameserver/buff/modify_base_attr.cc @@ -16,12 +16,12 @@ void ModifyBaseAttrBuff::Activate() switch (meta->_int_buff_param4) { case 1: { - abs_handle_ = owner->GetAbility()->AddAttrAbs(attr_id, value); + rate_handle_ = owner->GetAbility()->AddAttrRate(attr_id, value); } break; case 2: { - rate_handle_ = owner->GetAbility()->AddAttrRate(attr_id, value); + abs_handle_ = owner->GetAbility()->AddAttrAbs(attr_id, value); } break; default: