Module:Test2: Difference between revisions

From Elwiki
No edit summary
(Bot: Automated import of articles *** existing text overwritten ***)
 
(43 intermediate revisions by the same user not shown)
Line 1: Line 1:
require('Module:CommonFunctions')
local getArgs = require('Module:Arguments').getArgs
local p = {}
local p = {}


function p.Patch(frame)
function p.main(frame)
  local origTemplateRaw = frame.args.orig
    local args = getArgs(frame);
  local origTemplate = mw.text.unstrip(origTemplateRaw)
    local headers = {}
  local newArgs = {}
    local cells = {}
  for k, v in pairs(frame.args) do
 
    if k ~= "orig" then
    function getBuffData()
      newArgs[k] = v
        local output = {}
        for key, value in pairs(args) do
            if string.starts(key, 'buff') then
               
            end
        end
     end
     end
  end
  -- Extract the old arguments from the orig template
  local oldArgs = {}
  string.gsub(origTemplate, "%|%s*(%w+)%s*=%s*(.-)%s*", function(k, v)
    oldArgs[k] = v
  end)
  -- Merge the old and new arguments
  local mergedArgs = {}
  for k, v in pairs(oldArgs) do
    mergedArgs[k] = v
  end
  for k, v in pairs(newArgs) do
    mergedArgs[k] = v
  end
  -- Create the new template string with the merged arguments
  local newTemplate = "{{" .. string.match(origTemplate, "{{%s*(.-)%s*}}") .. "|"
  for k, v in pairs(mergedArgs) do
    newTemplate = newTemplate .. k .. "=" .. v .. "|"
  end
  newTemplate = newTemplate:sub(1, -2) .. "}}"


  -- Expand the new template
    local TRAITS = {
  local newTemplateExpanded = frame:expandTemplate{ title = mw.title.getCurrentTitle().text, args = mw.text.split(newTemplate, "|", true) }
        {
            name = 'Light',
            details = {
                mp = 80
            }
        },
        {
            name = 'Critical',
            details = {
                mp = 120
            },
            extra_data = (function()
                if inArrayStarts('def_ignore', args) then
                    return {
                        def_ignore = 150
                    }
                else return nil end
            end)
        },
        {
            name = 'Reversed',
            details = {
                mp = 60,
                cd = 150
            }
        },
        {
            name = 'Heavy',
            details = {
                cd = 120
            }
        },
        {
            name = 'Haste',
            details = {
                cd = 80
            }
        },
        {
            name = 'Regenerating (1)',
            details = {
                mp = 50
            },
            extra_data = {
                chance = 50
            }
        },
        {
            name = 'Regenerating (2)',
            details = {
                cd = 50
            },
            extra_data = {
                chance = 50
            }
        },
        {
            name = 'Killing Blow (1)',
            details = {
               
            }
        }
    }


  return newTemplateExpanded
    return inspect_dump(frame, headers)
end
end


return p
return p

Latest revision as of 11:36, 7 May 2023

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

require('Module:CommonFunctions')
local getArgs = require('Module:Arguments').getArgs
local p = {}

function p.main(frame)
    local args = getArgs(frame);
    local headers = {}
    local cells = {}

    function getBuffData()
        local output = {}
        for key, value in pairs(args) do
            if string.starts(key, 'buff') then
                
            end
        end
    end

    local TRAITS = {
        {
            name = 'Light',
            details = {
                mp = 80
            }
        },
        {
            name = 'Critical',
            details = {
                mp = 120
            },
            extra_data = (function()
                if inArrayStarts('def_ignore', args) then
                    return {
                        def_ignore = 150
                    }
                else return nil end
            end)
        },
        {
            name = 'Reversed',
            details = {
                mp = 60,
                cd = 150
            }
        },
        {
            name = 'Heavy',
            details = {
                cd = 120
            }
        },
        {
            name = 'Haste',
            details = {
                cd = 80
            }
        },
        {
            name = 'Regenerating (1)',
            details = {
                mp = 50
            },
            extra_data = {
                chance = 50
            }
        },
        {
            name = 'Regenerating (2)',
            details = {
                cd = 50
            },
            extra_data = {
                chance = 50
            }
        },
        {
            name = 'Killing Blow (1)',
            details = {
                
            }
        }
    }

    return inspect_dump(frame, headers)
end

return p