498
次編輯
無編輯摘要 |
(IV-α及多条件支持) |
||
第28行: | 第28行: | ||
end | end | ||
local function getResult( | local function getResult(list,tag) | ||
for i,func in ipairs(list) do | |||
if i > 1 then tag = tag:wikitext("<br/>") end | |||
if type(func) == "function" then tag = func(tag) else tag = tag:wikitext(tostring(func)) end | |||
end | |||
return tag | |||
end | end | ||
第62行: | 第65行: | ||
query = data.singleSongInformation(songName, "name") | query = data.singleSongInformation(songName, "name") | ||
end | end | ||
local diffCount | |||
if query("ratingA") then diffCount = 5 else diffCount = 4 end | |||
local DefaultValue; | local DefaultValue; | ||
local isDefault = { | local isDefault = { | ||
第71行: | 第77行: | ||
type(args["disableAuto"]) == "nil", -- 用于判断应不应该初始化难度IV解禁方法的文本 | type(args["disableAuto"]) == "nil", -- 用于判断应不应该初始化难度IV解禁方法的文本 | ||
} | } | ||
if query("ratingA") then table.insert(isDefault, 5, not doArgExist("难度IV_Alpha解禁方法")) end | |||
local unlockCondition = {} | |||
if args["曲包"] then -- | |||
if packName(args["曲包"]) == "[[星际之声]]" | if packName(args["曲包"]) == "[[星际之声]]" | ||
then unlockCondition | then table.insert(unlockCondition, "购买单曲 [" .. songName .. "]") | ||
else unlockCondition | else table.insert(unlockCondition, function(tag) | ||
--"购买歌曲包 [‌" .. packName(args["曲包"]) .. "‌]" | --"购买歌曲包 [‌" .. packName(args["曲包"]) .. "‌]" | ||
return tag:wikitext("购买歌曲包 [") | return tag:wikitext("购买歌曲包 [") | ||
:tag("span"):wikitext(packName(args["曲包"])):done() | :tag("span"):wikitext(packName(args["曲包"])):done() | ||
:wikitext("]") | :wikitext("]") | ||
end | |||
end | ) | ||
end | |||
unlockCondition = "[ | end | ||
if args["需求旅行者徽章"] then -- | |||
table.insert(unlockCondition, "使用" .. args["需求旅行者徽章"] .. " 个 旅行者徽章解锁") | |||
if tonumber(args["需求旅行者徽章"]) > 2 then | |||
table.insert(unlockCondition, "旅行者等级20以 上 开放购买") end | |||
end | |||
if args["需求等级"] then -- | |||
table.insert(unlockCondition, "玩家等级达到 " .. args["需求等级"]) | |||
end | |||
if args["旅程模式"] then -- | |||
table.insert(unlockCondition, "于旅程模式 星球“" .. args["旅程模式"] .. "”内解锁") | |||
end | |||
if args["章节挑战"] then -- | |||
table.insert(unlockCondition, "于旅程模式 星球“" .. args["章节挑战"] .. "”内解锁章节挑战") | |||
DefaultValue = " 通关 “" .. args["章节挑战"] .. "” 章节挑战对应难度后解锁" | |||
isDefault[diffCount+1] = false; | |||
end | |||
if args["曲目解禁方法"] then -- 老版本/自定义 | |||
table.insert(unlockCondition, args["曲目解禁方法"]) | |||
end | end | ||
if #unlockCondition == 0 then -- 假设前面的条件没一个满足,那么理论上是忘写了 | |||
table.insert(unlockCondition, "[待补充]") | |||
end | |||
if isDefault[ | if isDefault[diffCount+1] then -- 初始化难度IV解禁方法 | ||
args["难度IV解禁方法"] = args["难度IV解禁方法"] or getCondition(query("rating4")); | args["难度IV解禁方法"] = args["难度IV解禁方法"] or getCondition(query("rating4")); | ||
isDefault[4] = false; | isDefault[4] = false; | ||
第111行: | 第127行: | ||
local function getDefValue(start) | local function getDefValue(start) | ||
local tmp = 1; | local tmp = 1; | ||
for i=start+1, | for i=start+1,diffCount do | ||
if isDefault[i] then tmp = tmp + 1; | if isDefault[i] then tmp = tmp + 1; | ||
else return tmp; | else return tmp; | ||
第137行: | 第153行: | ||
-- 第一行:通用条件 | -- 第一行:通用条件 | ||
local tag = | local tag = | ||
box:tag("tr"):tag("th"):wikitext("曲目解锁"):attr("rowspan", | box:tag("tr"):tag("th"):wikitext("曲目解锁"):attr("rowspan", diffCount + 1):css("width", "6em"):done() | ||
:tag("td"):wikitext("通用条件"):css("width", "8em"):done() | :tag("td"):wikitext("通用条件"):css("width", "8em"):done() | ||
:tag("td"); tag = getResult(unlockCondition,tag):done() | :tag("td"); tag = getResult(unlockCondition,tag):done() | ||
第146行: | 第162行: | ||
summonTag("#e65100","难度Ⅲ","难度III解禁方法") | summonTag("#e65100","难度Ⅲ","难度III解禁方法") | ||
summonTag("#ab47bc","难度Ⅳ","难度IV解禁方法") | summonTag("#ab47bc","难度Ⅳ","难度IV解禁方法") | ||
if query("ratingA") then summonTag("#ca8bd5","难度Ⅳ-α","难度IV_Alpha解禁方法") end | |||
return tostring(box) | return tostring(box) |