Module:Card additional stats

From Sekaipedia

Documentation for this module may be created at Module:Card additional stats/doc

local getArgs = require('Module:Arguments').getArgs
local yesno   = require('Module:Yesno')
local VariablesLua = mw.ext.VariablesLua

local p = {}

function p.main(frame)
	local args = frame:getParent().args
	
	local rarity = args['rarity'] or VariablesLua.var( 'rarity' )
	
	local hasSideStory1 = yesno(args['has side story 1'], nil)
	local hasSideStory2 = yesno(args['has side story 2'], nil)
	
	local sideStoryBonus   = {}
	local sideStoryBonuses = {
		['1'] = { 300, 600 },
		['2'] = { 450, 900 },
		['3'] = { 600, 1500 },
		['4'] = { 750, 1800 },
		['Birthday'] = { 720, 1650 }
	}
	
	local masterRankBonus   = nil
	local masterRankBonuses = {
		['1'] = 150,
		['2'] = 300,
		['3'] = 450,
		['4'] = 600,
		['Birthday'] = 540
	}
	
	if rarity ~= nil and rarity ~= '' then
		sideStoryBonus  = sideStoryBonuses[rarity]
		masterRankBonus = masterRankBonuses[rarity]
	end

	local sideStory1Node = nil
	local sideStory2Node = nil
	
	if hasSideStory1 then
		sideStory1Node = mw.html.create('li')
			:wikitext('Side Story 1 Unlocked: +' .. (sideStoryBonus[1] or '?'))
			:done()
	end
	
	if hasSideStory2 then
		sideStory2Node = mw.html.create('li')
			:wikitext('Side Story 2 Unlocked: +' .. (sideStoryBonus[2] or '?'))
			:done()
	end
	
	local masterRankNode = mw.html.create('li')
		:wikitext('Each [[Master Rank]]: +' .. (masterRankBonus or '?'))
		:done()

	local root = mw.html.create('ul')
		:node(sideStory1Node)
		:node(sideStory2Node)
		:node(masterRankNode)
	:done()

	return tostring(root)
end

return p
Cookies help us deliver our services. By using our services, you agree to our use of cookies.