Módulo:Dialogue list
Ir para navegação
Ir para pesquisar
Documentação do módulo
Esta documentação é transcluída de Predefinição:Sem documentação/doc. [editar] [atualizar]
Este módulo não possui nenhuma documentação. Por favor, considere adicionar uma documentação em Módulo:Dialogue list/doc. [editar]
Módulo:Dialogue list's a função main é invocada por Predefinição:Transcrição NPC.
-- <pre>
local p = {}
function p.main(frame)
local args = frame:getParent().args
-- return tag
local ret = mw.html.create('div')
:addClass('seealso')
local params = {}
local ttl = 0
-- noplayer
local hasplayer = true
-- collect and count arguments
for _, v in ipairs(args) do
if string.lower(v) == 'noplayer' then
hasplayer = false
elseif string.lower(v) ~= 'player' then
ttl = ttl + 1
table.insert(params,v)
end
end
-- increase count if player
if hasplayer then
ttl = ttl + 1
end
-- main return text
ret:wikitext('Esta transcrição envolve diálogos com ')
-- for all arguments
for i, v in ipairs(params) do
-- add links
if i < ttl and ttl > 1 then
ret:wikitext('[['..v..']]')
-- if last link
elseif i == ttl then
-- if only link
if ttl == 1 then
ret:wikitext('[['..v..']]')
-- if final link
else
ret:wikitext(' e [['..v..']]')
end
end
-- if more to come, add commas
if i < ttl and ttl > 2 then
ret:wikitext(', ')
end
end
-- add player
if hasplayer then
if ttl == 1 then
ret:wikitext('o [[Jogador]]')
else
ret:wikitext(' e o [[jogador]]')
end
end
-- period
ret:wikitext('.')
-- transcript npcs property
if mw.title.getCurrentTitle().namespace == 116 then
smw = {}
for _, v in ipairs(params) do
table.insert(smw,string.match(v, "[^\|]+"))
end
if hasplayer then
table.insert(smw,'Jogador')
end
mw.smw.set({['Transcrição NPCs']=smw})
end
return ret
end
return p