Difference between revisions of "Module:Thought"
Jump to navigation
Jump to search
Arcangelus (talk | contribs) m |
Arcangelus (talk | contribs) m (Testing if I can see how args is structured.) |
||
Line 15: | Line 15: | ||
multi = tonumber(args["multi"]) | multi = tonumber(args["multi"]) | ||
value = tonumber(args["value"]) | value = tonumber(args["value"]) | ||
+ | local valores = {} | ||
value2 = args["value2"] | value2 = args["value2"] | ||
value3 = args["value3"] | value3 = args["value3"] | ||
Line 27: | Line 28: | ||
function p._main(desc, label, duration, stack, multi, value, value2, value3, value4, value5, value6, value7, value8, value9) | function p._main(desc, label, duration, stack, multi, value, value2, value3, value4, value5, value6, value7, value8, value9) | ||
− | if value then | + | if not value then |
if value2 then | if value2 then | ||
return p.Thought(args)..'<abbr title="'..desc..'">'..(label:gsub("^%l", string.upper))..'</abbr>'.." [[mood]]" | return p.Thought(args)..'<abbr title="'..desc..'">'..(label:gsub("^%l", string.upper))..'</abbr>'.." [[mood]]" | ||
Line 34: | Line 35: | ||
end | end | ||
else | else | ||
− | return | + | return table.concat(args,",").." T_T " |
end | end | ||
end | end |
Revision as of 15:29, 16 August 2024
Documentation for this module may be created at Module:Thought/doc
local p = {} local getArgs = require('Module:Arguments').getArgs -- "stack, "duration", "multi", "label", "desc", "label" valores_ingresados={"value", "value2", "value3", "value4", "value5", "value6", "value7", "value8", "value9" } function p.Main(frame) local args = getArgs(frame) -- Los valores están en args en la forma { "value" = A, "value2"= B....} -- There must be a better way... This also fails for missing values. desc = tostring(args["desc"]) label = tostring(args["label"]) duration = tostring(args["duration"]) stack = tostring(args["stack"]) multi = tonumber(args["multi"]) value = tonumber(args["value"]) local valores = {} value2 = args["value2"] value3 = args["value3"] value4 = args["value4"] value5 = args["value5"] value6 = args["value6"] value7 = args["value7"] value8 = args["value8"] value9 = args["value9"] return p._main(desc, label, duration, stack, multi, value, value2, value3, value4, value5, value6, value7, value8, value9) end function p._main(desc, label, duration, stack, multi, value, value2, value3, value4, value5, value6, value7, value8, value9) if not value then if value2 then return p.Thought(args)..'<abbr title="'..desc..'">'..(label:gsub("^%l", string.upper))..'</abbr>'.." [[mood]]" else return '<abbr title="'..p.stacks(args)..'"> '..'<abbr title="'..desc..'">'..(label:gsub("^%l", string.upper))..'</abbr>'.." [[mood]]" end else return table.concat(args,",").." T_T " end end function p.Thought(args)--This is just the value section. local valores_buscados={} for i, j in ipairs(valores_ingresados) do local vx = valores_ingresados[i] local vy = "" if vx then -- Not a nil if tonumber(vx) then --A number if tonumber(vx)<0 then vy='<b><font color="firebrick">'..vx.."</font></b>" else vy='<b><font color="forestgreen">'..vx.."</font></b>" end else vy='<b>'..vx.."</b>" --The idea is to prevent a hard to track error end valores_buscados[#valores_buscados+1]=vx end end return "<b>"..table.concat(valores_buscados,"<b>/</b>").."</b>" end function p.stacks(args)--This is just the stacking section. if stack then local va= "Stacking "..stack.."times " if multi == 1 then text= "for a maximum of "..tostring(value*stack) else text= "with a "..multi.." multiplier for maximum of "..tostring(value*( 1 - multi^stack)/(1 - multi)) end return va..text else if multi == 1 then --What about a mult above 1? text = "Stacking infinitely" else text = "Stacking with a "..multi.." multiplier for maximum of "..tostring(value*( 1 - multi^100)/(1 - multi) ) end return text end end return p