模块:舰娘:修订间差异
跳转到导航
跳转到搜索
无编辑摘要 |
无编辑摘要 |
||
| 第37行: | 第37行: | ||
score = (stdval / 2.58 * 100) + 100 | score = (stdval / 2.58 * 100) + 100 | ||
end | end | ||
if score > 200 then score = 200 end | |||
if score < 0 then score = 0 end | |||
local ret = math.floor(score + 0.5) | local ret = math.floor(score + 0.5) | ||
2017年8月5日 (六) 18:38的版本
{{#invoke:舰娘|统计|普通}}、{{#invoke:舰娘|统计|改造}}、{{#invoke:舰娘|统计|换装}}
脚本错误:函数“统计”不存在。、脚本错误:函数“统计”不存在。、脚本错误:函数“统计”不存在。
{{#invoke:舰娘|查找船名|1001}}
脚本错误:函数“查找船名”不存在。
{{#invoke:舰娘|属性|atk|胡德}}
68
{{#invoke:舰娘|评分|atkMax|密苏里|BB}}
158
{{#invoke:舰娘|评分|atkMax|自定义|BB|90}}
90
{{#invoke:舰娘|搭载|列克星敦}}
{{#invoke:舰娘|舰种代码|胡德}}
bc
{{#invoke:舰娘|舰种名称|胡德}}
战列巡洋舰
{{#invoke:舰娘|改造编号|胡德}}
1001
{{#invoke:舰娘|改造编号|格拉摩根}}
403
{{#invoke:舰娘|技能描述|胡德·改}}
全队提高4%/7%/10%暴击率和暴击伤害,全队E国舰船额外提高4%/7%/10%暴击率和暴击伤害。自身为舰队旗舰时,首轮炮击阶段首先进行攻击,并且伤害提高30%/40%/50%,如果命中的是战列或者重巡,则额外提高30%/40%/50%伤害。
{{#invoke:舰娘|技能描述2|胡德·改}}
自身作为旗舰时,提升全队航速2/3/4点。
local data1 = mw.loadData("模块:特殊数据/舰娘")
local data2 = mw.loadData("模块:特殊数据/技能")
local ships = data1.ships
local stats = data1.stats
local skills = data2.skills
local byIndex = data1.byIndex
local p = { }
p['查找编号'] = function(frame)
return byIndex[tonumber(frame.args[1])]
end
p['属性'] = function(frame)
local ship = ships[frame.args[2]]
local default = frame.args[3]
if default == nil then default = '' end
if ship == nil then return default end
local ret = ship[frame.args[1]]
if ret == nil then return default end
return ret
end
p['评分'] = function(frame)
local ship = ships[frame.args[2]]
local stat = stats[frame.args[3]]
local default = frame.args[4]
if default == nil then default = '' end
if ship == nil then return default end
if stat == nil then return default end
local score
if stat[frame.args[1]].stddev == 0
then score = 100
else
local stdval = (ship[frame.args[1]] - stat[frame.args[1]].mean) / stat[frame.args[1]].stddev
score = (stdval / 2.58 * 100) + 100
end
if score > 200 then score = 200 end
if score < 0 then score = 0 end
local ret = math.floor(score + 0.5)
if ret == nil then return default end
return ret
end
p['搭载'] = function(frame)
local ship = ships[frame.args[1]]
if ship == nil then return '' end
return ship.cap1 + ship.cap2 + ship.cap3 + ship.cap4
end
local typeName = {
CV='航空母舰', CVL='轻型航空母舰', AV='装甲航母', BB='战列舰', BBV='航空战列舰', BC='战列巡洋舰',
CA='重巡洋舰', CLT='重雷装巡洋舰', CL='轻巡洋舰', BM='浅水重炮舰', DD='驱逐舰', SC='重炮潜艇', SS='潜艇', AP='补给舰', DDG='导弹驱逐舰', DDGAA='防空导弹驱逐舰'
}
p['舰种代码'] = function(frame)
local ship = ships[frame.args[1]]
if ship == nil then return '' end
return ship.type:lower()
end
p['舰种名称'] = function(frame)
local ship = ships[frame.args[1]]
if ship == nil then return '' end
return typeName[ship.type]
end
p['改造编号'] = function(frame)
local ship = ships[frame.args[1]]
if ship == nil then return '' end
local ret = ship
if ship.index < 1000 then
ship = ships[byIndex[ship.index + 1000]]
if ship ~= nil then ret = ship end
end
return ret.index
end
local function formatSkill(skill, green, red)
if green == nil then green = '#02C874' end
if red == nil then red = '#FF2D2D' end
skill = skill:gsub('_G%[_', '<span style="color:' .. green .. ';">')
skill = skill:gsub('_R%[_', '<span style="color:' .. red .. ';">')
skill = skill:gsub('_%]_', '</span>')
return skill
end
p['技能描述'] = function(frame)
local ship = ships[frame.args[1]]
if ship == nil or ship.skill == nil then return '' end
return formatSkill(skills[ship.skill], frame.args[2], frame.args[3])
end
p['技能描述2'] = function(frame)
local ship = ships[frame.args[1]]
if ship == nil or ship.skill2 == nil then return '' end
return formatSkill(skills[ship.skill2], frame.args[2], frame.args[3])
end
p['页面'] = function(frame)
local idx = ships[frame.args[1]].index
return byIndex[idx % 1000]
end
return p