<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://hna.wiki/Module:Card?action=history&amp;feed=atom</id>
	<title>Module:Card - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://hna.wiki/Module:Card?action=history&amp;feed=atom"/>
	<link rel="alternate" type="text/html" href="https://hna.wiki/Module:Card?action=history"/>
	<updated>2026-07-15T17:04:11Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://hna.wiki/Module:Card?diff=9223&amp;oldid=prev</id>
		<title>Valaerys: Created page with &quot;local p = {} local lib = require(&#039;Module:Feature&#039;) local TemplateData = require(&#039;Module:TemplateData&#039;) local Icon = require(&#039;Module:Icon&#039;)   local RARITY_STARS = { 	--[&#039;0&#039;] = &#039;&#039;, 	--[&#039;1&#039;] = &#039;✦&#039;, 	--[&#039;2&#039;] = &#039;✦✦&#039;,notext 	--[&#039;3&#039;] = &#039;✦✦✦&#039;, 	--[&#039;4&#039;] = &#039;✦✦✦✦&#039;, 	--[&#039;5&#039;] = &#039;✦✦✦✦✦&#039; 	[&#039;1&#039;] = &#039;alt=Rarity 1&#039;, 	[&#039;2&#039;] = &#039;alt=Rarity 2&#039;, 	[&#039;3&#039;] = &#039;[[File:Icon 3 Stars.png|x12px|link=...&quot;</title>
		<link rel="alternate" type="text/html" href="https://hna.wiki/Module:Card?diff=9223&amp;oldid=prev"/>
		<updated>2026-07-14T22:24:23Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local p = {} local lib = require(&amp;#039;Module:Feature&amp;#039;) local TemplateData = require(&amp;#039;Module:TemplateData&amp;#039;) local Icon = require(&amp;#039;Module:Icon&amp;#039;)   local RARITY_STARS = { 	--[&amp;#039;0&amp;#039;] = &amp;#039;&amp;#039;, 	--[&amp;#039;1&amp;#039;] = &amp;#039;✦&amp;#039;, 	--[&amp;#039;2&amp;#039;] = &amp;#039;✦✦&amp;#039;,notext 	--[&amp;#039;3&amp;#039;] = &amp;#039;✦✦✦&amp;#039;, 	--[&amp;#039;4&amp;#039;] = &amp;#039;✦✦✦✦&amp;#039;, 	--[&amp;#039;5&amp;#039;] = &amp;#039;✦✦✦✦✦&amp;#039; 	[&amp;#039;1&amp;#039;] = &amp;#039;&lt;a href=&quot;/File:Icon_1_Stars.png&quot; title=&quot;File:Icon 1 Stars.png&quot;&gt;x12px|link=|alt=Rarity 1&lt;/a&gt;&amp;#039;, 	[&amp;#039;2&amp;#039;] = &amp;#039;&lt;a href=&quot;/File:Icon_2_Stars.png&quot; title=&quot;File:Icon 2 Stars.png&quot;&gt;x12px|link=|alt=Rarity 2&lt;/a&gt;&amp;#039;, 	[&amp;#039;3&amp;#039;] = &amp;#039;[[File:Icon 3 Stars.png|x12px|link=...&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 TemplateData = require(&amp;#039;Module:TemplateData&amp;#039;)&lt;br /&gt;
local Icon = require(&amp;#039;Module:Icon&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local RARITY_STARS = {&lt;br /&gt;
	--[&amp;#039;0&amp;#039;] = &amp;#039;&amp;#039;,&lt;br /&gt;
	--[&amp;#039;1&amp;#039;] = &amp;#039;✦&amp;#039;,&lt;br /&gt;
	--[&amp;#039;2&amp;#039;] = &amp;#039;✦✦&amp;#039;,notext&lt;br /&gt;
	--[&amp;#039;3&amp;#039;] = &amp;#039;✦✦✦&amp;#039;,&lt;br /&gt;
	--[&amp;#039;4&amp;#039;] = &amp;#039;✦✦✦✦&amp;#039;,&lt;br /&gt;
	--[&amp;#039;5&amp;#039;] = &amp;#039;✦✦✦✦✦&amp;#039;&lt;br /&gt;
	[&amp;#039;1&amp;#039;] = &amp;#039;[[File:Icon 1 Stars.png|x12px|link=|alt=Rarity 1]]&amp;#039;,&lt;br /&gt;
	[&amp;#039;2&amp;#039;] = &amp;#039;[[File:Icon 2 Stars.png|x12px|link=|alt=Rarity 2]]&amp;#039;,&lt;br /&gt;
	[&amp;#039;3&amp;#039;] = &amp;#039;[[File:Icon 3 Stars.png|x12px|link=|alt=Rarity 3]]&amp;#039;,&lt;br /&gt;
	[&amp;#039;4&amp;#039;] = &amp;#039;[[File:Icon 4 Stars.png|x12px|link=|alt=Rarity 4]]&amp;#039;,&lt;br /&gt;
	[&amp;#039;5&amp;#039;] = &amp;#039;[[File:Icon 5 Stars.png|x12px|link=|alt=Rarity 5]]&amp;#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local SUPERIMPOSITION_TABLE = {&lt;br /&gt;
	[&amp;#039;1&amp;#039;] = { num = &amp;#039;1&amp;#039;, text = &amp;#039;I&amp;#039; },&lt;br /&gt;
	[&amp;#039;I&amp;#039;] = { num = &amp;#039;1&amp;#039;, text = &amp;#039;I&amp;#039; },&lt;br /&gt;
	[&amp;#039;2&amp;#039;] = { num = &amp;#039;2&amp;#039;, text = &amp;#039;II&amp;#039; },&lt;br /&gt;
	[&amp;#039;II&amp;#039;] = { num = &amp;#039;2&amp;#039;, text = &amp;#039;II&amp;#039; },&lt;br /&gt;
	[&amp;#039;3&amp;#039;] = { num = &amp;#039;3&amp;#039;, text = &amp;#039;III&amp;#039; },&lt;br /&gt;
	[&amp;#039;III&amp;#039;] = { num = &amp;#039;3&amp;#039;, text = &amp;#039;III&amp;#039; },&lt;br /&gt;
	[&amp;#039;4&amp;#039;] = { num = &amp;#039;4&amp;#039;, text = &amp;#039;IV&amp;#039; },&lt;br /&gt;
	[&amp;#039;IV&amp;#039;] = { num = &amp;#039;4&amp;#039;, text = &amp;#039;IV&amp;#039; },&lt;br /&gt;
	[&amp;#039;5&amp;#039;] = { num = &amp;#039;5&amp;#039;, text = &amp;#039;V&amp;#039; },&lt;br /&gt;
	[&amp;#039;V&amp;#039;] = { num = &amp;#039;5&amp;#039;, text = &amp;#039;V&amp;#039; },&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local PREFIX_ICONS = {&lt;br /&gt;
	[&amp;#039;Recipe: &amp;#039;] = {name=&amp;#039;Recipe&amp;#039;, type=&amp;#039;Item&amp;#039;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- main template/module parameters&lt;br /&gt;
local CARD_ARGS = {&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;name&amp;#039;, alias={1,&amp;#039;character&amp;#039;}, displayName=1,&lt;br /&gt;
		status=&amp;#039;suggested&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Name&amp;#039;,&lt;br /&gt;
		description=&amp;#039;The name of the image (without the prefix or extension).&amp;#039;,&lt;br /&gt;
		default=&amp;#039;Unknown&amp;#039;,&lt;br /&gt;
		example={&amp;#039;Credit&amp;#039;, &amp;#039;Stellar Jade&amp;#039;, &amp;#039;Amber&amp;#039;},&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;text&amp;#039;, alias=2, displayName=2,&lt;br /&gt;
		label=&amp;#039;Card Text&amp;#039;,&lt;br /&gt;
		description=&amp;#039;The text below the image.&amp;#039;,&lt;br /&gt;
		default=&amp;#039;&amp;amp;mdash;&amp;#039;,&lt;br /&gt;
		displayDefault=&amp;#039;&amp;quot;&amp;amp;mdash;&amp;quot; for most items; same as Image Name for characters&amp;#039;,&lt;br /&gt;
		example={&amp;#039;100&amp;#039;, &amp;#039;Lv. 1&amp;#039;, &amp;#039;Set&amp;#039;},&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;notext&amp;#039;, type=&amp;#039;1&amp;#039;,&lt;br /&gt;
		label=&amp;#039;No Text&amp;#039;,&lt;br /&gt;
		trueDescription=&amp;#039;remove text from bottom.&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;multiline_text&amp;#039;, type=&amp;#039;1&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Allow Multiple Lines of Card Text&amp;#039;,&lt;br /&gt;
		trueDescription=&amp;#039;allow card text to wrap to a new line if necessary.&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;rarity&amp;#039;, displayType=&amp;#039;number&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Card Rarity&amp;#039;,&lt;br /&gt;
		description=&amp;#039;The Rarity of the item. For light background, add 10. Use 0 for white version. Use multiple numbers for split rarities.&amp;#039;,&lt;br /&gt;
		default=&amp;#039;0&amp;#039;,&lt;br /&gt;
		displayDefault=&amp;#039;determined based on Image Name; &amp;quot;0&amp;quot; if unknown&amp;#039;,&lt;br /&gt;
		example={&amp;#039;1&amp;#039;, &amp;#039;2&amp;#039;, &amp;#039;3&amp;#039;, &amp;#039;4&amp;#039;, &amp;#039;5&amp;#039;},&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;type&amp;#039;, placeholderFor=&amp;#039;Module:Icon&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;suffix&amp;#039;, placeholderFor=&amp;#039;Module:Icon&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;extension&amp;#039;, placeholderFor=&amp;#039;Module:Icon&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;link&amp;#039;, displayType=&amp;#039;wiki-page-name&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Card Link&amp;#039;,&lt;br /&gt;
		description=&amp;#039;The page to link to when image or caption text is clicked.&amp;#039;,&lt;br /&gt;
		displayDefault=&amp;#039;same as Image Name&amp;#039;,&lt;br /&gt;
		defaultFrom=&amp;#039;name&amp;#039;,&lt;br /&gt;
		example={&amp;#039;Credit&amp;#039;, &amp;#039;Virtual Particle&amp;#039;, &amp;#039;Trailblazer&amp;#039;},&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;link_suffix&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Page Link Suffix&amp;#039;,&lt;br /&gt;
		description=&amp;#039;Text to append to the Page Link. (Usually used to link to page sections.)&amp;#039;,&lt;br /&gt;
		default=&amp;#039;&amp;#039;,&lt;br /&gt;
		example=&amp;#039;#Steps&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;nolink&amp;#039;, type=&amp;#039;1&amp;#039;,&lt;br /&gt;
		label=&amp;#039;No Link&amp;#039;,&lt;br /&gt;
		trueDescription=&amp;#039;remove default links from card image, icons, and caption.&amp;#039;,&lt;br /&gt;
		displayDefault=&amp;#039;&amp;quot;1&amp;quot; if Image Name is default (&amp;quot;Unknown&amp;quot;)&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;icon&amp;#039;, displayType=&amp;#039;content&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Icon&amp;#039;,&lt;br /&gt;
		description=&amp;#039;The icon at the top left of the card.&amp;#039;,&lt;br /&gt;
		example={&amp;#039;{{Icon/Element|Fire|25}}&amp;#039;, &amp;#039;[[File:Item Stellar Jade.png|25px]]&amp;#039;},&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;icon_style&amp;#039;, displayType=&amp;#039;string&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Icon Style&amp;#039;,&lt;br /&gt;
		description=&amp;#039;The custom style of the icon at the top left of the card. Omit the \&amp;#039;\&amp;#039; used for CSS.&amp;#039;,&lt;br /&gt;
		example=&amp;#039;background: red;&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;icon_right&amp;#039;, displayType=&amp;#039;content&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Top-Right Icon&amp;#039;,&lt;br /&gt;
		description=&amp;#039;Icon on the top right of the card.&amp;#039;,&lt;br /&gt;
		example=&amp;#039;{{Icon/Element|Fire|25}}&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;icon_right_style&amp;#039;, displayType=&amp;#039;string&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Top-Right Icon Style&amp;#039;,&lt;br /&gt;
		description=&amp;#039;The custom style of the icon at the top right of the card. Omit the \&amp;#039;\&amp;#039; used for CSS.&amp;#039;,&lt;br /&gt;
		example=&amp;#039;background: red;&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;show_caption&amp;#039;, type=&amp;#039;1&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Show Caption&amp;#039;,&lt;br /&gt;
		trueDescription=&amp;#039;show caption text below the card.&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;caption&amp;#039;, displayType=&amp;#039;string&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Caption Text&amp;#039;,&lt;br /&gt;
		description=&amp;#039;The linked caption text that shows below the card.&amp;#039;,&lt;br /&gt;
		displayDefault=&amp;#039;same as Name&amp;#039;,&lt;br /&gt;
		defaultFrom=&amp;#039;name&amp;#039;,&lt;br /&gt;
		example={&amp;#039;Comfort Food&amp;#039;, &amp;#039;Rewards&amp;#039;},&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;caption_width&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Caption Width&amp;#039;,&lt;br /&gt;
		description=&amp;#039;Width of the captions. Set to \&amp;#039;auto\&amp;#039; to automatically increase the caption width to prevent it from wrapping in the middle of words.&amp;#039;,&lt;br /&gt;
		displayDefault=&amp;#039;same as card width (74px, or 40px for mini cards)&amp;#039;,&lt;br /&gt;
		example={&amp;#039;200px&amp;#039;, &amp;#039;auto&amp;#039;},&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;note&amp;#039;, displayType=&amp;#039;string&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Caption Note&amp;#039;,&lt;br /&gt;
		description=&amp;#039;The unlinked caption text that shows below the linked caption text.&amp;#039;,&lt;br /&gt;
		example=&amp;#039;(Bonus reward)&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;superimposition&amp;#039;, alias=&amp;#039;si&amp;#039;, displayType=&amp;#039;number&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Superimposition Level&amp;#039;,&lt;br /&gt;
		description=&amp;#039;The superimposition level of the light cone.&amp;#039;, --Set to \&amp;#039;1a\&amp;#039; to denote a light cone that cannot be superimposed.&lt;br /&gt;
		example={&amp;#039;1&amp;#039;, &amp;#039;2&amp;#039;, &amp;#039;3&amp;#039;, &amp;#039;4&amp;#039;, &amp;#039;5&amp;#039;}, --, &amp;#039;1a&amp;#039;&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;ascension&amp;#039;, placeholderFor=&amp;#039;Module:Icon&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;eidolon&amp;#039;, alias=&amp;#039;e&amp;#039;, displayType=&amp;#039;number&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Eidolon Level&amp;#039;,&lt;br /&gt;
		description=&amp;#039;Eidolon Level of the Character.&amp;#039;,&lt;br /&gt;
		example={&amp;#039;0&amp;#039;, &amp;#039;1&amp;#039;, &amp;#039;2&amp;#039;, &amp;#039;3&amp;#039;, &amp;#039;4&amp;#039;, &amp;#039;5&amp;#039;, &amp;#039;6&amp;#039;},&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;weakness&amp;#039;, alias=&amp;#039;w&amp;#039;, displayType=&amp;#039;string&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Enemy Weakness&amp;#039;,&lt;br /&gt;
		description=&amp;#039;List of elements the enemy is weak against&amp;#039;,&lt;br /&gt;
		example={&amp;#039;Quantum; Wind&amp;#039;},&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;aether&amp;#039;, displayType=&amp;#039;string&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Aether Type&amp;#039;,&lt;br /&gt;
		description=&amp;#039;Enemy\&amp;#039;s Aether type when an Aether Spirit&amp;#039;,&lt;br /&gt;
		example={&amp;#039;Humanoid&amp;#039;, &amp;#039;Mechanical&amp;#039;, &amp;#039;Aberrant&amp;#039;},&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;tier&amp;#039;, displayType=&amp;#039;string&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Enemy Tier&amp;#039;,&lt;br /&gt;
		description=&amp;#039;List of elements the enemy is weak against&amp;#039;,&lt;br /&gt;
		example={&amp;#039;Normal&amp;#039;, &amp;#039;Elite&amp;#039;, &amp;#039;Boss&amp;#039;, &amp;#039;Echo of War&amp;#039;},&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;stars&amp;#039;, type=&amp;#039;1&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Show Item Stars&amp;#039;,&lt;br /&gt;
		trueDescription=&amp;#039;show the stars of the rarity of the item. (Does not work if rarity is &amp;quot;0&amp;quot; or split (e.g., &amp;quot;123&amp;quot; or &amp;quot;34&amp;quot;).)&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;mini&amp;#039;, type=&amp;#039;1&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Mini&amp;#039;,&lt;br /&gt;
		trueDescription=&amp;#039;show a smaller card. (Not all parameters apply to mini cards.)&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;noprefix&amp;#039;, type=&amp;#039;1&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Ignore Prefix&amp;#039;,&lt;br /&gt;
		trueDescription=&amp;#039;Skips any processing of prefixes (such as Recipe) for special cases.&amp;#039;&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;notice&amp;#039;, displayType=&amp;#039;string&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Notice Label&amp;#039;,&lt;br /&gt;
		description=&amp;#039;Text to display in a small box in the style of the in-game &amp;quot;New&amp;quot; notifications.&amp;#039;,&lt;br /&gt;
		example={&amp;#039;New&amp;#039;,&amp;#039;2.2&amp;#039;,&amp;#039;Soon&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;#039;minitext&amp;#039;, type=&amp;#039;1&amp;#039;,&lt;br /&gt;
		label=&amp;#039;Allow Mini Card Text&amp;#039;,&lt;br /&gt;
		description=&amp;#039;Flag to allow the text param for mini cards.&amp;#039;&lt;br /&gt;
	},&lt;br /&gt;
}&lt;br /&gt;
-- add parameters inherited from Icon for the main image, top-left icon, and equipped icon&lt;br /&gt;
Icon.addIconArgs(CARD_ARGS, &amp;#039;&amp;#039;, &amp;#039;&amp;#039;, { -- exclude args already present in CARD_ARGS or that don&amp;#039;t apply to the main image&lt;br /&gt;
	name=false,&lt;br /&gt;
	link=false,&lt;br /&gt;
	size=false,&lt;br /&gt;
	alt=false,&lt;br /&gt;
})&lt;br /&gt;
Icon.addIconArgs(CARD_ARGS, &amp;#039;icon_&amp;#039;, &amp;#039;Top-Left Icon &amp;#039;, { -- override to add `element` alias and document automatic icons&lt;br /&gt;
	name={&lt;br /&gt;
		alias=&amp;#039;element&amp;#039;,&lt;br /&gt;
		description=&amp;#039;Name of the icon to display at the top left of the card (without the prefix or extension).&amp;#039;,&lt;br /&gt;
		displayDefault=&amp;#039;element icon for characters; empty otherwise&amp;#039;,&lt;br /&gt;
		example={&amp;#039;Quantum&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
})&lt;br /&gt;
Icon.addIconArgs(CARD_ARGS, &amp;#039;equipped_&amp;#039;, &amp;#039;Equipped &amp;#039;, { -- overrides to add `equipped`/`e` aliases and change default size&lt;br /&gt;
	name={&lt;br /&gt;
		alias={&amp;#039;equipped&amp;#039;, &amp;#039;eq&amp;#039;},&lt;br /&gt;
		description=&amp;#039;Name of the light cone or character to display at the top right of the card (or bottom left, if Eidolon Level is present; name does not include the prefix or extension).&amp;#039;,&lt;br /&gt;
		example={&amp;#039;In the Name of the World&amp;#039;, &amp;#039;Trailblazer&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	size={default=&amp;#039;30&amp;#039;},&lt;br /&gt;
})&lt;br /&gt;
&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;
		parentFirst = true,&lt;br /&gt;
		wrapper = { &amp;#039;Template:Card&amp;#039; }&lt;br /&gt;
	})&lt;br /&gt;
	return p._main(args, frame)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- apply defaults; load and apply data (e.g., rarity, character element)&lt;br /&gt;
function p._processArgs(args)&lt;br /&gt;
	local out = TemplateData.processArgs(args, CARD_ARGS)&lt;br /&gt;
	&lt;br /&gt;
	-- set defaults that depend on other arguments&lt;br /&gt;
	out.defaults.show_caption = lib.isNotEmpty(out.nonDefaults.caption)&lt;br /&gt;
	out.defaults.nolink = out.name == out.defaults.name and lib.isEmpty(out.nonDefaults.link)&lt;br /&gt;
	&lt;br /&gt;
	-- handle deprecated caption value&lt;br /&gt;
	if tostring(out.caption) == &amp;#039;1&amp;#039; then&lt;br /&gt;
		out.uses_deprecated_params = true&lt;br /&gt;
		out.caption = nil&lt;br /&gt;
		out.show_caption = true&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- handle nolink&lt;br /&gt;
	out.final_link = out.nolink and &amp;#039;&amp;#039; or (out.link .. out.link_suffix)&lt;br /&gt;
	&lt;br /&gt;
	-- build args for main card image&lt;br /&gt;
	local mainImageArgs = Icon.extractIconArgs(out)&lt;br /&gt;
	mainImageArgs.link = out.final_link&lt;br /&gt;
	mainImageArgs.size = 74&lt;br /&gt;
	&lt;br /&gt;
	if (not args.noprefix) then&lt;br /&gt;
		-- check for prefixes in `name` that correspond to top-left icons&lt;br /&gt;
		-- note: priority of icon specification: `icon` arg &amp;gt; `icon_name` arg &amp;gt; prefix of `name` &amp;gt; character element from data&lt;br /&gt;
		local baseName, prefix = Icon.stripPrefixes(out.name, PREFIX_ICONS)&lt;br /&gt;
		if prefix then&lt;br /&gt;
			-- configure icon if none is specified by `icon_name`,&lt;br /&gt;
			-- making sure not to change `icon_type` if `icon_name` is explicitly specified&lt;br /&gt;
			if out.icon_name == out.defaults.icon_name then&lt;br /&gt;
				local prefixIcon = PREFIX_ICONS[prefix]&lt;br /&gt;
				out.icon_name = prefixIcon.name&lt;br /&gt;
				out.icon_type = prefixIcon.type&lt;br /&gt;
			end&lt;br /&gt;
			mainImageArgs.name = baseName&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- create card image and get type/data&lt;br /&gt;
	local card_type, data&lt;br /&gt;
	out.image, card_type, data = Icon.createIcon(mainImageArgs)&lt;br /&gt;
	&lt;br /&gt;
	-- set defaults based on data&lt;br /&gt;
	if data then&lt;br /&gt;
		if card_type == &amp;#039;Character&amp;#039; or card_type == &amp;#039;Currency Wars Character&amp;#039; then&lt;br /&gt;
			if out.icon_name == out.defaults.icon_name and data.element ~= &amp;#039;Adaptive&amp;#039; and lib.isNotEmpty(data.element) then&lt;br /&gt;
				out.icon_name = data.element&lt;br /&gt;
				out.icon_type = &amp;#039;Icon&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			out.defaults.text = data.name or out.name&lt;br /&gt;
		end&lt;br /&gt;
		if card_type == &amp;#039;Light Cone&amp;#039; then&lt;br /&gt;
			out.icon_name = data.path&lt;br /&gt;
			out.icon_type = &amp;#039;Icon&amp;#039;&lt;br /&gt;
			out.icon_size = 15&lt;br /&gt;
			-- if args.mini then&lt;br /&gt;
				out.image.defaults.suffix = &amp;#039;Icon&amp;#039;&lt;br /&gt;
			-- else&lt;br /&gt;
			-- 	out.image.size = &amp;#039;74x&amp;#039;&lt;br /&gt;
			-- end&lt;br /&gt;
		end&lt;br /&gt;
		if card_type == &amp;#039;Enemy&amp;#039; then&lt;br /&gt;
			out.weakness = out.weakness or data.weakness&lt;br /&gt;
			out.tier = out.tier or data.tier&lt;br /&gt;
			out.final_link = (out.nolink and &amp;#039;&amp;#039;) or data.link or out.final_link&lt;br /&gt;
		end&lt;br /&gt;
		if card_type == &amp;#039;Aether Enemy&amp;#039; then&lt;br /&gt;
			out.aether = out.aether or data.aethertype&lt;br /&gt;
			out.final_link = (out.nolink and &amp;#039;&amp;#039;) or data.link or out.final_link&lt;br /&gt;
		end&lt;br /&gt;
		if card_type == &amp;#039;Dice Face&amp;#039; then&lt;br /&gt;
			out.notext = true&lt;br /&gt;
			out.final_link = &amp;#039;#&amp;#039; .. out.final_link&lt;br /&gt;
		end&lt;br /&gt;
		if data.title then&lt;br /&gt;
			out.defaults.caption = data.title&lt;br /&gt;
		end&lt;br /&gt;
		if data.upcoming then&lt;br /&gt;
			out.defaults.notice = data.upcoming&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	-- add top-left icon (if not specified by &amp;#039;icon&amp;#039; wikitext)&lt;br /&gt;
	if out.icon == out.defaults.icon then&lt;br /&gt;
		local iconImage = Icon.createIcon(out, &amp;#039;icon_&amp;#039;)&lt;br /&gt;
		&lt;br /&gt;
		iconImage.defaults.size = lib.ternary(out.mini, 16, 20)&lt;br /&gt;
		-- disable link if nolink is explicitly set, but icon_link is not&lt;br /&gt;
		if out.nonDefaults.nolink then&lt;br /&gt;
			iconImage.defaults.link = &amp;#039;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		out.icon = iconImage:buildString()&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- add bottom-left icon for enemy weakness&lt;br /&gt;
	if lib.isNotEmpty(out.weakness) then&lt;br /&gt;
		local elements = lib.split(out.weakness, out.weakness:find(&amp;#039;,&amp;#039;) and &amp;#039;,&amp;#039; or &amp;#039;;&amp;#039;)&lt;br /&gt;
		out.icon_bottom_type = &amp;#039;Icon&amp;#039;&lt;br /&gt;
		out.icon_bottom = &amp;#039;&amp;#039;&lt;br /&gt;
		for _, element in ipairs(elements) do&lt;br /&gt;
			out.icon_bottom_name = element&lt;br /&gt;
			local iconImage = Icon.createIcon(out, &amp;#039;icon_bottom_&amp;#039;)&lt;br /&gt;
			&lt;br /&gt;
			iconImage.defaults.size = lib.ternary(out.mini, 10, 20)&lt;br /&gt;
			iconImage.defaults.alt = &amp;#039;Weak to &amp;#039; .. element&lt;br /&gt;
			-- disable link if nolink is explicitly set, but icon_link is not&lt;br /&gt;
			if out.nonDefaults.nolink then&lt;br /&gt;
				iconImage.defaults.link = &amp;#039;&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			out.icon_bottom = out.icon_bottom .. iconImage:buildString()&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- add bottom-left icon for enemy aether type&lt;br /&gt;
	if lib.isNotEmpty(out.aether) then&lt;br /&gt;
		out.icon_bottom_type = &amp;#039;Type&amp;#039;&lt;br /&gt;
		out.icon_bottom_name = out.aether&lt;br /&gt;
		&lt;br /&gt;
		local iconImage = Icon.createIcon(out, &amp;#039;icon_bottom_&amp;#039;)&lt;br /&gt;
		iconImage.defaults.size = lib.ternary(out.mini, 10, 20)&lt;br /&gt;
		iconImage.defaults.alt = &amp;#039;Aether Enemy of the &amp;#039; .. out.aether .. &amp;#039; type&amp;#039;&lt;br /&gt;
		-- disable link if nolink is explicitly set, but icon_link is not&lt;br /&gt;
		if out.nonDefaults.nolink then iconImage.defaults.link = &amp;#039;&amp;#039; end&lt;br /&gt;
		&lt;br /&gt;
		out.icon_bottom = iconImage:buildString()&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- add bottom-left icon currency wars bond(s)&lt;br /&gt;
	if lib.isNotEmpty(out.bonds) then&lt;br /&gt;
		local bonds = lib.split(out.bonds, &amp;#039;;&amp;#039;)&lt;br /&gt;
		out.icon_bottom_type = &amp;#039;Bond&amp;#039;&lt;br /&gt;
		out.icon_bottom = &amp;#039;&amp;#039;&lt;br /&gt;
		out.icon_bottom_suffix = &amp;#039;Icon&amp;#039;&lt;br /&gt;
		out.icon_bottom_class = &amp;#039;diamond-icon diamond-icon-morepadding&amp;#039;&lt;br /&gt;
		for _, bond in ipairs(bonds) do&lt;br /&gt;
			out.icon_bottom_name = bond&lt;br /&gt;
			local iconImage = Icon.createIcon(out, &amp;#039;icon_bottom_&amp;#039;)&lt;br /&gt;
			&lt;br /&gt;
			iconImage.defaults.size = lib.ternary(out.mini, 7, 15)&lt;br /&gt;
			iconImage.defaults.alt = &amp;#039;Bond: &amp;#039; .. bond&lt;br /&gt;
			-- disable link if nolink is explicitly set, but icon_link is not&lt;br /&gt;
			if out.nonDefaults.nolink then&lt;br /&gt;
				iconImage.defaults.link = &amp;#039;&amp;#039;&lt;br /&gt;
			else&lt;br /&gt;
				iconImage.defaults.link = &amp;#039;Currency Wars: Zero-Sum Game/Bonds#&amp;#039; .. bond&lt;br /&gt;
			end&lt;br /&gt;
			out.icon_bottom = out.icon_bottom .. iconImage:buildString()&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
    -- add enemy danger icon&lt;br /&gt;
	if card_type == &amp;#039;Enemy&amp;#039; and lib.isNotEmpty(out.tier) and out.tier ~= &amp;#039;Normal&amp;#039; then&lt;br /&gt;
        out.icon_right = &amp;#039;[[File:Icon &amp;#039; .. out.tier .. &amp;#039; Enemy.png|25x25px|link=|alt=&amp;#039; .. out.tier .. &amp;#039; Enemy]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Currency Wars on/off-field &lt;br /&gt;
	if card_type == &amp;#039;Currency Wars Character&amp;#039; and lib.isNotEmpty(out.fieldposition) then&lt;br /&gt;
		local posIcons = {}&lt;br /&gt;
		for pos in lib.gsplit(out.fieldposition, &amp;#039;;&amp;#039;, {removeEmpty=true}) do&lt;br /&gt;
        	table.insert(posIcons, &amp;#039;[[File:Icon &amp;#039; .. pos .. &amp;#039; White.png|20x20px|link=|alt=&amp;#039; .. pos .. &amp;#039;|class=diamond-icon]]&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
		out.icon_right = table.concat(posIcons, &amp;#039;&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- add equipped icon&lt;br /&gt;
	if lib.isNotEmpty(out.equipped_name) then&lt;br /&gt;
		local equippedImage, equippedType = Icon.createIcon(out, &amp;#039;equipped_&amp;#039;)&lt;br /&gt;
		equippedImage.defaults.suffix = &amp;#039;Icon&amp;#039;&lt;br /&gt;
		if equippedType == &amp;#039;Character&amp;#039; then&lt;br /&gt;
			equippedImage.defaults.size = 30&lt;br /&gt;
			equippedImage.defaults.alt = &amp;#039;Equipped on &amp;#039; .. equippedImage.alt&lt;br /&gt;
		else&lt;br /&gt;
			equippedImage.defaults.alt = &amp;#039;Equipped with &amp;#039; .. equippedImage.alt&lt;br /&gt;
		end&lt;br /&gt;
		if out.nonDefaults.nolink then&lt;br /&gt;
			equippedImage.defaults.link = &amp;#039;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		out.equipped = equippedImage:buildString()&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return out, data&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function setCaptionWidth(node, width)&lt;br /&gt;
	if width == &amp;#039;auto&amp;#039; then&lt;br /&gt;
		node:addClass(&amp;#039;auto-width&amp;#039;)&lt;br /&gt;
	else&lt;br /&gt;
		node:css(&amp;#039;width&amp;#039;, width)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Creates and returns a card element from *processed* card args.&lt;br /&gt;
function p._createCard(a)&lt;br /&gt;
	local node_container = mw.html.create(&amp;#039;div&amp;#039;):addClass(&amp;#039;card-container&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	if a.mini then&lt;br /&gt;
		node_container:addClass(&amp;#039;mini-card&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- create two wrapper divs for the main card body&lt;br /&gt;
	-- (required for CSS positioning and rounded corners, respectively)&lt;br /&gt;
	local node_card = node_container:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;card-wrapper&amp;#039;)&lt;br /&gt;
		:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;card-body&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;card-&amp;#039; .. a.rarity)&lt;br /&gt;
	&lt;br /&gt;
	if lib.isNotEmpty(a.icon) then&lt;br /&gt;
		node_card:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;card-icon&amp;#039;)&lt;br /&gt;
			:cssText(a.icon_style)&lt;br /&gt;
			:wikitext(a.icon)&lt;br /&gt;
	end&lt;br /&gt;
	if lib.isNotEmpty(a.icon_bottom) then&lt;br /&gt;
		node_card:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;card-icon-bottom&amp;#039;)&lt;br /&gt;
			:cssText(a.icon_bottom_style)&lt;br /&gt;
			:wikitext(a.icon_bottom)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local node_image = node_card:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;card-image-container&amp;#039;)&lt;br /&gt;
	node_image:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
		:wikitext(a.image:buildString())&lt;br /&gt;
		&lt;br /&gt;
	if not a.mini then&lt;br /&gt;
		if a.stars then&lt;br /&gt;
			local starsImage = RARITY_STARS[a.rarity]&lt;br /&gt;
			if starsImage then&lt;br /&gt;
				node_card:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
					:addClass(&amp;#039;card-stars&amp;#039;)&lt;br /&gt;
					:addClass(&amp;#039;star-&amp;#039; .. a.rarity)&lt;br /&gt;
					:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
						:wikitext(starsImage)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if lib.isNotEmpty(a.icon_right) then&lt;br /&gt;
			node_card:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;card-icon-right&amp;#039;)&lt;br /&gt;
				:cssText(a.icon_right_style)&lt;br /&gt;
				:wikitext(a.icon_right)&lt;br /&gt;
		end&lt;br /&gt;
		if lib.isNotEmpty(a.equipped) then&lt;br /&gt;
			node_card:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;card-equipped&amp;#039;)&lt;br /&gt;
				:wikitext(a.equipped)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local si_cell = nil&lt;br /&gt;
		if lib.isNotEmpty(a.superimposition) then si_cell = SUPERIMPOSITION_TABLE[a.superimposition] end&lt;br /&gt;
		if si_cell ~= nil then&lt;br /&gt;
			node_card:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;card-superimposition&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;superimposition-&amp;#039; .. si_cell.num)&lt;br /&gt;
				:wikitext(si_cell.text)&lt;br /&gt;
		end&lt;br /&gt;
		if lib.isNotEmpty(a.eidolon) then&lt;br /&gt;
			node_card:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;card-eidolon&amp;#039;)&lt;br /&gt;
				:wikitext(&amp;#039; E&amp;#039;, a.eidolon)&lt;br /&gt;
			node_card:addClass(&amp;#039;card-with-eidolon&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
	&lt;br /&gt;
		if (lib.isNotEmpty(a.notice)) then&lt;br /&gt;
			node_card:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;card-notice-label&amp;#039;)&lt;br /&gt;
				:wikitext(a.notice)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	if not a.notext and (not a.mini or a.minitext) then&lt;br /&gt;
		local node_text = node_card:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;card-text&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;card-font&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039; &amp;#039;, a.text)&lt;br /&gt;
		if a.multiline_text then&lt;br /&gt;
			node_text:addClass(&amp;#039;multi-line&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if a.show_caption and lib.isNotEmpty(a.caption) then&lt;br /&gt;
		local node_caption = node_container:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;card-caption&amp;#039;)&lt;br /&gt;
			:wikitext(&amp;#039; &amp;#039;, a.nolink and a.caption or (&amp;#039;[[&amp;#039; .. a.final_link .. &amp;#039;|&amp;#039; .. a.caption .. &amp;#039;]]&amp;#039;))&lt;br /&gt;
		setCaptionWidth(node_caption, a.caption_width)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if lib.isNotEmpty(a.note) then&lt;br /&gt;
		local node_note = node_container:tag(&amp;#039;span&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;card-caption&amp;#039;)&lt;br /&gt;
			:wikitext(a.note)&lt;br /&gt;
		setCaptionWidth(node_note, a.caption_width)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if a.uses_deprecated_params then&lt;br /&gt;
		node_container:wikitext(&amp;#039;[[Category:Pages Using Deprecated Template Parameters]]&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return node_container&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Processes arguments and returns a corresponding Card element.&lt;br /&gt;
function p._main(args, frame)&lt;br /&gt;
	local a = p._processArgs(args)&lt;br /&gt;
	&lt;br /&gt;
	return p._createCard(a)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.templateData(frame)&lt;br /&gt;
	return TemplateData.templateData(CARD_ARGS, {&lt;br /&gt;
		description=&amp;#039;This template is used to create an item display that is similar to the items in the Inventory in-game. Text can be shown below the item\&amp;#039;s image, background and stars can match the rarity, superimposition, icons, and set can be added.\n\nIf the image name matches an existing Item, then the rarity will automatically be set.\n\nIf the image name matches an existing Character of Light Cone, then the format will automatically change to match that type item.&amp;#039;,&lt;br /&gt;
		format=&amp;#039;inline&amp;#039;&lt;br /&gt;
	}, frame)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.syntax(frame)&lt;br /&gt;
	return TemplateData.syntax(CARD_ARGS, frame)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Valaerys</name></author>
	</entry>
</feed>