Формула расчёта траты материала: 1 единичка металла тратится на починку: Hits/Cost*4
То есть на починку полностью нужно потратить (Hits-HitsCurrent)/(Hits/Cost*4) Округлить промежуточно не нужно. Значение не должно быть менее 1.
Но если для починки не хватает металла, то починка происходит частично, либо вообще не происходит. Рекомендую реализовывать итерациями - снимать единичку металла и чинить на значение Hits/Cost*4. Если нужно ещё чинить, то опять снимаем единичку и чиним и так далее.
Пример: Краулер. Hits 24. Cost 36 Пусть у него осталось 2 хита. За итерацию можно починить 24/36*4=2.6666. Соответсвенно нужно 9 итераций (8.25 с округлением в большую) и потратится 9 металла.