diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index d3f4329..7e7fee6 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -519,7 +519,9 @@ void Human::DecHP(float dec_hp, int killer_id, const std::string& killer_name, i { if (energy_shield > 0.001f) { energy_shield = std::max(0.0f, energy_shield - dec_hp); - RemoveBuffByEffectId(kBET_Shield); + if (energy_shield < 0.001f) { + RemoveBuffByEffectId(kBET_Shield); + } } else { float old_health = GetHP(); ability.hp = std::max(0.0f, GetHP() - dec_hp);