Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Revision as of 17:32, 3 June 2025 by 146.70.204.184 (talk) (Created page with "local p = {} function p.renderMasteryCard(mastery) local html = mw.html.create('div'):addClass('mastery-card') html:tag('div'):addClass('mastery-image') :wikitext(string.format('200px', mastery.image or '')) local header = html:tag('div'):addClass('mastery-card-header') header:tag('div'):addClass('mastery-name'):wikitext(mastery.name or '') header:tag('div'):addClass('master-description'):wikitext(mastery.desc or '') local function addTier(tier, r...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:MasteryCards/doc

local p = {}

function p.renderMasteryCard(mastery)
	local html = mw.html.create('div'):addClass('mastery-card')

	html:tag('div'):addClass('mastery-image')
		:wikitext(string.format('[[File:%s|200px]]', mastery.image or ''))

	local header = html:tag('div'):addClass('mastery-card-header')
	header:tag('div'):addClass('mastery-name'):wikitext(mastery.name or '')
	header:tag('div'):addClass('master-description'):wikitext(mastery.desc or '')

	local function addTier(tier, reward, req)
		local tierDiv = html:tag('div'):addClass('mastery-card-info')
		tierDiv:tag('div'):addClass('mastery-card-block')
			:tag('div'):addClass('mastery-tier'):wikitext(tier):done()
			:tag('div'):addClass('mastery-reward'):wikitext(reward or '')
		tierDiv:tag('div'):addClass('mastery-requirement'):wikitext(req or '')
	end

	addTier('Bronze', mastery.bronzeReward, mastery.bronzeReq)
	addTier('Silver', mastery.silverReward, mastery.silverReq)
	addTier('Gold', mastery.goldReward, mastery.goldReq)

	return tostring(html)
end

function p.main(frame)
	local args = frame:getParent().args
	local html = mw.html.create('div'):addClass('mastery-container')

	local index = 1
	while args['name'..index] do
		local mastery = {
			image = args['image'..index],
			name = args['name'..index],
			desc = args['desc'..index],
			bronzeReward = args['bronzeReward'..index],
			bronzeReq = args['bronzeReq'..index],
			silverReward = args['silverReward'..index],
			silverReq = args['silverReq'..index],
			goldReward = args['goldReward'..index],
			goldReq = args['goldReq'..index],
		}
		html:wikitext(p.renderMasteryCard(mastery))
		index = index + 1
	end

	return tostring(html)
end

return p