search
Việt
Hán Việt
Gốc
Dichtienghoa.com không chịu trách nhiệm cho nội dung bên dưới
search
V
HV
G
Dichtienghoa.com không chịu trách nhiệm cho nội dung bên dưới
您可以在
贡献者社区
中了解更新进度或提出建议
查看“模块:舰娘特殊装备”的源代码
←
模块:舰娘特殊装备
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
local eqData = require("模块:舰娘装备数据改") local sData = require("模块:舰娘数据") local scData = require("模块:ShipClass") local f = {} local equipDataTb = eqData.equipDataTb; local shipDataTb = sData.shipDataTb; local scDataTb = scData.shipclassDataTb; local nShipType = { "海防舰", "驱逐舰", "轻型巡洋舰", "重型雷装巡洋舰", "重型巡洋舰", "航空巡洋舰", "轻型航空母舰", "战列巡洋舰", "战列舰", "航空战列舰", "航空母舰", "超弩级战舰", "潜水舰", "潜水航空母舰", "补给舰(深海)", "水上机母舰", "扬陆舰", "装甲航空母舰", "工作舰", "潜水母舰", "练习巡洋舰", "补给舰", "轻航空巡洋舰", "改装航空巡洋舰", "兵装实验轻巡" } local mapping = { ["驱逐舰"] = "驱逐舰", ["轻巡洋舰"] = "轻巡洋舰", ["重雷装巡洋舰"] = "重雷装巡洋舰", ["重巡洋舰"] = "重巡洋舰", ["航空巡洋舰"] = "航空巡洋舰", ["战列舰"] = "低速战舰", ["战列巡洋舰"] = "高速战舰", ["航空战列舰"] = "航空战舰", ["轻型航母"] = "轻空母", ["正规航母"] = "正规空母", ["装甲航母"] = "装甲空母", ["水上机母舰"] = "水上飞机母舰", ["潜艇"] = "潜水艇", ["航空潜艇"] = "潜水空母", ["登陆突击舰"] = "扬陆舰", ["维修舰"] = "工作舰", ["潜艇补给舰"] = "潜水母舰", ["练习巡洋舰"] = "练习巡洋舰", ["舰队油船"] = "补给舰", ["海防舰"] = "海防舰", ["轻航空巡洋舰"] ="轻航空巡洋舰", ["改装航空巡洋舰"] = "改装航空巡洋舰", ["兵装实验轻巡"] = "兵装实验轻巡" } equipTypeTb = { [1] ="小口径主炮", [2] ="中口径主炮", [3] ="大口径主炮", [4] ="副炮", [5] ="鱼雷", [6] ="舰上战斗机", [7] ="舰上爆击机", [8] ="舰上攻击机", [9] ="舰上侦察机", [10] ="水上侦察机", [11] ="水上爆击机", [12] ="小型电探", [13] ="大型电探", [14] ="声呐", [15] ="爆雷", [16] ="追加装甲", [17] ="机关部强化", [18] ="对空强化弹", [19] ="对舰强化弹", [20] ="VT信管", [21] ="对空机铳", [22] ="特殊潜航艇", [23] ="应急修理要员", [24] ="上陆用舟艇", [25] ="旋翼飞机", [26] ="对潜哨戒机", [27] ="追加装甲(中型)", [28] ="追加装甲(大型)", [29] ="探照灯", [30] ="简易输送部材", [31] ="舰艇修理设施", [32] ="潜水舰鱼雷", [33] ="照明弹", [34] ="司令部设施", [35] ="航空要员", [36] ="高射装置", [37] ="对地装备", [38] ="大口径主炮(II)", [39] ="水上舰要员", [40] ="大型声呐", [41] ="大型飞行艇", [42] ="大型探照灯", [43] ="战斗粮食", [44] ="补给物资", [45] ="水上战斗机", [46] ="特型内火艇", [47] ="陆上攻击机", [48] ="局地战斗机", [50] ="输送部材", [51] ="潜水艇装备", [57] ="喷气式战斗轰炸机", [93] ="大型电探(II)", [94] ="舰上侦察机(II)", [99] ="其他", } function f.equipData(frame) local value; local value1; -- value = "无特殊装备" if shipDataTb[frame.args[1]] == nil then return ""; end local t = {} local tt = {} local aa = {} local nn = {} local pp ={} for eqNum in pairs(equipDataTb) do for k, v in pairs(equipDataTb[eqNum]["装备适用"]) do if not mapping[v] then -- if eqNum == "001" then -- value if v == shipDataTb[frame.args[1]]["中文名"] then table.insert(nn,equipDataTb[eqNum]["类别"][3]) table.insert(pp,equipDataTb[eqNum]["类别"][3]) table.insert(aa,equipDataTb[eqNum]["中文名"]) -- table.insert(t, "[[" .. equipDataTb[eqNum]["中文名"] .. "]]") end end end end if #aa == 0 then value = "无特殊装备" return value end table.sort(nn) -- else if #aa ~= 0 then local lei={} table.insert(lei,nn[1]) for ss=1,#nn do -- for kk=1,#lei do if nn[ss]~=lei[#lei] then table.insert(lei,nn[ss]) end -- end end for ss=1,#lei do table.insert(tt,equipTypeTb[lei[ss]]) table.insert(tt," : ") for xx=1,#nn do if pp[xx] == lei[ss] then table.insert(tt,"[[" .. aa[xx] .. "]]") if xx~=#nn then table.insert(tt," ") end end end table.insert(tt,"<br>") end value = table.concat(tt) return value end end function f.getBonusEquip(frame) local id = frame.args[1] local g_id if not id or not shipDataTb[id] then return "无效舰娘ID" else g_id = shipDataTb[id].ID end local log = {} local r = {} local belong = function(id, t) for _, v in pairs(t) do if (v == shipDataTb[id]["中文名"]) then return true elseif v:find("^(.+)级$") then local sc = v:match("^(.+)级$") if not scDataTb[sc] then table.insert(log, "缺失信息: " .. sc) else for __, tid in pairs(scDataTb[sc]) do if tid == tonumber(g_id) then return true end end end elseif nShipType[shipDataTb[id]["舰种"]] == v or mapping[nShipType[shipDataTb[id]["舰种"]]] == v then return true end end return false end local fmt = function(p, t, plus) local b = {} for k, v in pairs(t) do if type(v) == "table" then local s = "" if p == "区域" then s = ("(出击%s时) "):format(k) elseif p == "改修" then s = ("(+%s☆)) "):format(k) else s = ("(装备%s个时) "):format(k) end local bonus = {} for k2, v2 in pairs(v) do local op = "+" if tonumber(v2) < 0 then op = "-" end table.insert(bonus, string.format("%s %s %d", k2, op, math.abs(v2))) end table.insert(b, s .. table.concat(bonus, ",")) else local op = "+" if tonumber(v) < 0 then op = "-" end table.insert(b, string.format("%s %s %d", k, op, math.abs(v))) end end return (not plus and "" or "同时装备" .. table.concat(plus, " + ") .. "时, ") .. table.concat(b, ", ") end for k, v in pairs(equipDataTb) do local c = 1 if belong(id, v["装备适用"]) then -- todo while true do local ref = v["额外收益" .. (c == 1 and "" or c)] if not ref then break end if (not ref["适用舰娘"] or belong(id, ref["适用舰娘"])) and (not ref["非适用舰娘"] or not belong(id, ref["非适用舰娘"])) then table.insert(r, string.format("[[%s]], %s;", v["中文名"], fmt(ref["收益类型"], ref["收益属性"], ref["装备组合"]))) end c = c + 1 end end end return table.concat(r, "<br>") .. table.concat(log, "<br>") end return f
该页面使用的模板:
模块:舰娘特殊装备/doc
(
查看源代码
)
返回至
模块:舰娘特殊装备
。
导航菜单
个人工具
创建账户
登录
名字空间
模块
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
[POI]掉落统计
[SV]战果查询
DMM充值推荐
最新更新
7月26日游戏更新
2024夏季活动
任务
任务一览
期间限定任务
常用速查
舰娘特殊攻击
常用一览图表速查
日/周/月常任务速查
常规图制空带路速查
交流用语
反潜三件套分类
装备蓝字生效情况
装备改修列表
深海栖舰
攻略向导
攻略与指南专题页面
出击海域
镇守府海域 (1-X)
南西群岛海域 (2-X)
北方海域 (3-X)
南西海域 (7-X)
西方海域 (4-X)
南方海域 (5-X)
中部海域 (6-X)
活动限定海域
战斗
战斗
昼战特殊攻击
舰娘特殊攻击
夜战
航速
航空战
基地航空队
飞机熟练度
联合舰队
支援舰队
友军舰队
士气
经验值・战果
经验值和头衔
战果和排名奖励
远征
远征一览
远征组合推荐
支援舰队
舰娘
舰娘列表
舰娘图鉴(序号排序)
舰娘类别(类别排序)
装备
装备列表
装备图鉴(序号排序)
装备类别(类别排序)
装备考察
适重炮
装备隐藏效果
深海栖舰
深海栖舰
深海栖舰列表
深海栖舰装备列表
改装・工厂
改造
近代化改修
补强增设
结婚(暂定)
建造
开发
改修工厂
入渠・补给
修理
资源
道具
道具
勋章和设计图
商店
家具
第三方插件
各插件简介
POI使用教程
游戏文化
关于舰Colle
大事年表
C2机关
周边与衍生产品
—一期动画·剧场版
—二期动画
—漫画和轻小说
—音乐和广播剧
—线下活动
—周边活动立绘
—衍生游戏
制作人员
彩蛋
已移除内容
豆知识和杂学
用语
参与编写kcwiki
社区主页
kcwiki编辑指引
kcwiki编辑指南
kcwiki翻译准则
施工中提示
编写计划
贡献排名
讨论版
沙盒
镇守府沙滩(沙盒)
工具
链入页面
相关更改
特殊页面
页面信息
kcwiki旗下项目
OOI
Poi掉落统计
明石工具箱App
日wiki反代
官推转发
离线XLS
舰娘工具介绍
舰娘工具下载站