模块:Weapon:修订间差异

来自乐园数据管理室
ヒカリ​(留言 | 贡献)
创建页面,内容为“local p = {} -- local getArgs = require("Module:Arguments").getArgs local JUSTRANGE = { ["圣杯之剑"] = { ["Role"] = "攻击", ["JustRangeMin"] = 3,…”
 
ヒカリ​(留言 | 贡献)
无编辑摘要
 
(未显示同一用户的1个中间版本)
第1行: 第1行:
local p = {}
local p = {}
local Driver = require("Module:Driver")
local html = require("Module:Html")
-- local getArgs = require("Module:Arguments").getArgs
-- local getArgs = require("Module:Arguments").getArgs


local JUSTRANGE = {
local weaponInfo = {
   ["圣杯之剑"] = {
   ["圣杯之剑"] = {
     ["Role"] = "攻击",
     ["Role"] = {"攻击"},
     ["JustRangeMin"] = 3,
     ["JustRangeMin"] = 3,
     ["JustRangeMax"] = 7
     ["JustRangeMax"] = 7,
    ID = 1
   },
   },
   ["弯刀"] = {
   ["弯刀"] = {
     ["Role"] = "回复",
     ["Role"] = {"回复"},
     ["JustRangeMin"] = 3,
     ["JustRangeMin"] = 3,
     ["JustRangeMax"] = 7
     ["JustRangeMax"] = 7,
    ID = 2
   },
   },
   ["双环刃"] = {
   ["双环刃"] = {
     ["Role"] = "回复",
     ["Role"] = {"回复"},
     ["JustRangeMin"] = 2,
     ["JustRangeMin"] = 2,
     ["JustRangeMax"] = 8
     ["JustRangeMax"] = 8,
    ID = 3
   },
   },
   ["花之盾"] = {
   ["花之盾"] = {
     ["Role"] = "防御",
     ["Role"] = {"防御", "回复"},
     ["JustRangeMin"] = 0,
     ["JustRangeMin"] = 0,
     ["JustRangeMax"] = 4
     ["JustRangeMax"] = 4,
    ID = 4
   },
   },
   ["花之臂"] = {
   ["花之臂"] = {
     ["Role"] = "防御",
     ["Role"] = {"攻击", "防御"},
     ["JustRangeMin"] = 0,
     ["JustRangeMin"] = 0,
     ["JustRangeMax"] = 4
     ["JustRangeMax"] = 4,
    ID = 5
   },
   },
   ["花之佩剑"] = {
   ["花之佩剑"] = {
     ["Role"] = "防御",
     ["Role"] = {"攻击", "防御", "回复"},
     ["JustRangeMin"] = 0,
     ["JustRangeMin"] = 0,
     ["JustRangeMax"] = 6
     ["JustRangeMax"] = 6,
    ID = 6
   },
   },
   ["军刀"] = {
   ["军刀"] = {
     ["Role"] = "防御",
     ["Role"] = {"防御"},
     ["JustRangeMin"] = 0,
     ["JustRangeMin"] = 0,
     ["JustRangeMax"] = 6
     ["JustRangeMax"] = 6,
    ID = 7
   },
   },
   ["大剑"] = {
   ["大剑"] = {
     ["Role"] = "攻击",
     ["Role"] = {"攻击"},
     ["JustRangeMin"] = 4,
     ["JustRangeMin"] = 4,
     ["JustRangeMax"] = 8
     ["JustRangeMax"] = 8,
    ID = 8
   },
   },
   ["双镰刀"] = {
   ["双镰刀"] = {
     ["Role"] = "攻击",
     ["Role"] = {"攻击"},
     ["JustRangeMin"] = 2,
     ["JustRangeMin"] = 2,
     ["JustRangeMax"] = 6
     ["JustRangeMax"] = 6,
    ID = 9
   },
   },
   ["战斧"] = {
   ["战斧"] = {
     ["Role"] = "攻击",
     ["Role"] = {"攻击"},
     ["JustRangeMin"] = 3,
     ["JustRangeMin"] = 3,
     ["JustRangeMax"] = 7
     ["JustRangeMax"] = 7,
    ID = 10
   },
   },
   ["长枪"] = {
   ["长枪"] = {
     ["Role"] = "攻击",
     ["Role"] = {"攻击"},
     ["JustRangeMin"] = 5,
     ["JustRangeMin"] = 5,
     ["JustRangeMax"] = 10
     ["JustRangeMax"] = 10,
    ID = 11
   },
   },
   ["以太巨炮"] = {
   ["以太巨炮"] = {
     ["Role"] = "攻击",
     ["Role"] = {"攻击"},
     ["JustRangeMin"] = 10,
     ["JustRangeMin"] = 10,
     ["JustRangeMax"] = 20
     ["JustRangeMax"] = 20,
    ID = 12
   },
   },
   ["战锤"] = {
   ["战锤"] = {
     ["Role"] = "防御",
     ["Role"] = {"防御"},
     ["JustRangeMin"] = 0,
     ["JustRangeMin"] = 0,
     ["JustRangeMax"] = 4
     ["JustRangeMax"] = 4,
    ID = 13
   },
   },
   ["刀"] = {
   ["刀"] = {
     ["Role"] = "防御",
     ["Role"] = {"防御"},
     ["JustRangeMin"] = 0,
     ["JustRangeMin"] = 0,
     ["JustRangeMax"] = 6
     ["JustRangeMax"] = 6,
    ID = 14
   },
   },
   ["弹击球"] = {
   ["弹击球"] = {
     ["Role"] = "回复",
     ["Role"] = {"回复"},
     ["JustRangeMin"] = 5,
     ["JustRangeMin"] = 5,
     ["JustRangeMax"] = 15
     ["JustRangeMax"] = 15,
    ID = 15
   },
   },
   ["钩爪拳套"] = {
   ["钩爪拳套"] = {
     ["Role"] = "回复",
     ["Role"] = {"回复"},
     ["JustRangeMin"] = 0,
     ["JustRangeMin"] = 0,
     ["JustRangeMax"] = 4
     ["JustRangeMax"] = 4,
    ID = 16
   },
   },
   ["自制剑"] = {
   ["自制剑"] = {
     ["Role"] = "攻击",
     ["Role"] = {"攻击"},
     ["JustRangeMin"] = 3,
     ["JustRangeMin"] = 3,
     ["JustRangeMax"] = 7
     ["JustRangeMax"] = 7,
    ID = 17
   },
   },
   ["太刀"] = {
   ["太刀"] = {
     ["Role"] = "攻击",
     ["Role"] = {"攻击"},
     ["JustRangeMin"] = 2,
     ["JustRangeMin"] = 2,
     ["JustRangeMax"] = 8
     ["JustRangeMax"] = 8,
    ID = 18
   },
   },
   ["大镰"] = {
   ["大镰"] = {
     ["Role"] = "回复",
     ["Role"] = {"回复"},
     ["JustRangeMin"] = 3,
     ["JustRangeMin"] = 3,
     ["JustRangeMax"] = 7
     ["JustRangeMax"] = 7,
    ID = 20
   },
   },
   ["长刀"] = {
   ["长刀"] = {
     ["Role"] = "攻击",
     ["Role"] = {"攻击"},
     ["JustRangeMin"] = 5,
     ["JustRangeMin"] = 5,
     ["JustRangeMax"] = 10
     ["JustRangeMax"] = 10,
    ID = 21
   },
   },
   ["扇"] = {
   ["扇"] = {
     ["Role"] = "防御",
     ["Role"] = {"防御"},
     ["JustRangeMin"] = 0,
     ["JustRangeMin"] = 0,
     ["JustRangeMax"] = 8
     ["JustRangeMax"] = 8,
    ID = 22
   },
   },
   ["小太刀"] = {
   ["小太刀"] = {
     ["Role"] = "攻击",
     ["Role"] = {"攻击"},
     ["JustRangeMin"] = 2,
     ["JustRangeMin"] = 2,
     ["JustRangeMax"] = 8
     ["JustRangeMax"] = 8,
    ID = 23
   },
   },
   ["大炮"] = {
   ["大炮"] = {
     ["Role"] = "攻击",
     ["Role"] = {"攻击"},
     ["JustRangeMin"] = 10,
     ["JustRangeMin"] = 10,
     ["JustRangeMax"] = 20
     ["JustRangeMax"] = 20,
    ID = 24
   },
   },
   ["手甲"] = {
   ["手甲"] = {
     ["Role"] = "防御",
     ["Role"] = {"防御"},
     ["JustRangeMin"] = 0,
     ["JustRangeMin"] = 0,
     ["JustRangeMax"] = 4
     ["JustRangeMax"] = 4,
    ID = 25
   },
   },
   ["旋棍"] = {
   ["旋棍"] = {
     ["Role"] = "防御",
     ["Role"] = {"防御"},
     ["JustRangeMin"] = 0,
     ["JustRangeMin"] = 0,
     ["JustRangeMax"] = 4
     ["JustRangeMax"] = 4,
  },
     ID = 26
  ["结绳"] = {
    ["Role"] = "攻击",
    ["JustRangeMin"] = 0,
    ["JustRangeMax"] = 4
  },
  ["长剑"] = {
    ["Role"] = "防御",
    ["JustRangeMin"] = 0,
     ["JustRangeMax"] = 4
   },
   },
   ["锡杖"] = {
   ["锡杖"] = {
     ["Role"] = "回复",
     ["Role"] = {"回复"},
     ["JustRangeMin"] = 2,
     ["JustRangeMin"] = 2,
     ["JustRangeMax"] = 6
     ["JustRangeMax"] = 6,
    ID = 31
   },
   },
   ["枪刀"] = {
   ["枪刀"] = {
     ["Role"] = "攻击",
     ["Role"] = {"攻击"},
     ["JustRangeMin"] = 0,
     ["JustRangeMin"] = 0,
     ["JustRangeMax"] = 8
     ["JustRangeMax"] = 8,
    ID = 32
   },
   },
   ["莫纳德"] = {
   ["莫纳德"] = {
     ["Role"] = "攻击",
     ["Role"] = {"攻击"},
     ["JustRangeMin"] = 2,
     ["JustRangeMin"] = 2,
     ["JustRangeMax"] = 6
     ["JustRangeMax"] = 6,
    ID = 33
   },
   },
   ["小刀"] = {
   ["小刀"] = {
     ["Role"] = "回复",
     ["Role"] = {"回复"},
     ["JustRangeMin"] = 0,
     ["JustRangeMin"] = 0,
     ["JustRangeMax"] = 4
     ["JustRangeMax"] = 4,
    ID = 34
   },
   },
   ["双剑"] = {
   ["双剑"] = {
     ["Role"] = "攻击",
     ["Role"] = {"攻击"},
     ["JustRangeMin"] = 0,
     ["JustRangeMin"] = 0,
     ["JustRangeMax"] = 4
     ["JustRangeMax"] = 4,
    ID = 35
   },
   },
   ["打刀"] = {
   ["打刀"] = {
     ["Role"] = "防御",
     ["Role"] = {"防御"},
     ["JustRangeMin"] = 0,
     ["JustRangeMin"] = 0,
     ["JustRangeMax"] = 6
     ["JustRangeMax"] = 6,
    ID = 36
   }
   }
}
}
function p.weaponTypePageHeader()
  local title = mw.title.getCurrentTitle()
  title = tostring(title)
  local justRange = mw.ustring.format("%d ~ %d", weaponInfo[title]["JustRangeMin"], weaponInfo[title]["JustRangeMax"])
  mw.smw.set {
    ["JustRange"] = {justRange},
    ["战斗类别"] = weaponInfo[title]["Role"]
  }
  return mw.ustring.format(
    [[{| class="wikitable"
    |-
    ! 战斗类别 !! JustRange
    |-
    | %s || %s
    |}]],
    table.concat(weaponInfo[title]["Role"], "、"),
    justRange
  )
end
function p.showArts()
  local title = mw.title.getCurrentTitle()
  title = tostring(title)
  local WpnId = weaponInfo[title].ID
  local DriverList = {
    "莱克斯",
    "尼娅",
    "齐格",
    "虎",
    "凡达姆",
    "梅勒芙",
    [20] = "真",
    [21] = "霞",
    [22] = "光",
    [23] = "米诺奇",
    [24] = "迦具土",
    [25] = "绵津见"
  }
  local out = ""
  for driverId, driverName in pairs(DriverList) do
    local queryResult = Driver.getArtsByDriverIdAndWpnType(driverId, WpnId)
    if #queryResult > 0 then
      local ns = ""
      if driverId >= 20 then
        out = out .. html.h3("[[黄金之国伊拉:" .. driverName .. "]]")
      else
        out = out .. html.h3("[[" .. driverName .. "]]")
      end
      out = out .. Driver.outputArtsSection(Driver.formatArtsData(queryResult), WpnId)
    end
  end
  return out
end


return p
return p

2020年4月21日 (二) 20:47的最新版本

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

local p = {}
local Driver = require("Module:Driver")
local html = require("Module:Html")
-- local getArgs = require("Module:Arguments").getArgs

local weaponInfo = {
  ["圣杯之剑"] = {
    ["Role"] = {"攻击"},
    ["JustRangeMin"] = 3,
    ["JustRangeMax"] = 7,
    ID = 1
  },
  ["弯刀"] = {
    ["Role"] = {"回复"},
    ["JustRangeMin"] = 3,
    ["JustRangeMax"] = 7,
    ID = 2
  },
  ["双环刃"] = {
    ["Role"] = {"回复"},
    ["JustRangeMin"] = 2,
    ["JustRangeMax"] = 8,
    ID = 3
  },
  ["花之盾"] = {
    ["Role"] = {"防御", "回复"},
    ["JustRangeMin"] = 0,
    ["JustRangeMax"] = 4,
    ID = 4
  },
  ["花之臂"] = {
    ["Role"] = {"攻击", "防御"},
    ["JustRangeMin"] = 0,
    ["JustRangeMax"] = 4,
    ID = 5
  },
  ["花之佩剑"] = {
    ["Role"] = {"攻击", "防御", "回复"},
    ["JustRangeMin"] = 0,
    ["JustRangeMax"] = 6,
    ID = 6
  },
  ["军刀"] = {
    ["Role"] = {"防御"},
    ["JustRangeMin"] = 0,
    ["JustRangeMax"] = 6,
    ID = 7
  },
  ["大剑"] = {
    ["Role"] = {"攻击"},
    ["JustRangeMin"] = 4,
    ["JustRangeMax"] = 8,
    ID = 8
  },
  ["双镰刀"] = {
    ["Role"] = {"攻击"},
    ["JustRangeMin"] = 2,
    ["JustRangeMax"] = 6,
    ID = 9
  },
  ["战斧"] = {
    ["Role"] = {"攻击"},
    ["JustRangeMin"] = 3,
    ["JustRangeMax"] = 7,
    ID = 10
  },
  ["长枪"] = {
    ["Role"] = {"攻击"},
    ["JustRangeMin"] = 5,
    ["JustRangeMax"] = 10,
    ID = 11
  },
  ["以太巨炮"] = {
    ["Role"] = {"攻击"},
    ["JustRangeMin"] = 10,
    ["JustRangeMax"] = 20,
    ID = 12
  },
  ["战锤"] = {
    ["Role"] = {"防御"},
    ["JustRangeMin"] = 0,
    ["JustRangeMax"] = 4,
    ID = 13
  },
  ["刀"] = {
    ["Role"] = {"防御"},
    ["JustRangeMin"] = 0,
    ["JustRangeMax"] = 6,
    ID = 14
  },
  ["弹击球"] = {
    ["Role"] = {"回复"},
    ["JustRangeMin"] = 5,
    ["JustRangeMax"] = 15,
    ID = 15
  },
  ["钩爪拳套"] = {
    ["Role"] = {"回复"},
    ["JustRangeMin"] = 0,
    ["JustRangeMax"] = 4,
    ID = 16
  },
  ["自制剑"] = {
    ["Role"] = {"攻击"},
    ["JustRangeMin"] = 3,
    ["JustRangeMax"] = 7,
    ID = 17
  },
  ["太刀"] = {
    ["Role"] = {"攻击"},
    ["JustRangeMin"] = 2,
    ["JustRangeMax"] = 8,
    ID = 18
  },
  ["大镰"] = {
    ["Role"] = {"回复"},
    ["JustRangeMin"] = 3,
    ["JustRangeMax"] = 7,
    ID = 20
  },
  ["长刀"] = {
    ["Role"] = {"攻击"},
    ["JustRangeMin"] = 5,
    ["JustRangeMax"] = 10,
    ID = 21
  },
  ["扇"] = {
    ["Role"] = {"防御"},
    ["JustRangeMin"] = 0,
    ["JustRangeMax"] = 8,
    ID = 22
  },
  ["小太刀"] = {
    ["Role"] = {"攻击"},
    ["JustRangeMin"] = 2,
    ["JustRangeMax"] = 8,
    ID = 23
  },
  ["大炮"] = {
    ["Role"] = {"攻击"},
    ["JustRangeMin"] = 10,
    ["JustRangeMax"] = 20,
    ID = 24
  },
  ["手甲"] = {
    ["Role"] = {"防御"},
    ["JustRangeMin"] = 0,
    ["JustRangeMax"] = 4,
    ID = 25
  },
  ["旋棍"] = {
    ["Role"] = {"防御"},
    ["JustRangeMin"] = 0,
    ["JustRangeMax"] = 4,
    ID = 26
  },
  ["锡杖"] = {
    ["Role"] = {"回复"},
    ["JustRangeMin"] = 2,
    ["JustRangeMax"] = 6,
    ID = 31
  },
  ["枪刀"] = {
    ["Role"] = {"攻击"},
    ["JustRangeMin"] = 0,
    ["JustRangeMax"] = 8,
    ID = 32
  },
  ["莫纳德"] = {
    ["Role"] = {"攻击"},
    ["JustRangeMin"] = 2,
    ["JustRangeMax"] = 6,
    ID = 33
  },
  ["小刀"] = {
    ["Role"] = {"回复"},
    ["JustRangeMin"] = 0,
    ["JustRangeMax"] = 4,
    ID = 34
  },
  ["双剑"] = {
    ["Role"] = {"攻击"},
    ["JustRangeMin"] = 0,
    ["JustRangeMax"] = 4,
    ID = 35
  },
  ["打刀"] = {
    ["Role"] = {"防御"},
    ["JustRangeMin"] = 0,
    ["JustRangeMax"] = 6,
    ID = 36
  }
}

function p.weaponTypePageHeader()
  local title = mw.title.getCurrentTitle()
  title = tostring(title)

  local justRange = mw.ustring.format("%d ~ %d", weaponInfo[title]["JustRangeMin"], weaponInfo[title]["JustRangeMax"])

  mw.smw.set {
    ["JustRange"] = {justRange},
    ["战斗类别"] = weaponInfo[title]["Role"]
  }

  return mw.ustring.format(
    [[{| class="wikitable"
    |-
    ! 战斗类别 !! JustRange
    |-
    | %s || %s
    |}]],
    table.concat(weaponInfo[title]["Role"], "、"),
    justRange
  )
end

function p.showArts()
  local title = mw.title.getCurrentTitle()
  title = tostring(title)

  local WpnId = weaponInfo[title].ID

  local DriverList = {
    "莱克斯",
    "尼娅",
    "齐格",
    "虎",
    "凡达姆",
    "梅勒芙",
    [20] = "真",
    [21] = "霞",
    [22] = "光",
    [23] = "米诺奇",
    [24] = "迦具土",
    [25] = "绵津见"
  }

  local out = ""
  for driverId, driverName in pairs(DriverList) do
    local queryResult = Driver.getArtsByDriverIdAndWpnType(driverId, WpnId)

    if #queryResult > 0 then
      local ns = ""
      if driverId >= 20 then
        out = out .. html.h3("[[黄金之国伊拉:" .. driverName .. "]]")
      else
        out = out .. html.h3("[[" .. driverName .. "]]")
      end
      out = out .. Driver.outputArtsSection(Driver.formatArtsData(queryResult), WpnId)
    end
  end

  return out
end

return p