Модуль:Песочница/Pok: различия между версиями

мНет описания правки
мНет описания правки
Строка 34: Строка 34:
         end
         end


         local twoHandDamage = entry.DamageOtherOnHit  
        -- Определяем дополнительный урон для двуручного хвата:
                                and entry.DamageOtherOnHit.damage  
        -- проверяем поля IncreaseDamageOnWield или DamageOtherOnHit
                                and entry.DamageOtherOnHit.damage.types
         local additionalDamage = nil
        if entry.IncreaseDamageOnWield and entry.IncreaseDamageOnWield.damage then
            additionalDamage = entry.IncreaseDamageOnWield.damage.types
        elseif entry.DamageOtherOnHit and entry.DamageOtherOnHit.damage then
            additionalDamage = entry.DamageOtherOnHit.damage.types
        end


         local lines = {}
         local lines = {}


         if twoHandDamage then
         -- Секция одноручного хвата
            -- Секция для одноручного хвата
        table.insert(lines, "В одноручном хвате:")
            table.insert(lines, "В одноручном хвате:")
        for dmgType, value in pairs(oneHandDamage) do
            table.insert(lines, value .. " " .. dmgType)
        end
 
        -- Если дополнительный урон присутствует, суммируем его с базовым
        if additionalDamage then
            local twoHandDamage = {}
            -- Копируем базовые повреждения
             for dmgType, value in pairs(oneHandDamage) do
             for dmgType, value in pairs(oneHandDamage) do
                 table.insert(lines, value .. " " .. dmgType)
                 twoHandDamage[dmgType] = value
            end
            -- Добавляем дополнительный урон
            for dmgType, addValue in pairs(additionalDamage) do
                if twoHandDamage[dmgType] then
                    twoHandDamage[dmgType] = twoHandDamage[dmgType] + addValue
                else
                    twoHandDamage[dmgType] = addValue
                end
             end
             end


            -- Секция для двуручного хвата
             table.insert(lines, "В двуручном хвате:")
             table.insert(lines, "В двуручном хвате:")
             for dmgType, value in pairs(twoHandDamage) do
             for dmgType, value in pairs(twoHandDamage) do
                table.insert(lines, value .. " " .. dmgType)
            end
        else
            for dmgType, value in pairs(oneHandDamage) do
                 table.insert(lines, value .. " " .. dmgType)
                 table.insert(lines, value .. " " .. dmgType)
             end
             end