Module:Luacard2: Difference between revisions

From Archon Arcana - The KeyForge Wiki
Module:Luacard2
(Module:Luacard2)
(Module:Luacard2)
Line 1: Line 1:
--Module:Luacard2
--Module:Luacard2
--Usage: english - {{#invoke luacard2 | viewcard | cardname=Angry Mob}}  
--Usage: english - {{#invoke luacard | viewcard | cardname=Angry Mob}}  
--      other language {{#invoke luacard2 | viewcard | cardname=Angry Mob | locale=fr-fr}}  (language codes are all 2 part)
--      other language {{#invoke luacard | viewcard | cardname=Angry Mob | locale=fr-fr}}  (language codes are all 2 part)
--Debug: print(p.viewcard({args={cardname='Angry Mob', debug=true}}))
--Debug: print(p.viewcard({args={cardname='Angry Mob', debug=true}}))
local p = {}
local p = {}
Line 282: Line 282:
where="Pages like '%•"..cardname.."•%' OR (pages IS null AND Cards like '%•"..cardname.."•%')",
where="Pages like '%•"..cardname.."•%' OR (pages IS null AND Cards like '%•"..cardname.."•%')",
orderBy='Text ASC'
orderBy='Text ASC'
})
end
function twinquery(cardname)
local searchname = cardname
if string.find(cardname, 'Evil Twin') ~= nil then
searchname = cardname:gsub(' \(Evil Twin\)', '')
else
searchname = cardname..' (Evil Twin)'
end
return cargo_results(
'CardData',
'Name',
{
groupBy='Name',
where="Name='"..searchname.."'"
})
})
end
end
Line 307: Line 323:
vars.cardnotes = {}
vars.cardnotes = {}
local related_set = relatedquery(vars.cardname_e)
local related_set = relatedquery(vars.cardname_e)
local twin_set = twinquery(vars.cardname_e)
map(twin_set, function(item)
append(related_set, {
Pages = "•"..cardname_e.."•",
Text = "this card has a twin variant:",
Cards = "•"..item["Name"].."•"
})
end)
map(related_set, function(item)
map(related_set, function(item)
item['Text'] = item['Text']:gsub('this card', "'''"..vars.cardname_e.."'''")
item['Text'] = item['Text']:gsub('this card', "'''"..vars.cardname_e.."'''")