Module:Color

This Lua module provides a color lookup system for PokeHero wiki content.

Usage

Use the module in wikitext with:

{{#invoke:Color|color|<keyword>|<colType>}}
  • keyword – the keyword associated with the color: "mental", "physical", etc.
  • colType – the color type you need: "color", "text", etc.

Example

{{#invoke:Color|color|fighting|color}}

This will return the color code for the Fighting type.

Fallback behavior

  • If keyword or colType is not provided → returns Missing keyword or colType.
  • If Module:Color/keywords does not exist → returns Missing Module:Color/keywords.
  • If keyword does not exist → returns <keyword> (missing key in Module:Color/keywords).
  • If keyword exists but not the associated colType → returns <keyword> (missing colType <colType> in Module:Color/keywords).

Extending

  1. Add keys following the format pokehero-color-<keyword> in Module:Color/keywords.

local p = {}

function p.color(frame)
    local keyword = frame.args[1]
    local colType = frame.args[2]
    if not keyword or not colType then
        return "Missing keyword or colType"
    end

    local key = "pokehero-color-" .. keyword
    
    local colTable
    local success, result = pcall(function()
        return mw.loadData("Module:Color/keywords")
    end)
    
    if success and result then
        colTable = result
    else
        return "Missing Module:Color/keywords"
    end

    if colTable[key] then
        if colTable[key][colType] then
            return colTable[key][colType]
        else
            return key .. " (missing colType " .. colType .. " in Module:Color/keywords)"
        end
    else
        return key .. " (missing key in Module:Color/keywords)"
    end
end

return p