Module:QuestDetails: Difference between revisions

From Brighter Shores Wiki
Jump to navigation Jump to search
Content added Content deleted
No edit summary
mNo edit summary
 
(4 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
Line 13: Line 23:
mw.smw.set({
mw.smw.set({
["requirements"] = '\n'..args.requirements,
["requirements"] = '\n'..args.requirements,
})
end
if args.items then
mw.smw.set({
["items"] = '\n'..args.items,
})
})
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('div')
:tag('div')
:addClass('lighttable checklist')
:addClass('lighttable checklist')
:newline()
:newline()
:wikitext(requirements)
:wikitext(requirements)
:newline()
:attr('style', 'max-width:85%; width:auto; padding-left: 1em; padding-right: 2em;')
: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 75: 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('div')
:tag('div')
:addClass('lighttable checklist')
:newline()
:newline()
:wikitext( args.recommended )
:wikitext( args.recommended )
:newline()
:attr('style', 'max-width:85%; width:auto; padding-left: 1em; padding-right: 2em;')
:done()
:done()
:done()
:done()
Line 93: 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