模块:Weapon
来自乐园数据管理室
此模块的文档可以在模块: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