80,736
edits
No edit summary |
(Module:Luacard2) |
||
Line 1: | Line 1: | ||
--Module: | --Module:Luacard2 | ||
local p = {} | local p = {} | ||
local cargo = mw.ext.cargo | local cargo = mw.ext.cargo | ||
Line 25: | Line 25: | ||
end | end | ||
local templates = require('Module: | local templates = require('Module:LuacardTemplates2') | ||
local cardstyle = require('Module:LuacardStyle') | local cardstyle = require('Module:LuacardStyle') | ||
local translations = require('Module:LocaleTable') | local translations = require('Module:LocaleTable') | ||
Line 233: | Line 233: | ||
function apply_rulings(frame, vars) | function apply_rulings(frame, vars) | ||
-- we use cardname_e and just show english rulings | |||
local official_results = rulequery('FAQ', vars.cardname_e) | |||
if(#official_results>0) then vars.categories[#vars.categories+1] = 'FAQ' end | |||
local ruling_results = rulequery('FFGRuling', vars.cardname_e) | |||
if(#ruling_results>0) then vars.categories[#vars.categories+1] = 'FFG Rulings' end | |||
combine(official_results, ruling_results) | |||
local commentary_results = rulequery('Commentary', vars.cardname_e) | |||
local outstanding_results = rulequery('OutstandingIssues', vars.cardname_e) | |||
vars.ruleofficial = official_results | |||
vars.has_ruleofficial = #vars.ruleofficial > 0 | |||
vars.rulecommentary = commentary_results | |||
vars.has_rulecommentary = #vars.rulecommentary > 0 | |||
vars.ruleoutstanding = filter(outstanding_results, function(ruling) | |||
if string.find(ruling['RulesText'], '//') then | |||
return true | |||
else return false | |||
end | |||
end) | |||
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 | |||
function relatedquery(type, cardname) | |||
return cargo_results( | |||
'CardRelatedData', | |||
'Pages, Text, Cards', | |||
{ | |||
groupBy='Pages, Text, Cards', | |||
where="Pages like '%•"..cardname.."•%' OR Cards like '%•"..cardname.."•%'", | |||
orderBy='RulesDate ASC' | |||
}) | |||
end | |||
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 official_results = rulequery('FAQ', vars.cardname_e) | ||
Line 360: | Line 403: | ||
apply_errata(frame, vars) | apply_errata(frame, vars) | ||
apply_rulings(frame, vars) | apply_rulings(frame, vars) | ||
apply_related(frame, vars) | |||
if not frame.args.locale then | if not frame.args.locale then |