<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://moasspedia.org/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AVideo_game_wikidata</id>
	<title>Module:Video game wikidata - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://moasspedia.org/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AVideo_game_wikidata"/>
	<link rel="alternate" type="text/html" href="https://moasspedia.org/w/index.php?title=Module:Video_game_wikidata&amp;action=history"/>
	<updated>2026-04-06T05:15:33Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.2</generator>
	<entry>
		<id>https://moasspedia.org/w/index.php?title=Module:Video_game_wikidata&amp;diff=3722&amp;oldid=prev</id>
		<title>Wikipedia&gt;Ferret: Fix for this Special:Diff/1030858031 report.</title>
		<link rel="alternate" type="text/html" href="https://moasspedia.org/w/index.php?title=Module:Video_game_wikidata&amp;diff=3722&amp;oldid=prev"/>
		<updated>2021-06-28T13:58:40Z</updated>

		<summary type="html">&lt;p&gt;Fix for this &lt;a href=&quot;/wiki/Special:Diff/1030858031&quot; title=&quot;Special:Diff/1030858031&quot;&gt;Special:Diff/1030858031&lt;/a&gt; report.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local Date = require(&amp;#039;Module:Date&amp;#039;)._Date&lt;br /&gt;
local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Local variables.&lt;br /&gt;
local reviewer = nil;&lt;br /&gt;
local df = &amp;quot;mdy&amp;quot;;&lt;br /&gt;
local entity = nil;&lt;br /&gt;
local genRefs = true;&lt;br /&gt;
local showSystem = true;&lt;br /&gt;
local showUpdateLink = true;&lt;br /&gt;
local system = nil;&lt;br /&gt;
local systemId = nil;&lt;br /&gt;
local systemFormat = &amp;quot;colon&amp;quot;;&lt;br /&gt;
local updateLinkStyle = nil;&lt;br /&gt;
local entities = {};&lt;br /&gt;
&lt;br /&gt;
-- Translation table for converting numeric-IDs to shorthand aliases.&lt;br /&gt;
local systemAliases = {&lt;br /&gt;
	[10677] = &amp;#039;PS1&amp;#039;,&lt;br /&gt;
	[1323662] = &amp;#039;PS1&amp;#039;, -- Placeholder, this is actually the series but could be mistakenly used for PS1.&lt;br /&gt;
	[10680] = &amp;#039;PS2&amp;#039;,&lt;br /&gt;
	[10683] = &amp;#039;PS3&amp;#039;,&lt;br /&gt;
	[5014725] = &amp;#039;PS4&amp;#039;,&lt;br /&gt;
	[16338] = &amp;#039;PC&amp;#039;,&lt;br /&gt;
	[8079] = &amp;#039;Wii&amp;#039;,&lt;br /&gt;
	[56942] = &amp;#039;WiiU&amp;#039;,&lt;br /&gt;
	[132020] = &amp;#039;XBOX&amp;#039;,&lt;br /&gt;
	[48263] = &amp;#039;X360&amp;#039;,&lt;br /&gt;
	[13361286] = &amp;#039;XONE&amp;#039;,&lt;br /&gt;
	[203597] = &amp;#039;3DS&amp;#039;,&lt;br /&gt;
	[188808] = &amp;#039;PSV&amp;#039;,&lt;br /&gt;
	[170323] = &amp;#039;DS&amp;#039;, -- Sometimes has been NDS&lt;br /&gt;
	[170325] = &amp;#039;PSP&amp;#039;,&lt;br /&gt;
	[48493] = &amp;#039;IOS&amp;#039;, -- iOS, iPhone, iPad&lt;br /&gt;
	[94] = &amp;#039;AND&amp;#039;, -- Android&lt;br /&gt;
	[186437] = &amp;#039;GB&amp;#039;,&lt;br /&gt;
	[188642] = &amp;#039;GBA&amp;#039;,&lt;br /&gt;
	[203992] = &amp;#039;GBC&amp;#039;,&lt;br /&gt;
	[184198] = &amp;#039;DC&amp;#039;,&lt;br /&gt;
	[200912] = &amp;#039;SAT&amp;#039;,&lt;br /&gt;
	[172742] = &amp;#039;NES&amp;#039;,&lt;br /&gt;
	[183259] = &amp;#039;SNES&amp;#039;,&lt;br /&gt;
	[184839] = &amp;#039;N64&amp;#039;,&lt;br /&gt;
	[182172] = &amp;#039;GC&amp;#039;, -- Sometimes has been NGC&lt;br /&gt;
	[19610114] = &amp;#039;NS&amp;#039; -- Nintendo Switch&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- Translation table for converting system aliases to QIDs&lt;br /&gt;
local systemIDs = {&lt;br /&gt;
	[&amp;#039;PS1&amp;#039;] = 10677,&lt;br /&gt;
	[&amp;#039;PS2&amp;#039;] = 10680,&lt;br /&gt;
	[&amp;#039;PS3&amp;#039;] = 10683,&lt;br /&gt;
	[&amp;#039;PS4&amp;#039;] = 5014725,&lt;br /&gt;
	[&amp;#039;PC&amp;#039;] = 16338,&lt;br /&gt;
	[&amp;#039;WII&amp;#039;] = 8079,&lt;br /&gt;
	[&amp;#039;WIIU&amp;#039;] = 56942,&lt;br /&gt;
	[&amp;#039;XBOX&amp;#039;] = 132020,&lt;br /&gt;
	[&amp;#039;X360&amp;#039;] = 48263,&lt;br /&gt;
	[&amp;#039;XONE&amp;#039;] = 13361286,&lt;br /&gt;
	[&amp;#039;3DS&amp;#039;] = 203597,&lt;br /&gt;
	[&amp;#039;PSV&amp;#039;] = 188808,&lt;br /&gt;
	[&amp;#039;DS&amp;#039;] = 170323,&lt;br /&gt;
	[&amp;#039;NDS&amp;#039;] = 170323,&lt;br /&gt;
	[&amp;#039;PSP&amp;#039;] = 170325,&lt;br /&gt;
	[&amp;#039;IOS&amp;#039;] = 48493,&lt;br /&gt;
	[&amp;#039;AND&amp;#039;] = 94,&lt;br /&gt;
	[&amp;#039;GB&amp;#039;] = 186437,&lt;br /&gt;
	[&amp;#039;GBA&amp;#039;] = 188642,&lt;br /&gt;
	[&amp;#039;GBC&amp;#039;] = 203992,&lt;br /&gt;
	[&amp;#039;DC&amp;#039;] = 184198,&lt;br /&gt;
	[&amp;#039;SAT&amp;#039;] = 200912,&lt;br /&gt;
	[&amp;#039;NES&amp;#039;] = 172742,&lt;br /&gt;
	[&amp;#039;SNES&amp;#039;] = 183259,&lt;br /&gt;
	[&amp;#039;N64&amp;#039;] = 184839,&lt;br /&gt;
	[&amp;#039;GC&amp;#039;] = 182172,&lt;br /&gt;
	[&amp;#039;NGC&amp;#039;] = 182172,&lt;br /&gt;
	[&amp;#039;NS&amp;#039;] = 19610114&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- List of accepted aggregator arguments and their related QID.&lt;br /&gt;
local aggregatorAliases = {&lt;br /&gt;
    [150248] = &amp;#039;MC&amp;#039;,&lt;br /&gt;
    [40160] = &amp;#039;GR&amp;#039;,&lt;br /&gt;
    [21039459] = &amp;#039;OC&amp;#039;&lt;br /&gt;
}   &lt;br /&gt;
&lt;br /&gt;
-- List of accepted aggregator arguments and their related QID.&lt;br /&gt;
local aggregatorIDs = {&lt;br /&gt;
    [&amp;#039;MC&amp;#039;] = 150248,&lt;br /&gt;
    [&amp;#039;GR&amp;#039;] = 40160,&lt;br /&gt;
    [&amp;#039;OC&amp;#039;] = 21039459&lt;br /&gt;
}   &lt;br /&gt;
&lt;br /&gt;
-- List of accepted reviewer arguments and their related QID.&lt;br /&gt;
local reviewerAliases = {&lt;br /&gt;
	[591573] = &amp;#039;FAM&amp;#039;,&lt;br /&gt;
	[207708] = &amp;#039;IGN&amp;#039;&lt;br /&gt;
}   &lt;br /&gt;
&lt;br /&gt;
-- List of accepted reviewer arguments and their related QID.&lt;br /&gt;
local reviewerIDs = {&lt;br /&gt;
	[&amp;#039;FAM&amp;#039;] = 591573,&lt;br /&gt;
	[&amp;#039;IGN&amp;#039;] = 207708&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
local function sortByPlatform(a,b) &lt;br /&gt;
	local platformA = &amp;quot;&amp;quot;;&lt;br /&gt;
	local platformB = &amp;quot;&amp;quot;;&lt;br /&gt;
	if(a[&amp;#039;qualifiers&amp;#039;][&amp;#039;P400&amp;#039;] ~= nil and a[&amp;#039;qualifiers&amp;#039;][&amp;#039;P400&amp;#039;][1] ~= nil) then&lt;br /&gt;
		platformA = p.getSystemAlias(a[&amp;#039;qualifiers&amp;#039;][&amp;#039;P400&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;numeric-id&amp;#039;]);&lt;br /&gt;
		if(platformA == nil) then&lt;br /&gt;
			platformA = mw.wikibase.label(&amp;#039;Q&amp;#039;..a[&amp;#039;qualifiers&amp;#039;][&amp;#039;P400&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;numeric-id&amp;#039;]);&lt;br /&gt;
		end;&lt;br /&gt;
	end;&lt;br /&gt;
	if(b[&amp;#039;qualifiers&amp;#039;][&amp;#039;P400&amp;#039;] ~= nil and b[&amp;#039;qualifiers&amp;#039;][&amp;#039;P400&amp;#039;][1] ~= nil) then&lt;br /&gt;
		platformB = p.getSystemAlias(b[&amp;#039;qualifiers&amp;#039;][&amp;#039;P400&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;numeric-id&amp;#039;]);&lt;br /&gt;
		if(platformB == nil) then&lt;br /&gt;
			platformB = mw.wikibase.label(&amp;#039;Q&amp;#039;..b[&amp;#039;qualifiers&amp;#039;][&amp;#039;P400&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;numeric-id&amp;#039;]);&lt;br /&gt;
		end;&lt;br /&gt;
	end;		&lt;br /&gt;
		&lt;br /&gt;
	return platformA &amp;lt; platformB&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
local function buildCite(reference) &lt;br /&gt;
	local referenceUrl = nil;&lt;br /&gt;
	local cite = nil;&lt;br /&gt;
	&lt;br /&gt;
	if(reference[&amp;#039;snaks&amp;#039;][&amp;#039;P854&amp;#039;] ~= nil and reference[&amp;#039;snaks&amp;#039;][&amp;#039;P854&amp;#039;][1] ~= nil) then&lt;br /&gt;
		referenceUrl = reference[&amp;#039;snaks&amp;#039;][&amp;#039;P854&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;];	&lt;br /&gt;
	end;&lt;br /&gt;
&lt;br /&gt;
	if(referenceUrl ~= nil and referenceUrl ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		cite = &amp;quot;{{cite web|url=&amp;quot;..referenceUrl;&lt;br /&gt;
			&lt;br /&gt;
		local pubdate = nil;&lt;br /&gt;
		local accessdate = nil;&lt;br /&gt;
		local publisher = nil;&lt;br /&gt;
		local work = nil;&lt;br /&gt;
		local title = nil;&lt;br /&gt;
		local archiveUrl = nil;&lt;br /&gt;
		local archiveDate = nil;&lt;br /&gt;
		local authors = {};&lt;br /&gt;
&lt;br /&gt;
		if(reference[&amp;#039;snaks&amp;#039;][&amp;#039;P577&amp;#039;] ~= nil and reference[&amp;#039;snaks&amp;#039;][&amp;#039;P577&amp;#039;][1] ~= nil) then&lt;br /&gt;
			pubdate = reference[&amp;#039;snaks&amp;#039;][&amp;#039;P577&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;time&amp;#039;];&lt;br /&gt;
		end;&lt;br /&gt;
		if(reference[&amp;#039;snaks&amp;#039;][&amp;#039;P813&amp;#039;] ~= nil and reference[&amp;#039;snaks&amp;#039;][&amp;#039;P813&amp;#039;][1] ~= nil) then&lt;br /&gt;
			accessdate = reference[&amp;#039;snaks&amp;#039;][&amp;#039;P813&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;time&amp;#039;];&lt;br /&gt;
		end;&lt;br /&gt;
		if(reference[&amp;#039;snaks&amp;#039;][&amp;#039;P123&amp;#039;] ~= nil and reference[&amp;#039;snaks&amp;#039;][&amp;#039;P123&amp;#039;][1] ~= nil) then&lt;br /&gt;
			publisher = mw.wikibase.label(&amp;#039;Q&amp;#039;..reference[&amp;#039;snaks&amp;#039;][&amp;#039;P123&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;numeric-id&amp;#039;]);&lt;br /&gt;
		end;&lt;br /&gt;
		if(reference[&amp;#039;snaks&amp;#039;][&amp;#039;P1433&amp;#039;] ~= nil and reference[&amp;#039;snaks&amp;#039;][&amp;#039;P1433&amp;#039;][1] ~= nil) then&lt;br /&gt;
			work = mw.wikibase.label(&amp;#039;Q&amp;#039;..reference[&amp;#039;snaks&amp;#039;][&amp;#039;P1433&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;numeric-id&amp;#039;]);&lt;br /&gt;
		end;			&lt;br /&gt;
		if(reference[&amp;#039;snaks&amp;#039;][&amp;#039;P1476&amp;#039;] ~= nil and reference[&amp;#039;snaks&amp;#039;][&amp;#039;P1476&amp;#039;][1] ~= nil) then&lt;br /&gt;
			title = reference[&amp;#039;snaks&amp;#039;][&amp;#039;P1476&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;text&amp;#039;];&lt;br /&gt;
		end;&lt;br /&gt;
		if(reference[&amp;#039;snaks&amp;#039;][&amp;#039;P1065&amp;#039;] ~= nil and reference[&amp;#039;snaks&amp;#039;][&amp;#039;P1065&amp;#039;][1] ~= nil) then&lt;br /&gt;
			archiveUrl = reference[&amp;#039;snaks&amp;#039;][&amp;#039;P1065&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;];&lt;br /&gt;
		end;&lt;br /&gt;
		if(reference[&amp;#039;snaks&amp;#039;][&amp;#039;P2960&amp;#039;] ~= nil and reference[&amp;#039;snaks&amp;#039;][&amp;#039;P2960&amp;#039;][1] ~= nil) then&lt;br /&gt;
			archiveDate = reference[&amp;#039;snaks&amp;#039;][&amp;#039;P2960&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;time&amp;#039;];&lt;br /&gt;
		end;	&lt;br /&gt;
		if(reference[&amp;#039;snaks&amp;#039;][&amp;#039;P50&amp;#039;] ~= nil and #reference[&amp;#039;snaks&amp;#039;][&amp;#039;P50&amp;#039;] &amp;gt; 0) then&lt;br /&gt;
			for i,authorDat in pairs(reference[&amp;#039;snaks&amp;#039;][&amp;#039;P50&amp;#039;]) do&lt;br /&gt;
				local authorQid = &amp;#039;Q&amp;#039;..authorDat[&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;numeric-id&amp;#039;];&lt;br /&gt;
				if(entities[authorQid] == nil) then&lt;br /&gt;
					entities[authorQid] = mw.wikibase.getEntity(authorQid);&lt;br /&gt;
				end;&lt;br /&gt;
				&lt;br /&gt;
				local author = {};&lt;br /&gt;
				author[&amp;#039;fullname&amp;#039;] = mw.wikibase.label(authorQid); -- Default to label&lt;br /&gt;
				author[&amp;#039;first&amp;#039;] = nil;&lt;br /&gt;
				author[&amp;#039;last&amp;#039;] = nil;&lt;br /&gt;
				&lt;br /&gt;
				if(entities[authorQid][&amp;#039;claims&amp;#039;][&amp;#039;P735&amp;#039;] ~= nil and entities[authorQid][&amp;#039;claims&amp;#039;][&amp;#039;P735&amp;#039;][1] ~= nil) then&lt;br /&gt;
					author[&amp;#039;first&amp;#039;] = mw.wikibase.label(&amp;#039;Q&amp;#039;..entities[authorQid][&amp;#039;claims&amp;#039;][&amp;#039;P735&amp;#039;][1][&amp;#039;mainsnak&amp;#039;][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;numeric-id&amp;#039;]);&lt;br /&gt;
				end;&lt;br /&gt;
				if(entities[authorQid][&amp;#039;claims&amp;#039;][&amp;#039;P734&amp;#039;] ~= nil and entities[authorQid][&amp;#039;claims&amp;#039;][&amp;#039;P734&amp;#039;][1] ~= nil) then&lt;br /&gt;
					author[&amp;#039;last&amp;#039;] = mw.wikibase.label(&amp;#039;Q&amp;#039;..entities[authorQid][&amp;#039;claims&amp;#039;][&amp;#039;P734&amp;#039;][1][&amp;#039;mainsnak&amp;#039;][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;numeric-id&amp;#039;]);&lt;br /&gt;
				end;&lt;br /&gt;
				&lt;br /&gt;
				table.insert(authors, author);&lt;br /&gt;
			end;&lt;br /&gt;
		end;			&lt;br /&gt;
		&lt;br /&gt;
		if(title ~= nil and title ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
			cite = cite .. &amp;quot;|title=&amp;quot;..title;&lt;br /&gt;
		end;&lt;br /&gt;
		if(publisher ~= nil and publisher ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
			cite = cite .. &amp;quot;|publisher=&amp;quot;..publisher;&lt;br /&gt;
		end;&lt;br /&gt;
		if(work ~= nil and work ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
			cite = cite .. &amp;quot;|work=&amp;quot;..work;&lt;br /&gt;
		end;		&lt;br /&gt;
		if(pubdate ~= nil and pubdate ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
			local pubdateText = Date(pubdate):text(df);&lt;br /&gt;
&lt;br /&gt;
			cite = cite .. &amp;quot;|date=&amp;quot;..pubdateText;&lt;br /&gt;
		end;		&lt;br /&gt;
		if(accessdate ~= nil and accessdate ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
			local accessdateText = Date(accessdate):text(df);&lt;br /&gt;
&lt;br /&gt;
			cite = cite .. &amp;quot;|accessdate=&amp;quot;..accessdateText;&lt;br /&gt;
		end;&lt;br /&gt;
		if(archiveUrl ~= nil and archiveUrl ~= &amp;quot;&amp;quot; and archiveDate ~= nil and archiveDate ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		    local archivedateText = Date(archiveDate):text(df);&lt;br /&gt;
			cite = cite .. &amp;quot;|archiveurl=&amp;quot;..archiveUrl;&lt;br /&gt;
			cite = cite .. &amp;quot;|archivedate=&amp;quot;..archivedateText;&lt;br /&gt;
		end;		&lt;br /&gt;
		if(#authors &amp;gt; 0) then&lt;br /&gt;
			for i,author in pairs(authors) do&lt;br /&gt;
				if(author[&amp;#039;first&amp;#039;] ~= nil and author[&amp;#039;last&amp;#039;] ~= nil and author[&amp;#039;first&amp;#039;] ~= &amp;quot;&amp;quot; and author[&amp;#039;last&amp;#039;] ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
					if(#authors == 1) then&lt;br /&gt;
						cite = cite ..&amp;quot;|last=&amp;quot;..author[&amp;#039;last&amp;#039;]..&amp;quot;|first=&amp;quot;..author[&amp;#039;first&amp;#039;];&lt;br /&gt;
					else&lt;br /&gt;
						cite = cite ..&amp;quot;|last&amp;quot;..i..&amp;quot;=&amp;quot;..author[&amp;#039;last&amp;#039;]..&amp;quot;|first&amp;quot;..i..&amp;quot;=&amp;quot;..author[&amp;#039;first&amp;#039;];&lt;br /&gt;
					end;&lt;br /&gt;
				else&lt;br /&gt;
					if(#authors == 1) then&lt;br /&gt;
						cite = cite ..&amp;quot;|author=&amp;quot;..author[&amp;#039;fullname&amp;#039;];&lt;br /&gt;
					else&lt;br /&gt;
						cite = cite ..&amp;quot;|author&amp;quot;..i..&amp;quot;=&amp;quot;..author[&amp;#039;fullname&amp;#039;];&lt;br /&gt;
					end;					&lt;br /&gt;
				end;&lt;br /&gt;
			end;			&lt;br /&gt;
		end;&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		cite = cite..&amp;#039;}}&amp;#039;;	&lt;br /&gt;
	end;&lt;br /&gt;
	&lt;br /&gt;
	return cite;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
local function printReviewRow(frame, reviewscore)&lt;br /&gt;
	local score = nil;&lt;br /&gt;
&lt;br /&gt;
	if(reviewscore[&amp;#039;mainsnak&amp;#039;][&amp;#039;datavalue&amp;#039;] ~= nil and reviewscore[&amp;#039;mainsnak&amp;#039;][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;] ~= nil) then&lt;br /&gt;
		score = reviewscore[&amp;#039;mainsnak&amp;#039;][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;];&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;quot;&amp;quot;;&lt;br /&gt;
	end;&lt;br /&gt;
	&lt;br /&gt;
	local ret = &amp;quot;&amp;quot;&lt;br /&gt;
	local system = nil;&lt;br /&gt;
	local reference = nil;	&lt;br /&gt;
&lt;br /&gt;
	if(reviewscore[&amp;#039;qualifiers&amp;#039;][&amp;#039;P400&amp;#039;] ~= nil and reviewscore[&amp;#039;qualifiers&amp;#039;][&amp;#039;P400&amp;#039;][1] ~= nil) then&lt;br /&gt;
		system = p.getSystemAlias(reviewscore[&amp;#039;qualifiers&amp;#039;][&amp;#039;P400&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;numeric-id&amp;#039;]);&lt;br /&gt;
	end	&lt;br /&gt;
	if(system ~= nil and system ~= &amp;quot;&amp;quot; and showSystem) then&lt;br /&gt;
		if(systemFormat == &amp;quot;para&amp;quot;) then&lt;br /&gt;
			ret = ret..&amp;quot;(&amp;quot;..system..&amp;quot;) &amp;quot;;&lt;br /&gt;
		else&lt;br /&gt;
			ret = ret..system..&amp;quot;: &amp;quot;;&lt;br /&gt;
		end;&lt;br /&gt;
	end;&lt;br /&gt;
&lt;br /&gt;
	ret = ret..score;&lt;br /&gt;
&lt;br /&gt;
	if(reviewscore[&amp;#039;references&amp;#039;] ~= nil and reviewscore[&amp;#039;references&amp;#039;][1] ~= nil and genRefs) then&lt;br /&gt;
		local cite = buildCite(reviewscore[&amp;#039;references&amp;#039;][1]);&lt;br /&gt;
		&lt;br /&gt;
		if(cite ~= nil) then&lt;br /&gt;
			local scoreBy = p.getAggregatorAlias(reviewscore[&amp;#039;qualifiers&amp;#039;][&amp;#039;P447&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;numeric-id&amp;#039;]);&lt;br /&gt;
			if(scoreBy == nil) then&lt;br /&gt;
				scoreBy = p.getReviewerAlias(reviewscore[&amp;#039;qualifiers&amp;#039;][&amp;#039;P447&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;numeric-id&amp;#039;]);&lt;br /&gt;
			end;&lt;br /&gt;
&lt;br /&gt;
			local name = entity:getLabel()..&amp;#039;-&amp;#039;..scoreBy;&lt;br /&gt;
			if(system ~= nil and system ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
				name = name..system;&lt;br /&gt;
			end;&lt;br /&gt;
&lt;br /&gt;
			cite = frame:extensionTag{ name = &amp;quot;ref&amp;quot;, args = {name=name}, content=cite };&lt;br /&gt;
			ret = ret..cite;&lt;br /&gt;
		end;&lt;br /&gt;
	end;&lt;br /&gt;
&lt;br /&gt;
	return ret..&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getSystemAlias(numericId)&lt;br /&gt;
	return systemAliases[numericId];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getSystemID(system)&lt;br /&gt;
	return systemIDs[system];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getAggregatorAlias(numericId)&lt;br /&gt;
	return aggregatorAliases[numericId];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getAggregatorID(system)&lt;br /&gt;
	return aggregatorIDs[system];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getReviewerAlias(numericId)&lt;br /&gt;
	return reviewerAliases[numericId];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getReviewerID(system)&lt;br /&gt;
	return reviewerIDs[system];&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.setReviewer(iReviewer)&lt;br /&gt;
	-- No reviewer, stop. Must have reviewer at least.&lt;br /&gt;
	if(iReviewer == nil or iReviewer == &amp;quot;&amp;quot;) then&lt;br /&gt;
		return &amp;quot;Missing reviewer&amp;quot;;&lt;br /&gt;
	end;&lt;br /&gt;
	&lt;br /&gt;
	-- See if supplied reviewer is in the aggregator table.&lt;br /&gt;
	iReviewer = string.upper(iReviewer)&lt;br /&gt;
	reviewer = p.getAggregatorID(iReviewer);&lt;br /&gt;
	if(reviewer == nil or reviewer == &amp;quot;&amp;quot;) then&lt;br /&gt;
		-- No? Maybe in the reviewer table.&lt;br /&gt;
		reviewer = p.getReviewerID(iReviewer);&lt;br /&gt;
		if(reviewer == nil or reviewer == &amp;quot;&amp;quot;) then&lt;br /&gt;
			return &amp;quot;Invalid reviewer&amp;quot;;&lt;br /&gt;
		end;&lt;br /&gt;
	end;	&lt;br /&gt;
&lt;br /&gt;
	return nil;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function p.setDateFormat(iDf)&lt;br /&gt;
	-- Check for a date format parameter. Default to mdy if missing.&lt;br /&gt;
	if(iDf ~= nil and iDf ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		df = string.lower(iDf);&lt;br /&gt;
	end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function p.setSystemFormat(iSf)&lt;br /&gt;
	if(iSf ~= nil and iSf ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		systemFormat = string.lower(iSf);&lt;br /&gt;
	end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function p.setUpdateLinkStyle(iStyle)&lt;br /&gt;
	if(iStyle ~= nil and iStyle ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		updateLinkStyle = string.lower(iStyle);&lt;br /&gt;
	end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function p.setGame(iGame)&lt;br /&gt;
	-- Check for a game parameter. If missing, default to current article.&lt;br /&gt;
	if(iGame ~= nil and iGame ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		if(entities[iGame] == nil and mw.wikibase ~= nil) then&lt;br /&gt;
 			entities[iGame] = mw.wikibase.getEntity(iGame);&lt;br /&gt;
		end;&lt;br /&gt;
		&lt;br /&gt;
		entity = entities[iGame]&lt;br /&gt;
	else&lt;br /&gt;
		-- Need to research if we can determine the entity&amp;#039;s ID before retrieving it.&lt;br /&gt;
		if(mw.wikibase ~= nil) then&lt;br /&gt;
			entity = mw.wikibase.getEntity();&lt;br /&gt;
			if(entity ~= nil) then&lt;br /&gt;
				entities[entity[&amp;#039;id&amp;#039;]] = entity;&lt;br /&gt;
			end;&lt;br /&gt;
		end;&lt;br /&gt;
	end;&lt;br /&gt;
	&lt;br /&gt;
	if(entity == nil) then&lt;br /&gt;
		return &amp;quot;No matching wikidata entity found&amp;quot;;&lt;br /&gt;
	end;&lt;br /&gt;
	&lt;br /&gt;
	return nil;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function p.setSystem(iSystem)&lt;br /&gt;
	-- Check for system parameter, and resolve it&amp;#039;s QID if possible.&lt;br /&gt;
	if(iSystem ~= nil and iSystem ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		system = string.upper(iSystem);&lt;br /&gt;
		systemId = p.getSystemID(system);&lt;br /&gt;
	elseif(not showSystem) then&lt;br /&gt;
		-- If no system was specified, force showSystem on.&lt;br /&gt;
		showSystem = true;&lt;br /&gt;
	end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function p.setGenerateReferences(iGenRefs)&lt;br /&gt;
	-- Reference suppression.&lt;br /&gt;
	if(iGenRefs ~= nil and iGenRefs ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		genRefs = yesno(iGenRefs, true);&lt;br /&gt;
	end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function p.setShowSystem(iShowSystem)&lt;br /&gt;
	-- Suppression of system aliases in front of score, i.e. (XBOX) xx/100.&lt;br /&gt;
	if(iShowSystem ~= nil and iShowSystem ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		showSystem = yesno(iShowSystem, false);&lt;br /&gt;
	end;&lt;br /&gt;
	if(system == nil or system == &amp;#039;&amp;#039;) then&lt;br /&gt;
		-- If no system was specified, force showSystem on.&lt;br /&gt;
		showSystem = true;&lt;br /&gt;
	end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function p.setShowUpdateLink(iShowUpdateLink)&lt;br /&gt;
	-- Suppression of update link to Wikidata at the end of the score, i.e. (XBOX) xx/100[+].&lt;br /&gt;
	if(iShowUpdateLink ~= nil and iShowUpdateLink ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		showUpdateLink = yesno(iShowUpdateLink, false);&lt;br /&gt;
	end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function p.getUpdateLink()&lt;br /&gt;
	if(updateLinkStyle == &amp;quot;pen&amp;quot;) then&lt;br /&gt;
		return &amp;quot;[[File:Blue pencil.svg|frameless|text-top|10px|alt=Edit this on Wikidata|link=https://www.wikidata.org/wiki/&amp;quot;..entity[&amp;#039;id&amp;#039;]..&amp;quot;?uselang=&amp;quot;..mw.language.getContentLanguage().code..&amp;quot;#P444|Edit this on Wikidata]]&amp;quot;;&lt;br /&gt;
	elseif(updateLinkStyle == &amp;quot;noSub&amp;quot;) then&lt;br /&gt;
		return &amp;#039;[[d:&amp;#039;..entity[&amp;#039;id&amp;#039;]..&amp;#039;#P444|&amp;amp;#91;±&amp;amp;#93;]]&amp;#039;;&lt;br /&gt;
	elseif(updateLinkStyle == &amp;quot;text and pen&amp;quot;) then&lt;br /&gt;
		return &amp;#039;&amp;lt;span style=&amp;quot;position: relative;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;position: absolute; right: 0;&amp;quot;&amp;gt;[[File:Blue pencil.svg|10px|baseline|link=|alt=]]&amp;lt;/span&amp;gt;[[d:&amp;#039;..entity[&amp;#039;id&amp;#039;]..&amp;#039;#P444|&amp;lt;span style=&amp;quot;position: relative; padding-right: 14px;&amp;quot;&amp;gt;Edit on Wikidata&amp;lt;/span&amp;gt;]]&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	end;&lt;br /&gt;
	&lt;br /&gt;
	return &amp;#039;&amp;lt;sub&amp;gt;[[d:&amp;#039;..entity[&amp;#039;id&amp;#039;]..&amp;#039;#P444|&amp;amp;#91;±&amp;amp;#93;]]&amp;lt;/sub&amp;gt;&amp;#039;;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function p.getSitelink()&lt;br /&gt;
	return mw.wikibase.sitelink(entity[&amp;#039;id&amp;#039;]);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function p.getLabel()&lt;br /&gt;
	return mw.wikibase.label(entity[&amp;#039;id&amp;#039;]);&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function p.getParts()&lt;br /&gt;
	local ret = {};	&lt;br /&gt;
	&lt;br /&gt;
	-- Loop all of &amp;quot;has Part&amp;quot; for this title&lt;br /&gt;
	local parts = entity[&amp;#039;claims&amp;#039;][&amp;#039;P527&amp;#039;];	&lt;br /&gt;
	if(parts) then&lt;br /&gt;
		for i,part in pairs(parts) do&lt;br /&gt;
			table.insert(ret,&amp;quot;Q&amp;quot;..part[&amp;#039;mainsnak&amp;#039;][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;numeric-id&amp;#039;]);&lt;br /&gt;
		end;		&lt;br /&gt;
	end;&lt;br /&gt;
&lt;br /&gt;
	return ret;	&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function p.getEarliestPublicationDate()&lt;br /&gt;
	local ret = {};&lt;br /&gt;
	&lt;br /&gt;
	local pubDates = entity[&amp;#039;claims&amp;#039;][&amp;#039;P577&amp;#039;];	&lt;br /&gt;
	if(pubDates) then&lt;br /&gt;
		for i,pubDate in pairs(pubDates) do&lt;br /&gt;
			if(pubDate[&amp;#039;mainsnak&amp;#039;][&amp;#039;datavalue&amp;#039;]) then&lt;br /&gt;
				local timestamp = pubDate[&amp;#039;mainsnak&amp;#039;][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;time&amp;#039;];&lt;br /&gt;
				local accessdate = Date(timestamp);	&lt;br /&gt;
				table.insert(ret,accessdate);&lt;br /&gt;
			end;&lt;br /&gt;
		end;		&lt;br /&gt;
	end;&lt;br /&gt;
&lt;br /&gt;
	if(#ret &amp;lt; 1) then&lt;br /&gt;
		return nil;&lt;br /&gt;
	end;&lt;br /&gt;
&lt;br /&gt;
	table.sort(ret);&lt;br /&gt;
	&lt;br /&gt;
	return ret[1];&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
function p.printReviewScores(frame)&lt;br /&gt;
	local ret = &amp;quot;&amp;quot;;	&lt;br /&gt;
	&lt;br /&gt;
	-- Loop all of &amp;quot;review scores&amp;quot; for this title&lt;br /&gt;
	local reviewscores = entity[&amp;#039;claims&amp;#039;][&amp;#039;P444&amp;#039;];	&lt;br /&gt;
	if(reviewscores) then&lt;br /&gt;
		-- Find reviews that qualify for printing and insert into array.&lt;br /&gt;
		local reviewsToPrint = {}&lt;br /&gt;
    	for i,review in pairs(reviewscores) do&lt;br /&gt;
    		if(review[&amp;#039;qualifiers&amp;#039;] ~= nil) then&lt;br /&gt;
				local scoreBy = nil &lt;br /&gt;
				if(review[&amp;#039;qualifiers&amp;#039;][&amp;#039;P447&amp;#039;] ~= nil and review[&amp;#039;qualifiers&amp;#039;][&amp;#039;P447&amp;#039;][1] ~= nil) then&lt;br /&gt;
					scoreBy = review[&amp;#039;qualifiers&amp;#039;][&amp;#039;P447&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;numeric-id&amp;#039;];&lt;br /&gt;
				end;&lt;br /&gt;
				if(scoreBy == reviewer) then&lt;br /&gt;
					-- If template specified a system, we need to check for the specific system and only output that one.&lt;br /&gt;
					if(system == nil or system == &amp;quot;&amp;quot;) then&lt;br /&gt;
						-- No system specified, so output each one found.&lt;br /&gt;
						table.insert(reviewsToPrint,review);&lt;br /&gt;
					else&lt;br /&gt;
						-- Get platform if it exists.&lt;br /&gt;
						if(review[&amp;#039;qualifiers&amp;#039;][&amp;#039;P400&amp;#039;] ~= nil and review[&amp;#039;qualifiers&amp;#039;][&amp;#039;P400&amp;#039;][1] ~= nil) then&lt;br /&gt;
							-- Try to match based on QID.&lt;br /&gt;
							local reviewSysId = review[&amp;#039;qualifiers&amp;#039;][&amp;#039;P400&amp;#039;][1][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;numeric-id&amp;#039;];&lt;br /&gt;
							if(systemId == reviewSysId) then&lt;br /&gt;
								table.insert(reviewsToPrint,review);&lt;br /&gt;
							else &lt;br /&gt;
								-- If that failed, try to match based on label.&lt;br /&gt;
								local systemName = mw.wikibase.label(&amp;#039;Q&amp;#039;..reviewSysId);&lt;br /&gt;
								if(systemName ~= nil and string.upper(systemName) == system) then&lt;br /&gt;
									table.insert(reviewsToPrint,review);&lt;br /&gt;
								end;&lt;br /&gt;
							end;&lt;br /&gt;
						end;&lt;br /&gt;
					end;&lt;br /&gt;
				end;&lt;br /&gt;
			end;    		&lt;br /&gt;
		end;&lt;br /&gt;
	&lt;br /&gt;
		-- Sort the array by platform label.&lt;br /&gt;
    	table.sort(reviewsToPrint, sortByPlatform);&lt;br /&gt;
    	&lt;br /&gt;
    	-- If a system was not specified, showSystem has defaulted to true. If this title only has one platform and one review, we will turn it off.&lt;br /&gt;
    	-- Note: If the title has zero or more platforms defined, we leave showSystem on. We are unable to determine if this is a single-platform game.&lt;br /&gt;
    	--if((system == nil or system == &amp;quot;&amp;quot;) and #reviewsToPrint == 1 and entity[&amp;#039;claims&amp;#039;][&amp;#039;P400&amp;#039;] ~= nil and #entity[&amp;#039;claims&amp;#039;][&amp;#039;P400&amp;#039;] == 1) then&lt;br /&gt;
    	-- Simplifying this based on discussion at [Template:Video game reviews]. If there&amp;#039;s only one review, don&amp;#039;t display system unless explicitly requested.&lt;br /&gt;
    	if((system == nil or system == &amp;quot;&amp;quot;) and #reviewsToPrint == 1) then&lt;br /&gt;
    		showSystem = false;&lt;br /&gt;
    	end;&lt;br /&gt;
&lt;br /&gt;
		-- Print the reviews&lt;br /&gt;
    	for i,review in ipairs(reviewsToPrint) do&lt;br /&gt;
    		ret = ret .. printReviewRow(frame, review);&lt;br /&gt;
		end;&lt;br /&gt;
	end;&lt;br /&gt;
&lt;br /&gt;
	if(ret ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		ret = string.sub(ret, 1, -7);&lt;br /&gt;
	elseif(not showUpdateLink) then&lt;br /&gt;
		ret = nil;&lt;br /&gt;
	end;&lt;br /&gt;
	&lt;br /&gt;
	-- Add edit link at end if showUpdateLink is on.&lt;br /&gt;
	if(showUpdateLink) then &lt;br /&gt;
		ret = ret .. p.getUpdateLink();&lt;br /&gt;
	end;	&lt;br /&gt;
&lt;br /&gt;
	return ret;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Wikipedia&gt;Ferret</name></author>
	</entry>
</feed>