模块:螺旋/sandbox2

来自魔法纪录中文Wiki
跳转至: 导航 搜索
{{#invoke:螺旋/sandbox2|列表|记忆详细数据表|0|2}}


1483
脈拍数は150↑(脉搏数为150↑)
脈拍数は150↑ s.png 幸せって怖い。生まれて初めてそう思った…
憧れの人が隣にいるだけで、頭の中が真っ白を超えて無になって、
何も考えられずにステージをこなすだけの本能になってた…
今でも怖くなる。同じ空気を吸ってたって思うだけで震えるぐらい
画师:PAPA
能力型 ✸✸✸ 可装备:所有人
HP ATK DEF 合计
661 → 1652 541 → 1352 0 → 0 1202 → 3004
Icon skill 1085.png イレート・アデプト[Ⅱ] → イレート・アデプト[Ⅲ]
初始
攻击力UP[Ⅱ] & Accele MPUP[Ⅰ] & 防御力DOWN[Ⅴ] & “小圆P的联络”追加获得数+1 常时发动
(自身)攻击力UP,效果值:10%,发动率:100%
(自身)AcceleMPUP,效果值:10%,发动率:100%
(自身)防御力DOWN,效果值:25%
满破
攻击力UP[Ⅲ] & Accele MPUP[Ⅱ] & 防御力DOWN[Ⅴ] & “小圆P的联络”追加获得数+5 常时发动
(自身)攻击力UP,效果值:15%,发动率:100%
(自身)AcceleMPUP,效果值:12.5%,发动率:100%
(自身)防御力DOWN,效果值:25%
{{#invoke:螺旋/sandbox2|列表|记忆数据表/row-mlb|20|3}}
记忆结晶一览(满破)
图片 日文标题
中文译名
稀有度
类型
HP ATK DEF 效果 冷却回合 备注


チクチクチマチマ s.png チクチクチマチマ
待翻译
✸✸✸
技能型
1130 0 1230 Icon skill 1167.png 重抽为Charge 7 安积育梦专用
お菓子の国のマミ s.png お菓子の国のマミ
待翻译
✸✸✸✸
技能型
2202 0 1795 Icon skill 1135.png 反击无效
攻击力UP[Ⅵ]
忍耐(自/1T)
7
念願のチョコデート! s.png 念願のチョコデート!
待翻译
✸✸✸
技能型
1422 0 1580 Icon skill 1085.png 攻击力UP[Ⅲ]
MP获得量UP[Ⅲ](自/3T)
宇宙第一食谱+5
10
{{#invoke:螺旋/sandbox2|记忆|记忆数据表}}


选取单个记忆,按Id

{{#invoke:螺旋/sandbox2|记忆|记忆详细数据表|1413}}
1413
まっしろな未来(纯白的未来)
まっしろな未来 s.png これから始まるふたりの未来は、今はまだまっしろ
だから、一緒に色んなことに喜んだり、驚いたりして
少しずつ鮮やかにしよう
彩りに溢れた、幸せな未来を描くために
画师:蒼樹うめ
技能型 ✸✸✸✸ 可装备环伊吕波环忧
HP ATK DEF 合计
400 → 1000 0 → 0 400 → 1000 800 → 2000
Icon skill 1079.png まっしろな未来[Ⅱ] → まっしろな未来[Ⅱ]
初始
回复MP[Ⅱ](自) 5回合冷却
(自身)MP回复,效果值:18%
满破
回复MP[Ⅱ](自) 5回合冷却
(自身)MP回复,效果值:18%

选取单个记忆,按记忆名

{{#invoke:螺旋/sandbox2|记忆|记忆数据表|まっしろな未来}}
{{#invoke:螺旋/sandbox2|记忆|记忆数据表|まっしろな未来|简介}} // 取字段数据
画师:苍树梅
まっしろな未来 (纯白的未来)
稀有度 等级上限 可装备
✸✸✸✸ Lv 30 → 50 环伊吕波环忧
HP ATK DEF
400 → 1000 0 → 0 400 → 1000
效果 技能型
Icon skill 1079.png まっしろな未来[Ⅱ] → まっしろな未来[Ⅱ] 5 → 5回合冷却
回复MP[Ⅱ](自) → 回复MP[Ⅱ](自)
效果详细
初始 (自身)MP回复,效果值:18%
满破 (自身)MP回复,效果值:18%
记忆结晶(列表:/繁中/简中 - 详表) - 编辑数据 - 模板
  • 注:箭头“→”之前为初始值,后为最大值(满破满级下的数值)。
  • 入手方式:通过购买CD,使用序列码兑换。

简介

今后将要开始的两人的未来,现在依然是一片空白
所以,一起对各种事物时而感到高兴、时而感到惊讶
一点一滴地添上鲜明的色彩吧
为了描绘出满溢色彩的幸福未来

これから始まるふたりの未来は、今はまだまっしろ
だから、一緒に色んなことに喜んだり、驚いたりして
少しずつ鮮やかにしよう
彩りに溢れた、幸せな未来を描くために


function analyzeTxt(txtList)
    local result = {}
    for i,txt in ipairs(txtList) do
        local obj = {}
        string.gsub(txt, '[^\n]+', function(line)
            -- print('> "'..line..'"')
            local splitIndex = string.find(line, '=')
            local key   = string.sub(line, 0, splitIndex-1 )
            local value = string.sub(line, splitIndex+1 )
            -- 删空格
            key   = string.gsub(key, "^%s*(.-)%s*$", "%1")
            value = string.gsub(value, "^%s*(.-)%s*$", "%1")
            -- print('> "'..key..'" = "'..value..'"')
            obj[key] = value
        end)
        table.insert(result, obj)
    end
    -- mw.logObject(result , '【result】')
    return result;
end

-- mw.logObject(package.preload , '【package.preload】' )
	
local memoriaData = nil
-- if( type(package.preload['_memoriaData']) == 'table' ) then
-- 	memoriaData = package.preload['_memoriaData']
-- else
	local data = require('模块:螺旋/sandbox3')
	-- mw.log('do require')
	local d = analyzeTxt(data.d)
	memoriaData = {
		update = data.update,
		list = d,
	}
	-- mw.logObject(package.loaders , '【package.loaders】' )
-- end

function toStringOr(value, def)
    if value == nil then return def end
	if (type(value) == 'string') then
		return string.gsub(value, "^%s*(.-)%s*$", "%1") -- 删空格
	end
    return def
end
function toNumberOr(value, def)
	local num = def
	if (type(value) == "string") then num = tonumber(value) end
	if (type(value) == 'number') then num = value end
	if num == nil then num = def end
    return num
end

function memoriaProcess(frame, memoria)
	memoria['效果'] = frame:preprocess( memoria['效果'] )
	memoria['满破效果'] = frame:preprocess( memoria['满破效果'] )
	if(memoria['可装备text'] ~= nil ) then
		memoria['可装备text'] = frame:preprocess( memoria['可装备text'] )
	end
    return memoria
end

local p = {}
p.list = function (frame)
	-- mw.logObject(frame , '【frame】')
	mw.logObject(frame.args , '【frame-args】')
  
    local template = toStringOr(frame.args[1], '记忆详细数据表')
	mw.logObject({['in']=frame.args[1],['out']=template} , '【template(模板)】')
    local startIndex = toNumberOr(frame.args[2], 0)
	mw.logObject({['in']=frame.args[2],['out']=startIndex} , '【startIndex(开始位置,倒序)】')
    local num = toNumberOr(frame.args[3], 1)
	mw.logObject({['in']=frame.args[3],['out']=num} , '【num(显示数量)】') -- 传入`0`显示`startIndex`到最后
	
	local memoriaList = memoriaData.list
	local txt = ''
	for i, memoria in pairs( memoriaList ) do
		if ( i >= startIndex ) then 
			memoria = memoriaProcess(frame, memoria)
			txt = txt  .. '\n\n' .. frame:expandTemplate{title = template, args = memoria }
		end
		if ( num > 0 and i >= (startIndex-1+num) ) then return txt end
	end
	if( '记忆详细数据表'==template ) then
		txt = '更新时间:' .. memoriaData.update .. txt
	end
	return txt
end
-- 别名
p['列表']=p.list


p.memoria = function (frame)
	-- mw.logObject(frame , '【frame】')
	mw.logObject(frame.args , '【frame-args】')
  
    local template = toStringOr(frame.args[1], '记忆详细数据表')
	mw.logObject({['in']=frame.args[1],['out']=template} , '【template(模板)】')
	
	local nameJp = nil
	local mId = toNumberOr(frame.args[2])
	mw.logObject({['in']=frame.args[2],['out']=mId} , '【mId(记忆Id)】')
	if( mId ~= nil ) then
		mId = ''..mId -- 转回字符串...
	else
	    nameJp = toStringOr(frame.args[2], '未填写记忆日文名')
		mw.logObject({['in']=frame.args[2],['out']=nameJp} , '【nameJp(记忆日文名)】')
	end
	
    local field = toStringOr(frame.args[3], nil)
	mw.logObject( { ['in']=frame.args[3], ['out']=field } , '【field(选取字段)】')
	
	local memoriaList = memoriaData.list
	for i, memoria in pairs( memoriaList ) do
		if ( 
			( mId ~= nil and mId == memoria['编号'] )
			or ( nameJp ~= nil and nameJp == memoria['日文名'] )
		) then 
		
			if( field ~= nil ) then 
				if( memoria[field] ~= nil ) then 
					return frame:preprocess( memoria[field] )
				else
					return '找不到字段:'..field
				end
			end
		
			memoria = memoriaProcess(frame, memoria)
			
			for k, v in frame:argumentPairs() do
				if( type(k)=='string' ) then
					if( memoria[k] ~= nil ) then mw.log( '覆盖更新[' .. k .. ']=' .. v ) end
					memoria[k] = v
				end
			end
			
			return frame:expandTemplate{title = template, args = memoria }
		end
	end
	if( mId ~= nil ) then
		return frame:preprocess('{{Ombox|text=找不到Id:'..mId..'}}')
	else
		return frame:preprocess('{{Ombox|text=找不到:'..nameJp..'}}')
	end
end
-- 别名
p['数据']=p.memoria
p['记忆']=p.memoria

return p