там скорее ошибка округления простая, что в принципе даже не бага а фича. К примеру если у тебя 99хп, скидка составит 9.9хп. в итоге у тебя 89.1 хп. Округлим "отбросив дробную часть" - 89 хп. А теперь к 89 добавим 9.9. Получим 98.9. Округлим тем же методом: "отбросив дробную часть" - 98 хп.