diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index a5fa476..8a30de4 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -1069,6 +1069,12 @@ void Human::DecHP(float dec_hp, int killer_id, const std::string& killer_name, i } #endif #endif + { + Buff* buff = GetBuffByEffectId(kBET_Shield); + if (buff) { + dec_hp = std::max((float)1.0, dec_hp - buff->meta->param2); + } + } auto downed_func = [] (const a8::XParams& param) {