mNo edit summary
mNo edit summary
Line 6: Line 6:
     local tables = 'Commendations'
     local tables = 'Commendations'
     local fields = 'Commendation'
     local fields = 'Commendation'
    local args = {
        where = 'Recipient = "' .. frame.args[1] .. '" AND Commendation LIKE "Highlander %" AND Approved = true'
    }
    local results = cargo.query( tables, fields, args )
    local tattoo_id = 0
    for n = 1, #results do
        if results[r.Commendation] == "Highlander I" then
            tattoo_id = math.max(tattoo_id, 1)
        elseif results[r.Commendation] == "Highlander II" then
            tattoo_id = math.max(tattoo_id, 2)
        elseif results[r.Commendation] == "Highlander III" then
            tattoo_id = math.max(tattoo_id, 3)
        end
    end
    local results = cargo.query( tables, fields, args )


     local args = {
     local args = {
Line 13: Line 32:
     local results = cargo.query( tables, fields, args )
     local results = cargo.query( tables, fields, args )
      
      
     local output = "[[Image:Tattoo.png|frameless|600px]]" .. [[<div style="position:relative;">]]
     local output = "[[Image:Tattoo_" .. tattoo_id .. ".png|frameless|600px]]" .. [[<div style="position:relative;">]]
      
      
     local i = 0
     local i = 0

Revision as of 01:09, 18 November 2022

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

local p = {}
local cargo = mw.ext.cargo

function p.Main( frame )
    local t = {}
    local tables = 'Commendations'
    local fields = 'Commendation'


    local args = {
        where = 'Recipient = "' .. frame.args[1] .. '" AND Commendation LIKE "Highlander %" AND Approved = true'
    }
    local results = cargo.query( tables, fields, args )
    local tattoo_id = 0
    for n = 1, #results do
        if results[r.Commendation] == "Highlander I" then
            tattoo_id = math.max(tattoo_id, 1)
        elseif results[r.Commendation] == "Highlander II" then
            tattoo_id = math.max(tattoo_id, 2)
        elseif results[r.Commendation] == "Highlander III" then
            tattoo_id = math.max(tattoo_id, 3)
        end
    end


    local results = cargo.query( tables, fields, args )

    local args = {
        where = 'Recipient = "' .. frame.args[1] .. '" AND Commendation LIKE "Tattoo:%" AND Approved = true'
    }

    local results = cargo.query( tables, fields, args )
    
    local output = "[[Image:Tattoo_" .. tattoo_id .. ".png|frameless|600px]]" .. [[<div style="position:relative;">]]
    
    local i = 0
    local d = 140
    local r = 30
    -- n = 1, #results
    for n = 1, #results do
        local x = math.cos(math.rad(i*r)) * d
        local y = math.sin(math.rad(i*r)) * d*1.3
        output = output .. [[<span style="position:absolute; margin-top:-310px; margin-left:calc(50% + 0px); left:calc(]] .. x .. [[px - 15px); top:calc(]] .. y .. [[px - 15px);">]].. "[[Image:" .. results[r.Commendation] .. "|30px]]" .. [[</span>]]
        i = i + 1
        if i > (360/r) then
            i = 0
            d = d + 40
            r = r / 1.5
        end          
    end
    return output .. "</div>"
end

return p


Categories: