Module:Luacard2: Difference between revisions

From Archon Arcana - The KeyForge Wiki
Module:Luacard2
(Module:Luacard2)
(Module:Luacard2)
Line 258: Line 258:


function apply_categories(frame, vars)
function apply_categories(frame, vars)
mw.log(vars.category_prefix)
for c=1, #vars.categories do
for c=1, #vars.categories do
if(string.len(mw.text.trim(vars.categories[c]))>0) then
if(string.len(mw.text.trim(vars.categories[c]))>0) then
vars.categories[c] = vars.category_prefix .. vars.categories[c]
vars.categories[c] = stache('[[Category:${c}]]', {c=vars.categories[c]})
vars.categories[c] = stache('[[Category:${c}]]', {c=vars.categories[c]})
end
end
end
end
mw.logObject(vars.categories)
vars.categories = '<includeonly>'..table.concat(vars.categories,'')..'</includeonly>'
vars.categories = '<includeonly>'..table.concat(vars.categories,'')..'</includeonly>'
end
end
Line 310: Line 313:
end
end


function relatedquery(cardname)
function relatedquery(cardname, type_query)
return cargo_results(
return cargo_results(
'CardRelatedData',
'CardRelatedData',
Line 316: Line 319:
{
{
groupBy='Pages, Text, Cards, Type',
groupBy='Pages, Text, Cards, Type',
where="(Pages like '%•"..cardname.."•%' OR (pages IS null AND Cards like '%•"..cardname.."•%')) AND Type!='Twin'",
where="(Pages like '%•"..cardname.."•%' OR (pages IS null AND Cards like '%•"..cardname.."•%')) AND Type!='twin' "..type_query,
orderBy='Text ASC'
orderBy='Text ASC'
})
})
Line 360: Line 363:
'Name,Image,Artist,Text,FlavorText,Type,Rarity,House,Traits,Power,Armor,Amber',
'Name,Image,Artist,Text,FlavorText,Type,Rarity,House,Traits,Power,Armor,Amber',
{
{
where='CardData.Name="'..name..'"'
where='CardData.Name="'..name..'" '
})
})
if card_results[1] ~= nil then
if card_results[1] ~= nil then
Line 374: Line 377:
-- we use cardname_e and just show english related
-- we use cardname_e and just show english related
local related_set = {}
local related_set = {}
local related_cards_set = relatedquery(vars.cardname_e)
local related_cards_set = relatedquery(vars.cardname_e,"AND Type!='ignore'")
local related_flavor_set = relatedflavorquery(vars.cardname_e)
local related_flavor_set = relatedflavorquery(vars.cardname_e)
local related_twin_set = twinquery(vars.cardname_e)
local related_twin_set = twinquery(vars.cardname_e)
Line 397: Line 400:
Cards = flavor_card_names
Cards = flavor_card_names
})
})
append(vars.categories, "Appears in Flavor Text")
end
end
extend(related_set, related_cards_set)
extend(related_set, related_cards_set)
Line 423: Line 427:
vars.cardsets = cargo_results(
vars.cardsets = cargo_results(
'SetData,CardData,SetInfo',
'SetData,CardData,SetInfo',
'SetData.SetName, SetData.CardNumber, SetInfo.ReleaseYear, SetInfo.ReleaseMonth, SetInfo.ShortName',
'SetData.SetName, SetData.CardNumber, SetInfo.ReleaseYear, SetInfo.ReleaseMonth, SetInfo.ShortName, SetInfo.SetNumber',
{
{
join='SetData._pageTitle=CardData.Name,SetData.SetName=SetInfo.SetName',
join='SetData._pageTitle=CardData.Name,SetData.SetName=SetInfo.SetName',
Line 431: Line 435:
for r = 1, #vars.cardsets do
for r = 1, #vars.cardsets do
local result = vars.cardsets[r]
local result = vars.cardsets[r]
mw.log(result['SetInfo.SetNumber'])
if mw.ustring.find(result['SetInfo.SetNumber'], 'KFA.*') ~= nil then
vars.category_prefix = 'KFA '
-- We use a different gallery link for each KFA set
vars.is_kfa = true
vars.root_gallery = result['SetData.SetName']
end
mw.log(vars.category_prefix)
append(vars.categories, set_category[result['SetData.SetName']])
append(vars.categories, set_category[result['SetData.SetName']])
end
end
Line 458: Line 470:
load_translation_table(frame.args.locale)
load_translation_table(frame.args.locale)
end
end
vars.root_gallery = 'Card_Gallery'
vars.cardname_e = vars.cardname
vars.cardname_e = vars.cardname
vars.cardname_stripped = mw.ustring.gsub(vars.cardname_e, " %(Evil Twin%)", "")
vars.cardname_stripped = mw.ustring.gsub(vars.cardname_e, " %(Evil Twin%)", "")
Line 469: Line 482:
vars.cardtext = wikitext(card_results[1]['Text'])
vars.cardtext = wikitext(card_results[1]['Text'])
vars.cardflavortext = wikitext(card_results[1]['FlavorText'])
vars.cardflavortext = wikitext(card_results[1]['FlavorText'])
vars.cardartist = card_results[1]['Artist']
vars.cardartist = card_results[1]['Artist'] or ''
vars.cardtype = card_results[1]['Type']
vars.cardtype = card_results[1]['Type']
vars.cardpower = card_results[1]['Power']
vars.cardpower = card_results[1]['Power'] or '0'
vars.cardarmor = card_results[1]['Armor']
vars.cardarmor = card_results[1]['Armor'] or '0'
vars.cardamber = card_results[1]['Amber']
vars.cardamber = card_results[1]['Amber'] or '0'
vars.cardtraits = card_results[1]['Traits']
vars.cardtraits = card_results[1]['Traits'] or ''
vars.category_prefix = ''
if vars.cardhouse == nil then  
if vars.cardhouse == nil then  
vars.cardhouse = ''
vars.cardhouse = ''