Module:QuestDetails: Difference between revisions

mNo edit summary
mNo edit summary
 
(8 intermediate revisions by the same user not shown)
Line 8: Line 8:
mw.smw.set({
mw.smw.set({
["start_point"] = args.start_point,
["start_point"] = args.start_point,
})
end
if args.required_for then
mw.smw.set({
["required_for"] = args.required_for,
})
end
if args.next_quest then
mw.smw.set({
["next_quest"] = args.next_quest,
})
})
end
end
if args.requirements then
if args.requirements then
mw.smw.set({
mw.smw.set({
["requirements"] = args.requirements,
["requirements"] = '\n'..args.requirements,
})
end
if args.items then
mw.smw.set({
["items"] = '\n'..args.items,
})
})
end
end
if args.recommended then
if args.recommended then
mw.smw.set({
mw.smw.set({
["recommended"] = args.recommended,
["recommended"] = '\n'..args.recommended,
})
})
end
end
Line 42: Line 57:
:wikitext('Start Point')
:wikitext('Start Point')
:done()
:done()
:attr('style', 'vertical-align:top; width:15%; padding: 0 1em;')
:attr('style', 'vertical-align:top; width:15%; padding: 1em;')
:done()
:done()
:tag( 'td' )
:tag( 'td' )
Line 52: Line 67:
:done()
:done()
if (args.required_for) then
table
:tag( 'tr' )
:tag( 'td' )
:tag( 'b' )
:wikitext('Required for')
:done()
:attr('style', 'vertical-align:top; width:15%; padding: 1em;')
:done()
:tag( 'td' )
:tag('div')
:newline()
:wikitext( args.required_for )
:attr('style', 'max-width:85%; width:auto; padding-left: 1em; padding-right: 2em;')
:done()
:done()
end
table
:tag( 'tr' )
:tag( 'tr' )
:tag( 'td' )
:tag( 'td' )
:attr('style', 'vertical-align:top; width:15%; padding: 1em;')
:tag( 'b' )
:tag( 'b' )
:wikitext('Requirements')
:wikitext('Requirements')
:done()
:done()
:attr('style', 'vertical-align:top; width:15%; padding: 0 1em;')
:done()
:done()
:tag( 'td' )
:tag( 'td' )
:attr('style', 'max-width:85%; width:auto; padding: 0.3em;')
:tag('p')
:wikitext( requirements )
:tag('div')
:done()
:addClass('lighttable checklist')
:newline()
:attr('style', 'max-width:85%; width:auto; padding-left: 1em; padding-right: 2em;')
:wikitext(requirements)
:newline()
:done()
:done()
:done()
:done()
:done()
if (args.items) then
table
:tag( 'tr' )
:tag( 'td' )
:attr('style', 'vertical-align:top; width:15%; padding: 1em;')
:tag( 'b' )
:wikitext('Items')
:done()
:done()
:tag( 'td' )
:attr('style', 'max-width:85%; width:auto; padding: 0.3em;')
:tag('div')
:addClass('lighttable checklist')
:newline()
:wikitext(args.items)
:newline()
:done()
:done()
:done()
end
if (args.recommended) then
if (args.recommended) then
Line 74: Line 132:
:wikitext('Recommended')
:wikitext('Recommended')
:done()
:done()
:attr('style', 'vertical-align:top; width:15%; padding: 0 1em;')
:attr('style', 'vertical-align:top; width:15%; padding: 1em;')
:done()
:done()
:tag( 'td' )
:tag( 'td' )
:attr('style', 'max-width:85%; width:auto; padding-left: 1em;')
:tag('p')
:wikitext( args.recommended )
:tag('div')
:done()
:addClass('lighttable checklist')
:newline()
:attr('style', 'max-width:85%; width:auto; padding-left: 1em; padding-right: 2em;')
:wikitext( args.recommended )
:newline()
:done()
:done()
:done()
:done()
Line 92: Line 152:
:wikitext('Enemies')
:wikitext('Enemies')
:done()
:done()
:attr('style', 'vertical-align:top; width:15%; padding: 0 1em;')
:attr('style', 'vertical-align:top; width:15%; padding: 1em;')
:done()
:done()
:tag( 'td' )
:tag( 'td' )
:tag('p')
:tag('div')
:wikitext( args.enemies )
:newline()
:wikitext( args.enemies )
:done()
:done()
:attr('style', 'max-width:85%; width:auto; padding-left: 1em; padding-right: 2em;')
:attr('style', 'max-width:85%; width:auto; padding-left: 1em; padding-right: 2em;')

Latest revision as of 22:18, 18 November 2024

Module documentation
This documentation is transcluded from Module:QuestDetails/doc. [edit] [history] [purge]
This module does not have any documentation. Please consider adding documentation at Module:QuestDetails/doc. [edit]
Module:QuestDetails's function details is invoked by Template:QuestDetails.
Module:QuestDetails requires Module:Mw.

local p = {}

function p.details(frame)
	local args = frame:getParent().args
	local mw = require('mw')
	
	if args.start_point then
        mw.smw.set({
            ["start_point"] = args.start_point,
        })
	end
	if args.required_for then
        mw.smw.set({
            ["required_for"] = args.required_for,
        })
	end
	if args.next_quest then
        mw.smw.set({
            ["next_quest"] = args.next_quest,
        })
    end
    if args.requirements then
        mw.smw.set({
            ["requirements"] = '\n'..args.requirements,
        })
    end
    if args.items then
        mw.smw.set({
            ["items"] = '\n'..args.items,
        })
    end
    if args.recommended then
        mw.smw.set({
            ["recommended"] = '\n'..args.recommended,
        })
    end
    if args.enemies then
        mw.smw.set({
            ["enemies"] = args.enemies,
        })
    end
    
    local requirements;
    if (args.requirements) then
    	requirements = args.requirements
    else
    	requirements = 'None'
    end
	
	local table = mw.html.create( 'table' )
	table
	     :attr( 'class', 'wikitable plainlinks' )
	     :attr( 'cellspacing', '3' )
	     :tag( 'tr' )
		     :tag( 'td' )
		    	:tag( 'b' )
		    		:wikitext('Start Point')
		    	:done()
			 :attr('style', 'vertical-align:top; width:15%; padding: 1em;')
			:done()
			:tag( 'td' )
		    	:tag('p')
		    		:wikitext( args['start_point'] )
		    	:done()
			:attr('style', 'max-width:85%; width:auto; padding-left: 1em; padding-right: 2em;')
			:done()
	     :done()
	     
	     if (args.required_for) then
	     	table
		     	:tag( 'tr' )
			     :tag( 'td' )
			    	:tag( 'b' )
			    		:wikitext('Required for')
			    	:done()
				 :attr('style', 'vertical-align:top; width:15%; padding: 1em;')
				:done()
				:tag( 'td' )
			    	:tag('div')
	        		:newline()
	        		:wikitext( args.required_for )
				:attr('style', 'max-width:85%; width:auto; padding-left: 1em; padding-right: 2em;')
				:done()
		     :done()
	     end
	     
	table
	     :tag( 'tr' )
		     :tag( 'td' )
		     :attr('style', 'vertical-align:top; width:15%; padding: 1em;')
		    	:tag( 'b' )
		    		:wikitext('Requirements')
		    	:done()
			:done()
			:tag( 'td' )
			:attr('style', 'max-width:85%; width:auto; padding: 0.3em;')
		    	:tag('div')
		    	:addClass('lighttable checklist')
        		:newline()
        		:wikitext(requirements)
        		:newline()
        		:done()
			:done()
	     :done()
	     
	     if (args.items) then
	     	table
		     	:tag( 'tr' )
			     :tag( 'td' )
			     :attr('style', 'vertical-align:top; width:15%; padding: 1em;')
			    	:tag( 'b' )
			    		:wikitext('Items')
			    	:done()
				:done()
				:tag( 'td' )
				:attr('style', 'max-width:85%; width:auto; padding: 0.3em;')
			    	:tag('div')
			    	:addClass('lighttable checklist')
			    	:newline()
	        		:wikitext(args.items)
	        		:newline()
	        		:done()
				:done()
		     :done()
	     end
	     
	     if (args.recommended) then
	     	table
		     	:tag( 'tr' )
			     :tag( 'td' )
			    	:tag( 'b' )
			    		:wikitext('Recommended')
			    	:done()
				 :attr('style', 'vertical-align:top; width:15%; padding: 1em;')
				:done()
				:tag( 'td' )
				:attr('style', 'max-width:85%; width:auto; padding-left: 1em;')
			    	:tag('div')
			    	:addClass('lighttable checklist')
	        		:newline()
	        		:wikitext( args.recommended )
	        		:newline()
				:done()
		     :done()
	     end
	     
	     if (args.enemies) then
	     	table
		     	:tag( 'tr' )
			     :tag( 'td' )
			    	:tag( 'b' )
			    		:wikitext('Enemies')
			    	:done()
				 :attr('style', 'vertical-align:top; width:15%; padding: 1em;')
				:done()
				:tag( 'td' )
			    	:tag('div')
			    	:newline()
			    	:wikitext( args.enemies )
			    	:done()
				:attr('style', 'max-width:85%; width:auto; padding-left: 1em; padding-right: 2em;')
				:done()
		     :done()
	     end
	     
	table:done()
	     
	return tostring( table )
end

return p