模块:Enemy

来自乐园数据管理室
ヒカリ​(留言 | 贡献)2018年12月20日 (四) 17:18的版本

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

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

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

  local questRow
  if (args["关联任务ID"]) then
    local query = mw.ustring.format("[[任务ID::%s]]", args["关联任务ID"])
    local related_quest = mw.smw.ask(query)
    related_quest = related_quest and related_quest[1]
    questRow = related_quest and mw.ustring.format([[|-
    | 关联任务 || %s]], related_quest[1])
  end

  -- 任务敌人
  if (args["分类"] == "任务敌人" and questRow) then
    return questRow
  end

  -- 剧情敌人
  if (args["分类"] == "主线剧情敌人") then
    return mw.ustring.format([[|-
      | 地域 || %s]], args["所在地区"])
  end

  -- 普通敌人、珍稀种、黄金国敌人等其他敌人
  local position = ""
  if (args["位置"]) then
    position = string.gsub(args["位置"], "%s*%p%s*", "<br>")
  end

  questRow = questRow and "\n" .. questRow or ""
  return mw.ustring.format(
    [[|-
      | 地域 || %s
      |-
      | 位置 || %s
      |-
      | 天气要求 || %s
      |-
      | 剧情进度 || %s]] ..
      questRow,
    args["所在地区"],
    position,
    args["天气要求"] or "-",
    args["剧情进度"] or "-"
  )
end

return p