Module:QuestDetails: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
m (Simplify / cleanup (This code should have the exact same effect)) |
(Set smw requirements to "None" if no requirements are given (rather than not setting it)) |
||
Line 1: | Line 1: | ||
require('strict') |
|||
require('Module:Mw.html extension') |
require('Module:Mw.html extension') |
||
Line 5: | Line 6: | ||
function p.details(frame) |
function p.details(frame) |
||
local args = frame:getParent().args |
local args = frame:getParent().args |
||
⚫ | |||
mw.smw.set({ |
mw.smw.set({ |
||
Line 10: | Line 13: | ||
required_for = args.required_for, |
required_for = args.required_for, |
||
next_quest = args.next_quest, |
next_quest = args.next_quest, |
||
requirements = |
requirements = requirements, |
||
items = args.items and '\n'..args.items, |
items = args.items and '\n'..args.items, |
||
recommended = args.recommended and '\n'..args.recommended, |
recommended = args.recommended and '\n'..args.recommended, |
||
Line 16: | Line 19: | ||
override_seq = args.override_seq or 9999 |
override_seq = args.override_seq or 9999 |
||
}) |
}) |
||
⚫ | |||
local table = mw.html.create('table') |
local table = mw.html.create('table') |
||
Line 90: | Line 91: | ||
:tag('div') |
:tag('div') |
||
:addClass('lighttable checklist') |
:addClass('lighttable checklist') |
||
:newline() |
|||
:wikitext(requirements) |
:wikitext(requirements) |
||
:newline() |
|||
:done() |
:done() |
||
:done() |
:done() |
Revision as of 16:17, 22 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.html extension.
Module:QuestDetails requires strict.
require('strict')
require('Module:Mw.html extension')
local p = {}
function p.details(frame)
local args = frame:getParent().args
local requirements = (args.requirements and '\n'..args.requirements) or 'None'
mw.smw.set({
start_point = args.start_point,
required_for = args.required_for,
next_quest = args.next_quest,
requirements = requirements,
items = args.items and '\n'..args.items,
recommended = args.recommended and '\n'..args.recommended,
enemies = args.enemies,
override_seq = args.override_seq or 9999
})
local table = mw.html.create('table')
:addClass('wikitable plainlinks')
:attr{ cellspacing = '3' }
:tag('tr')
:tag('td')
:css{
['vertical-align'] = 'top',
['width'] = '15%',
['padding'] = '1em'
}
:tag('b')
:wikitext('Start Point')
:done()
:done()
:tag('td')
:css{
['max-width'] = '85%',
['width'] = 'auto',
['padding-left'] = '1em',
['padding-right'] = '2em'
}
:tag('p')
:wikitext(args.start_point)
:done()
:done()
:done()
:IF(args.required_for)
:tag('tr')
:tag('td')
:css{
['vertical-align'] = 'top',
['width'] = '15%',
['padding'] = '1em'
}
:tag('b')
:wikitext('Required for')
:done()
:done()
:tag('td')
:tag('div')
:css{
['max-width'] = '85%',
['width'] = 'auto',
['padding-left'] = '1em',
['padding-right'] = '2em'
}
:newline()
:wikitext(args.required_for)
:done()
:done()
:done()
:END()
:tag('tr')
:tag('td')
:css{
['vertical-align'] = 'top',
['width'] = '15%',
['padding'] = '1em'
}
:tag('b')
:wikitext('Requirements')
:done()
:done()
:tag('td')
:css{
['max-width'] = '85%',
['width'] = 'auto',
['padding'] = '0.3em'
}
:tag('div')
:addClass('lighttable checklist')
:wikitext(requirements)
:done()
:done()
:done()
:IF(args.items)
:tag('tr')
:tag('td')
:css{
['vertical-align'] = 'top',
['width'] = '15%',
['padding'] = '1em'
}
:tag('b')
:wikitext('Items')
:done()
:done()
:tag('td')
:css{
['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)
:tag('tr')
:tag('td')
:css{
['vertical-align'] = 'top',
['width'] = '15%',
['padding'] = '1em'
}
:tag('b')
:wikitext('Recommended')
:done()
:done()
:tag('td')
:css{
['max-width'] = '85%',
['width'] = 'auto',
['padding-left'] = '1em'
}
:tag('div')
:addClass('lighttable checklist')
:newline()
:wikitext(args.recommended)
:newline()
:done()
:done()
:done()
:END()
:IF(args.enemies)
:tag('tr')
:tag('td')
:css{
['vertical-align'] = 'top',
['width'] = '15%',
['padding'] = '1em'
}
:tag('b')
:wikitext('Enemies')
:done()
:done()
:tag('td')
:css{
['max-width'] = '85%',
['width'] = 'auto',
['padding-left'] = '1em',
['padding-right'] = '2em'
}
:tag('div')
:newline()
:wikitext(args.enemies)
:done()
:done()
:done()
:END()
:done()
return table
end
return p