Модуль:ArmorStats: различия между версиями

Нет описания правки
мНет описания правки
Строка 1: Строка 1:
local p = {}
local p = {}
-- Функция для изменения яркости цвета (уменьшение на 20%)
local function darkenColor(color)
    -- Уменьшаем каждую компоненту RGB на 20%
    local r = math.floor(tonumber(color:sub(2, 3), 16) * 0.8)
    local g = math.floor(tonumber(color:sub(4, 5), 16) * 0.8)
    local b = math.floor(tonumber(color:sub(6, 7), 16) * 0.8)
    -- Собираем новый цвет
    return string.format("#%02x%02x%02x", r, g, b)
end


function p.templateCells(frame)
function p.templateCells(frame)
Строка 36: Строка 26:


     local anchor = frame:preprocess('{{Anchor|' .. anchorName .. '}}')
     local anchor = frame:preprocess('{{Anchor|' .. anchorName .. '}}')
    -- Определяем цвет границы только если задан цвет
    local borderColor = ""
    if color ~= "" then
        borderColor = darkenColor(color)
    end


     -- Формирование строк для ячеек таблицы
     -- Формирование строк для ячеек таблицы
     local out = ""
     local out = ""
     out = out .. '!class="' .. class .. '" style="background-color: ' .. color .. ';border-top: 1px solid ' .. borderColor .. ';border-bottom: 1px solid ' .. borderColor .. ';border-left: 2px solid ' .. borderColor .. ';"|' .. anchor  
     out = out .. '!class="' .. class .. '" style="background-color: ' .. color .. ';"|' .. anchor  
     out = out .. imageTooltip
     out = out .. imageTooltip
     out = out .. '<br>' .. itemName .. '\n'
     out = out .. '<br>' .. itemName .. '\n'