Module:ItemEffect: Difference between revisions

From He is Coming Official Wiki
Benjiminio (talk | contribs)
mNo edit summary
Benjiminio (talk | contribs)
mNo edit summary
 
Line 1: Line 1:
local p = {}
local p = {}


-- Require your existing ColorText module
-- Require the ColorText module using full path
local color = require("He_is_Coming/ColorText")
local color = require("Module:He_is_Coming/ColorText")


-- Fetch the 'effect' parameter from the Infobox template of an item
-- Fetch the 'effect' parameter from the item's infobox template
function p.main(frame)
function p.main(frame)
     local itemName = frame.args[1] or ""
     local itemName = frame.args[1] or ""
Line 11: Line 11:
     end
     end


     -- Build the template frame name
     -- Attempt to get the content of the item's template
     local templateName = "Template:" .. itemName
     local templateName = "Template:" .. itemName
     local templateFrame = mw.getContentFrame(templateName)
     local templateFrame = mw.getContentFrame(templateName)
Line 18: Line 18:
     end
     end


     -- Attempt to get the 'effect' parameter from the template
     -- Get the 'effect' parameter
     local effectText = templateFrame:getParameter("effect") or ""
     local effectText = templateFrame:getParameter("effect") or ""
     if effectText == "" then
     if effectText == "" then
         return "Effect not found on item page"
         return "Effect not found on item page"
     end
     end


     -- Pass effect text to ColorText for keyword highlighting
     -- Pass effect text to ColorText module for keyword highlighting
    -- ColorText expects a table with args[1] containing the text
     return color.main({ args = { effectText } })
     return color.main({ args = { effectText } })
end
end


return p
return p

Latest revision as of 11:41, 14 November 2025

Documentation for this module may be created at Module:ItemEffect/doc

local p = {}

-- Require the ColorText module using full path
local color = require("Module:He_is_Coming/ColorText")

-- Fetch the 'effect' parameter from the item's infobox template
function p.main(frame)
    local itemName = frame.args[1] or ""
    if itemName == "" then
        return "Error: no item specified"
    end

    -- Attempt to get the content of the item's template
    local templateName = "Template:" .. itemName
    local templateFrame = mw.getContentFrame(templateName)
    if not templateFrame then
        return "Error: item page or template not found"
    end

    -- Get the 'effect' parameter
    local effectText = templateFrame:getParameter("effect") or ""
    if effectText == "" then
        return "Effect not found on item page"
    end

    -- Pass effect text to ColorText module for keyword highlighting
    -- ColorText expects a table with args[1] containing the text
    return color.main({ args = { effectText } })
end

return p