模块:HanaParts

来自乐园数据管理室

此模块的文档可以在模块:HanaParts/doc创建

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

function p.installableTable(frame)
  local args = getArgs(frame)
  local JS, JK, JD

  if args["JS"] == "TRUE" then
    JS = "✔"
  elseif args["JS"] == "FALSE" then
    JS = "✘"
  end

  if args["JK"] == "TRUE" then
    JK = "✔"
  elseif args["JK"] == "FALSE" then
    JK = "✘"
  end
  if args["JD"] == "TRUE" then
    JD = "✔"
  elseif args["JD"] == "FALSE" then
    JD = "✘"
  end

  mw.smw.set {
    ["JS"] = {JS},
    ["JK"] = {JK},
    ["JD"] = {JD}
  }

  return mw.ustring.format(
    [[! %s !! %s !! %s
|-
|style="text-align:center;"| %s
|style="text-align:center;"| %s
|style="text-align:center;"| %s
]],
    "[[异刃:花JS|JS]]",
    "[[异刃:花JK|JK]]",
    "[[异刃:花JD|JD]]",
    JS,
    JK,
    JD
  )
end

function p.statRev(frame)
  local args = getArgs(frame)
  local statList = {"最大HP修正", "力量修正", "以太力修正", "灵巧修正", "敏捷修正", "运气修正"}

  for key, value in ipairs(statList) do
    if args[value] ~= "0" then
      mw.smw.set {[value] = {args[value] .. "%"}}
      local stat = value .. args[value] .. "%"
      return mw.ustring.format([[|colspan="3"| %s
      ]], stat)
    end
  end

  return
end

function p.changeModel(frame)
  local args = getArgs(frame)

  if args["外观变更"] then
    mw.smw.set {["外观变更"] = {args["外观变更"]}}
    return mw.ustring.format([[|-
      | %s
      |colspan="3"| %s
      ]], "[[外观变更道具|角色外观变更]]", "[[" .. args["外观变更"] .. "]]")
  end

  return
end

function p.manufacture(frame)
  local args = getArgs(frame)
  local title
  if args["技术书"] then
    if args["技术书"] == "无" then
      title = "无需技术书"
      mw.smw.set {["技术书"] = "无"}
    else
      title = mw.title.new(args["技术书"], "物品")
      mw.smw.set {["技术书"] = {title.fullText}}
      title = "[[" .. title.fullText .. "|" .. title.text .. "]]"
    end

    return mw.ustring.format([[{| class="wikitable"
|-
! 零件制作 !! 以太结晶
|-
| %s || %s
|}]], title, args["所需以太结晶"])
  end

  return
end

return p