Уменьшения урона от огня

Есть часть кода:

hook.Add("EntityTakeDamage", "SuitDamageReduction", function(target, dmginfo)
    if not IsValid(target) or not target:IsPlayer() then return end

    local hasSuit = target:GetPData("hasSuit", "0") == "1"
    if not hasSuit then return end

    local dmgType = dmginfo:GetDamageType()
    local damage = dmginfo:GetDamage()

    -- Коэффициенты уменьшения урона для разных типов
    local bulletReduction = 0.01 -- Пули
    local fireReduction = 0.01 -- Огонь
    local shockReduction = 0.01 -- Электричество
    local blastReduction = 0.01 -- Взрыв

    if bit.band(dmgType, DMG_BULLET) ~= 0 then
        dmginfo:SetDamage(damage * bulletReduction)
    elseif bit.band(dmgType, DMG_FIRE) ~= 0 then
        dmginfo:SetDamage(damage * fireReduction)
    elseif bit.band(dmgType, DMG_SHOCK) ~= 0 then
        dmginfo:SetDamage(damage * shockReduction)
    elseif bit.band(dmgType, DMG_BLAST) ~= 0 then
        dmginfo:SetDamage(damage * blastReduction)
    end
end)

Так вот при уроне огнем не снижается нанесенный урон, а в консоле ошибка -

 addons/bronka/lua/entities/seva.lua:84: bad argument #2 to 'band' (number expected, got nil)
    1. band - [C]:-1
        2. v - addons/bronka/lua/entities/seva.lua:84
            3. unknown - lua/includes/modules/hook.lua:102

Помогите решить вопросик)

Перестаньте пользоваться ChatGPT и вдумайтесь что у вас не так.

Подсказка :

Если бы я мог сам это исправить - не просил помощи просто не понимаю как это реализовать.

1 лайк