Module:Tier: Difference between revisions
Content deleted Content added
create Rarity module |
make color take priority over link color |
||
(13 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
local |
local p = {} |
||
local function clamp(component) |
local function clamp(component) |
||
Line 10: | Line 10: | ||
local g = (math.floor(num / 0x100) % 0x100) + amt |
local g = (math.floor(num / 0x100) % 0x100) + amt |
||
local b = (num % 0x100) + amt |
local b = (num % 0x100) + amt |
||
return string.format("%#x", clamp(r) * 0x10000 + clamp(g) * 0x100 + clamp(b)) |
return string.format("%#x", clamp(r) * 0x10000 + clamp(g) * 0x100 + clamp(b)):sub(3) |
||
end |
end |
||
local function getColorFromTierString(tierString) |
|||
function package.getColorFromRarityString(rarityString) |
|||
tierString = tierString or "Common" |
|||
return ({ |
return ({ |
||
Layer = "5B5B5B", |
Layer = "5B5B5B", |
||
Line 30: | Line 31: | ||
Empyrean = "D50086", |
Empyrean = "D50086", |
||
Seraphic = "00021B" |
Seraphic = "00021B" |
||
})[ |
})[tierString] |
||
end |
end |
||
function |
function p.tier(frame) |
||
-- Get arguments from calling template |
|||
local |
local arguments = frame.args |
||
local hexCode = package.getColorFromRarityString(rarityString) |
|||
⚫ | |||
local tierString = arguments[1] |
|||
return "<div style=background-color: #" .. hexCode .. "; border: 1px solid #" .. brightHexCode ..">" .. rarityString .. "</div>" |
|||
local hexCode = getColorFromTierString(tierString) |
|||
⚫ | |||
return '[[' .. tierString .. '|' .. '<div style="font-weight: bold; border-radius: 6px; text-align: center; background-color: #' .. hexCode |
|||
.. '; border: 1px solid #'.. brightHexCode |
|||
.. '; color: #' .. brightHexCode |
|||
.. '">' .. tierString .. '</div>]]' |
|||
end |
end |
||
return |
return p |
Latest revision as of 19:35, 22 November 2023
Documentation for this module may be created at Module:Tier/doc
local p = {}
local function clamp(component)
return math.min(math.max(component, 0), 255)
end
local function lightenDarkenColor(col, amt)
local num = tonumber(col, 16)
local r = math.floor(num / 0x10000) + amt
local g = (math.floor(num / 0x100) % 0x100) + amt
local b = (num % 0x100) + amt
return string.format("%#x", clamp(r) * 0x10000 + clamp(g) * 0x100 + clamp(b)):sub(3)
end
local function getColorFromTierString(tierString)
tierString = tierString or "Common"
return ({
Layer = "5B5B5B",
Common = "C1C1C1",
Uncommon = "04B71C",
Rare = "1696F7",
Strange = "FD6933",
Unusual = "CC99FF",
Elite = "B50000",
Wondrous = "6AFF99",
Ascendant = "00B9CE",
Miraculous = "3853FF",
Immaculate = "FFA7E",
Outrageous = "8100B8",
Divine = "59E8FF",
Empyrean = "D50086",
Seraphic = "00021B"
})[tierString]
end
function p.tier(frame)
-- Get arguments from calling template
local arguments = frame.args
local tierString = arguments[1]
local hexCode = getColorFromTierString(tierString)
local brightHexCode = lightenDarkenColor(hexCode, 92)
return '[[' .. tierString .. '|' .. '<div style="font-weight: bold; border-radius: 6px; text-align: center; background-color: #' .. hexCode
.. '; border: 1px solid #'.. brightHexCode
.. '; color: #' .. brightHexCode
.. '">' .. tierString .. '</div>]]'
end
return p