Module:Luacard2: Difference between revisions

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


function relatedquery(type, cardname)
function relatedquery(cardname)
return cargo_results(
return cargo_results(
'CardRelatedData',
'CardRelatedData',
Line 277: Line 277:
function apply_related(frame, vars)
function apply_related(frame, vars)
-- we use cardname_e and just show english rulings
-- we use cardname_e and just show english rulings
local official_results = rulequery('FAQ', vars.cardname_e)
local related_set = relatedquery(vars.cardname_e)
if(#official_results>0) then vars.categories[#vars.categories+1] = 'FAQ' end
if(#related_set) then vars.has_related = true end
 
vars.related = related_set
local ruling_results = rulequery('FFGRuling', vars.cardname_e)
map(related_set, function(item)
if(#ruling_results>0) then vars.categories[#vars.categories+1] = 'FFG Rulings' end
item['Text']:gsub('this card', "'''"..vars.cardname_e.."'''")
 
return item
combine(official_results, ruling_results)
end)
 
vars.thumbnail_cards = function(self)
local commentary_results = rulequery('Commentary', vars.cardname_e)
local cards = {}
local outstanding_results = rulequery('OutstandingIssues', vars.cardname_e)
local card_names = self.Cards
 
for name in string.gmatch(card_names, '•[.]•') do
vars.ruleofficial = official_results
if name~=vars.cardname_e then
vars.has_ruleofficial = #vars.ruleofficial > 0
local card_results = cargo_results(
vars.rulecommentary = commentary_results
'CardData',
vars.has_rulecommentary = #vars.rulecommentary > 0
'Name,Image,Artist,Text,FlavorText,Type,Rarity,House,Traits,Power,Armor,Amber',
vars.ruleoutstanding = filter(outstanding_results, function(ruling)
        {
if string.find(ruling['RulesText'], '//') then
where='CardData.Name="'..frame.args.cardname..'"'
return true
})
else return false
cards[#cards] = card_results[1]
end
end
end
end)
return cards
vars.has_ruleoutstanding = #vars.ruleoutstanding > 0
 
if(has_ruleoutstanding or has_rulecommentary) then vars.categories[#vars.categories+1] = 'Commentary' end
 
vars.filter_rules_text = function(self)
return self['RulesText']:gsub('this card', "'''"..vars.cardname_e.."'''")
end
end
end
end