Модуль:TableOfChemicals: различия между версиями
мНет описания правки |
мНет описания правки |
||
| Строка 16: | Строка 16: | ||
templateArgs.name = chemPrototype.name | templateArgs.name = chemPrototype.name | ||
templateArgs.description = chemPrototype.desc .. " На вид " .. chemPrototype.physicalDesc .. "." | templateArgs.description = chemPrototype.desc .. " На вид " .. chemPrototype.physicalDesc .. "." | ||
templateArgs.color = chemPrototype. | templateArgs.color = getColor(chemPrototype.id) | ||
templateArgs.textColor = getTextColor(chemPrototype.id) | |||
templateArgs.recipes_count = tablelength(chemPrototype.recipes) | templateArgs.recipes_count = tablelength(chemPrototype.recipes) | ||
| Строка 288: | Строка 289: | ||
end | end | ||
return "" | return "" | ||
end | |||
function getColor(chemPrototypeId) | |||
return mw.text.nowiki(p.chem[chemPrototypeId].color:sub(1, 7)) | |||
end | |||
function getTextColor(chemPrototypeId) | |||
local basecol = p.chem[chemPrototypeId].color | |||
local red = tonumber(basecol:sub(2, 3), 16) | |||
local grn = tonumber(basecol:sub(4, 5), 16) | |||
local blu = tonumber(basecol:sub(6, 7), 16) | |||
local luminance = math.sqrt(0.241*red*red + 0.691*grn*grn + 0.068*blu*blu) | |||
if luminance > 100 then | |||
return mw.text.nowiki("#000") | |||
else | |||
return mw.text.nowiki("#FFF") | |||
end | |||
end | end | ||
-- НЕ МОЕ | -- НЕ МОЕ | ||
return p | return p | ||