<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.zombiepanicsource.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ACard</id>
	<title>Module:Card - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.zombiepanicsource.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ACard"/>
	<link rel="alternate" type="text/html" href="https://wiki.zombiepanicsource.com/index.php?title=Module:Card&amp;action=history"/>
	<updated>2026-05-14T14:48:54Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.zombiepanicsource.com/index.php?title=Module:Card&amp;diff=451&amp;oldid=prev</id>
		<title>Wuffesan at 21:02, 11 June 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.zombiepanicsource.com/index.php?title=Module:Card&amp;diff=451&amp;oldid=prev"/>
		<updated>2025-06-11T21:02:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:02, 11 June 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l43&quot;&gt;Line 43:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 43:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local link = args.link or lib.ternary(item == &amp;#039;Unknown&amp;#039;, &amp;#039;&amp;#039;, item)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local link = args.link or lib.ternary(item == &amp;#039;Unknown&amp;#039;, &amp;#039;&amp;#039;, item)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local link_suffix = args.link_suffix or &amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local link_suffix = args.link_suffix or &amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	-- Modifiers:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	local isFirst = args.first or false&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	local isUp = args.UP or args.up or false&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	if lib.isEmpty(suffix) then&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	if lib.isEmpty(suffix) then&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l127&quot;&gt;Line 127:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 123:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			card_caption:css(&amp;#039;width&amp;#039;, caption_width)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			card_caption:css(&amp;#039;width&amp;#039;, caption_width)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		end&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		end&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	end&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	if (isFirst) then&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		local card_mod_first = card_wrapper:tag(&#039;div&#039;)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;			:addClass(&#039;card-modifier card-modifier-first&#039;)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;			:wikitext(&#039;[[File:Icon Item First.png|x25px]]&#039;)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	end&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	if (isUp) then&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		local card_mod_up = card_wrapper:tag(&#039;div&#039;)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;			:addClass(&#039;card-modifier card-modifier-up&#039;)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;			:wikitext(&#039;[[File:Icon Item UP.png|x25px]]&#039;)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	end&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	end&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key zpsite_wiki:diff:1.41:old-424:rev-451:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Wuffesan</name></author>
	</entry>
	<entry>
		<id>https://wiki.zombiepanicsource.com/index.php?title=Module:Card&amp;diff=424&amp;oldid=prev</id>
		<title>Wuffesan: Created page with &quot;local p = {} local lib = require(&#039;Module:Feature&#039;) local ne = lib.isNotEmpty local link_label = require(&#039;Module:Link_Label&#039;)._main local namespace = require(&#039;Module:Namespace_detect&#039;)._main local getTemplateArgs = require(&#039;Module:Parser&#039;).getTemplateArgs local array = require(&#039;Module:Array&#039;)  local allData = { 	{&#039;Survivor&#039;, mw.loadData(&#039;Module:Card/Survivors&#039;)}, 	{&#039;Weapon&#039;, mw.loadData(&#039;Module:Card/Weapons&#039;)}, 	{&#039;Item&#039;, mw.loadData(&#039;Module:Card/Items&#039;)}, }  local COLON =...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.zombiepanicsource.com/index.php?title=Module:Card&amp;diff=424&amp;oldid=prev"/>
		<updated>2025-06-11T19:57:55Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local p = {} local lib = require(&amp;#039;Module:Feature&amp;#039;) local ne = lib.isNotEmpty local link_label = require(&amp;#039;Module:Link_Label&amp;#039;)._main local namespace = require(&amp;#039;Module:Namespace_detect&amp;#039;)._main local getTemplateArgs = require(&amp;#039;Module:Parser&amp;#039;).getTemplateArgs local array = require(&amp;#039;Module:Array&amp;#039;)  local allData = { 	{&amp;#039;Survivor&amp;#039;, mw.loadData(&amp;#039;Module:Card/Survivors&amp;#039;)}, 	{&amp;#039;Weapon&amp;#039;, mw.loadData(&amp;#039;Module:Card/Weapons&amp;#039;)}, 	{&amp;#039;Item&amp;#039;, mw.loadData(&amp;#039;Module:Card/Items&amp;#039;)}, }  local COLON =...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
local lib = require(&amp;#039;Module:Feature&amp;#039;)&lt;br /&gt;
local ne = lib.isNotEmpty&lt;br /&gt;
local link_label = require(&amp;#039;Module:Link_Label&amp;#039;)._main&lt;br /&gt;
local namespace = require(&amp;#039;Module:Namespace_detect&amp;#039;)._main&lt;br /&gt;
local getTemplateArgs = require(&amp;#039;Module:Parser&amp;#039;).getTemplateArgs&lt;br /&gt;
local array = require(&amp;#039;Module:Array&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local allData = {&lt;br /&gt;
	{&amp;#039;Survivor&amp;#039;, mw.loadData(&amp;#039;Module:Card/Survivors&amp;#039;)},&lt;br /&gt;
	{&amp;#039;Weapon&amp;#039;, mw.loadData(&amp;#039;Module:Card/Weapons&amp;#039;)},&lt;br /&gt;
	{&amp;#039;Item&amp;#039;, mw.loadData(&amp;#039;Module:Card/Items&amp;#039;)},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local COLON = &amp;#039;&amp;amp;#58;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame, {&lt;br /&gt;
		wrapper = { &amp;#039;Template:Card&amp;#039; },&lt;br /&gt;
		parentOnly = false&lt;br /&gt;
	})&lt;br /&gt;
	return p._main(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	local item = args[1] or args.name or &amp;#039;Unknown&amp;#039;&lt;br /&gt;
	local label = args[2] or args.label or args.text or args.count or args.amount or args.x or nil&lt;br /&gt;
	&lt;br /&gt;
	-- Reset specific data to prevent carry-over from previous cards&lt;br /&gt;
	local notice = nil, nil&lt;br /&gt;
	&lt;br /&gt;
	-- Caption Params:&lt;br /&gt;
	local caption = args.caption or nil&lt;br /&gt;
	local caption_width = args.caption_width or args.captionWidth or nil&lt;br /&gt;
	&lt;br /&gt;
    -- Image File Params:&lt;br /&gt;
	local type, data = p.getTypeAndData(item, args.type)&lt;br /&gt;
	local suffix = args.suffix or &amp;#039;&amp;#039;&lt;br /&gt;
	local imageSize = args.image_size or args.imageSize or lib.ternary(args.mini == &amp;#039;1&amp;#039;, 48, 70)&lt;br /&gt;
	local imageExt = args.image_ext or args.imageExt or &amp;#039;png&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	-- Link Params:&lt;br /&gt;
	local link = args.link or lib.ternary(item == &amp;#039;Unknown&amp;#039;, &amp;#039;&amp;#039;, item)&lt;br /&gt;
	local link_suffix = args.link_suffix or &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	-- Modifiers:&lt;br /&gt;
	local isFirst = args.first or false&lt;br /&gt;
	local isUp = args.UP or args.up or false&lt;br /&gt;
	&lt;br /&gt;
	if lib.isEmpty(suffix) then&lt;br /&gt;
		local lcType = type:lower()&lt;br /&gt;
		if (lcType == &amp;#039;agent&amp;#039;) then&lt;br /&gt;
			suffix = &amp;#039; Icon&amp;#039;&lt;br /&gt;
			&lt;br /&gt;
			--In Full-Size Card-Mode, if there is no specified text, Agents will default to using their full name displayed underneath.&lt;br /&gt;
			if args.mini ~= &amp;quot;1&amp;quot; then&lt;br /&gt;
				if (label == nil) then label = item end&lt;br /&gt;
			end&lt;br /&gt;
			-- In Mini-Size Card-Mode, if there is no specified text, Agents will use their &amp;quot;shortName&amp;quot; pulled from /data as the displayed text.&lt;br /&gt;
			-- In cases where Agents do not have a &amp;quot;shortName&amp;quot;, their full name will be displayed instead.&lt;br /&gt;
			if args.mini == &amp;quot;1&amp;quot; then&lt;br /&gt;
				if (label == nil) and data[&amp;#039;shortName&amp;#039;] ~= nil then label = data[&amp;#039;shortName&amp;#039;]&lt;br /&gt;
				elseif (label == nil) and data[&amp;#039;shortName&amp;#039;] == nil then label = item&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			-- hackish workaround to account for the slight transparent borders on hoyolab agent icons&lt;br /&gt;
			if (tonumber(imageSize) ~= nil) then&lt;br /&gt;
				imageSize = tonumber(imageSize) + 2&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
		else&lt;br /&gt;
			suffix = &amp;#039; Icon&amp;#039; &lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local final_file = type .. &amp;#039; &amp;#039; .. lib.sanitizeFileName(item) .. suffix .. &amp;#039;.&amp;#039; .. imageExt&lt;br /&gt;
	local final_link = link .. link_suffix&lt;br /&gt;
	&lt;br /&gt;
	local file = &amp;#039;[[File:&amp;#039; .. final_file .. &amp;#039;|&amp;#039; .. imageSize .. &amp;#039;px|alt=&amp;#039; .. item .. &amp;#039;|link=&amp;#039; .. final_link .. &amp;#039;]]&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	local result = mw.html.create()&lt;br /&gt;
	&lt;br /&gt;
	local card_container = result:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;card-container&amp;#039;)&lt;br /&gt;
		&lt;br /&gt;
	if args.mini == &amp;quot;1&amp;quot; then&lt;br /&gt;
		card_container:addClass(&amp;#039;mini-card&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	local card_wrapper = card_container:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;card-wrapper&amp;#039;)&lt;br /&gt;
		&lt;br /&gt;
	local card_body = card_wrapper:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;card-body&amp;#039;)&lt;br /&gt;
		&lt;br /&gt;
	local card_link = card_wrapper:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;card-link&amp;#039;)&lt;br /&gt;
		:wikitext(&amp;#039;[[&amp;#039; .. final_link .. &amp;#039;]]&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	local card_image = card_body:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;card-image-container&amp;#039;)&lt;br /&gt;
		:wikitext(file)&lt;br /&gt;
&lt;br /&gt;
--[[if label and not (args.label == &amp;quot;0&amp;quot; or args.text == &amp;quot;0&amp;quot;) then --]]&lt;br /&gt;
    if (label or args.show_text) and (args.label ~= &amp;quot;0&amp;quot; or args.text ~= &amp;quot;0&amp;quot;) then &lt;br /&gt;
		if args.show_label == &amp;quot;1&amp;quot; or args.show_text == &amp;quot;1&amp;quot; then&lt;br /&gt;
			label = data and data.name or item&lt;br /&gt;
		end &lt;br /&gt;
	&lt;br /&gt;
		local card_label = card_container:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;card-label&amp;#039;)&lt;br /&gt;
			:wikitext(label)&lt;br /&gt;
	end 	&lt;br /&gt;
&lt;br /&gt;
	if (caption or args.show_caption) and args.show_caption ~= &amp;quot;0&amp;quot; then&lt;br /&gt;
		if args.show_caption == &amp;quot;1&amp;quot; then&lt;br /&gt;
			caption = (data and data.name) or item&lt;br /&gt;
		end&lt;br /&gt;
		local card_caption = card_container:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;card-caption&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;[[&amp;#039;, final_link, &amp;#039;|&amp;#039;, caption, &amp;#039;]]&amp;#039;)&lt;br /&gt;
			&lt;br /&gt;
		if caption_width == &amp;#039;auto&amp;#039; or lib.isEmpty(caption_width) then&lt;br /&gt;
			card_caption:addClass(&amp;#039;auto-width&amp;#039;)&lt;br /&gt;
		else&lt;br /&gt;
			card_caption:css(&amp;#039;width&amp;#039;, caption_width)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if (isFirst) then&lt;br /&gt;
		local card_mod_first = card_wrapper:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;card-modifier card-modifier-first&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;[[File:Icon Item First.png|x25px]]&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if (isUp) then&lt;br /&gt;
		local card_mod_up = card_wrapper:tag(&amp;#039;div&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;card-modifier card-modifier-up&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039;[[File:Icon Item UP.png|x25px]]&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args.mini ~= &amp;quot;1&amp;quot; then  -- Only display the icons if mini is not set to &amp;quot;1&amp;quot;&lt;br /&gt;
	    local notice = args.notice or nil&lt;br /&gt;
	    if ne(notice) then&lt;br /&gt;
		    card_body:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;card-notice-label&amp;#039;)&lt;br /&gt;
				:wikitext(notice)&lt;br /&gt;
	    end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return tostring(result)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getTypeAndData(name, type)&lt;br /&gt;
	local img_type = type or &amp;#039;Item&amp;#039;&lt;br /&gt;
	local img_data = nil&lt;br /&gt;
	&lt;br /&gt;
	for i, v in ipairs(allData) do&lt;br /&gt;
		-- Only if the type was either not provided in the card args or if the provided type from card args is equal&lt;br /&gt;
		if lib.isEmpty(type) or v[1] == type then&lt;br /&gt;
			local data = v[2][name]&lt;br /&gt;
			if data then&lt;br /&gt;
				img_type = v[1]&lt;br /&gt;
				img_data = data&lt;br /&gt;
				break&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return img_type, img_data&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Wuffesan</name></author>
	</entry>
</feed>