<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://2012wiki.werdegames.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AItem</id>
	<title>Module:Item - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://2012wiki.werdegames.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AItem"/>
	<link rel="alternate" type="text/html" href="https://2012wiki.werdegames.com/index.php?title=Module:Item&amp;action=history"/>
	<updated>2026-11-06T14:03:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://2012wiki.werdegames.com/index.php?title=Module:Item&amp;diff=6&amp;oldid=prev</id>
		<title>Admin: tools/wiki/push.py</title>
		<link rel="alternate" type="text/html" href="https://2012wiki.werdegames.com/index.php?title=Module:Item&amp;diff=6&amp;oldid=prev"/>
		<updated>2026-11-06T01:38:59Z</updated>

		<summary type="html">&lt;p&gt;tools/wiki/push.py&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- The in-game style item tooltip of Template:Item.&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local QUALITIES = {&lt;br /&gt;
	unique = &amp;#039;Unique&amp;#039;, set = &amp;#039;Set&amp;#039;, rare = &amp;#039;Rare&amp;#039;, magic = &amp;#039;Magic&amp;#039;, crafted = &amp;#039;Crafted&amp;#039;,&lt;br /&gt;
	runeword = &amp;#039;Runeword&amp;#039;, normal = &amp;#039;Normal&amp;#039;, superior = &amp;#039;Superior&amp;#039;, socketed = &amp;#039;Socketed&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function lines(text)&lt;br /&gt;
	local out = {}&lt;br /&gt;
	for line in mw.text.gsplit(text or &amp;#039;&amp;#039;, &amp;#039;\n&amp;#039;, true) do&lt;br /&gt;
		line = mw.text.trim(line)&lt;br /&gt;
		if line ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			table.insert(out, line)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;+[10-20] to Strength&amp;quot;: the rolled range gets its own colour&lt;br /&gt;
local function stat_line(line)&lt;br /&gt;
	return (line:gsub(&amp;#039;%[(%-?%d+%-%-?%d+)%]&amp;#039;, &amp;#039;&amp;lt;span class=&amp;quot;d2-range&amp;quot;&amp;gt;[%1]&amp;lt;/span&amp;gt;&amp;#039;))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.tooltip(frame)&lt;br /&gt;
	local a = frame:getParent().args&lt;br /&gt;
	local quality = mw.ustring.lower(a.quality or &amp;#039;normal&amp;#039;)&lt;br /&gt;
	if not QUALITIES[quality] then&lt;br /&gt;
		quality = &amp;#039;normal&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local box = mw.html.create(&amp;#039;div&amp;#039;):addClass(&amp;#039;d2-item&amp;#039;):addClass(&amp;#039;d2-q-&amp;#039; .. quality)&lt;br /&gt;
	if a.inline and a.inline ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		box:addClass(&amp;#039;d2-item-inline&amp;#039;)&lt;br /&gt;
	elseif a.store == &amp;#039;no&amp;#039; then&lt;br /&gt;
		-- an item quoted in a page&amp;#039;s text sits in the text flow, not floated beside it&lt;br /&gt;
		box:addClass(&amp;#039;d2-item-quote&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	if a.anchor and a.anchor ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		-- the id a [[Page#anchor]] link points to (html5 fragments: spaces become underscores)&lt;br /&gt;
		box:attr(&amp;#039;id&amp;#039;, (mw.text.trim(a.anchor):gsub(&amp;#039;%s+&amp;#039;, &amp;#039;_&amp;#039;)))&lt;br /&gt;
	end&lt;br /&gt;
	if a.image and a.image ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		box:tag(&amp;#039;div&amp;#039;):addClass(&amp;#039;d2-item-image&amp;#039;):wikitext(&amp;#039;[[File:&amp;#039; .. a.image .. &amp;#039;|link=|alt=]]&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	box:tag(&amp;#039;div&amp;#039;):addClass(&amp;#039;d2-item-name&amp;#039;):wikitext(a.name or mw.title.getCurrentTitle().text)&lt;br /&gt;
	if a.base and a.base ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		box:tag(&amp;#039;div&amp;#039;):addClass(&amp;#039;d2-item-base&amp;#039;):wikitext(a.base)&lt;br /&gt;
	end&lt;br /&gt;
	local meta = box:tag(&amp;#039;div&amp;#039;):addClass(&amp;#039;d2-item-meta&amp;#039;)&lt;br /&gt;
	for _, line in ipairs(lines(a.meta)) do&lt;br /&gt;
		meta:tag(&amp;#039;div&amp;#039;):wikitext(line)&lt;br /&gt;
	end&lt;br /&gt;
	if a.lvlreq and a.lvlreq ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		meta:tag(&amp;#039;div&amp;#039;):wikitext(&amp;#039;Required Level: &amp;#039; .. a.lvlreq)&lt;br /&gt;
	end&lt;br /&gt;
	local stats = box:tag(&amp;#039;div&amp;#039;):addClass(&amp;#039;d2-item-stats&amp;#039;)&lt;br /&gt;
	for _, line in ipairs(lines(a.stats)) do&lt;br /&gt;
		stats:tag(&amp;#039;div&amp;#039;):wikitext(stat_line(line))&lt;br /&gt;
	end&lt;br /&gt;
	-- set bonuses: the partial ones green, the full set&amp;#039;s gold&lt;br /&gt;
	for _, part in ipairs({ { a.setbonus, &amp;#039;d2-item-setbonus&amp;#039; }, { a.fullset, &amp;#039;d2-item-fullset&amp;#039; } }) do&lt;br /&gt;
		local text = lines(part[1])&lt;br /&gt;
		if #text &amp;gt; 0 then&lt;br /&gt;
			local div = box:tag(&amp;#039;div&amp;#039;):addClass(part[2])&lt;br /&gt;
			for _, line in ipairs(text) do&lt;br /&gt;
				div:tag(&amp;#039;div&amp;#039;):wikitext(stat_line(line))&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if a.flavour and a.flavour ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		box:tag(&amp;#039;div&amp;#039;):addClass(&amp;#039;d2-item-flavour&amp;#039;):wikitext(a.flavour)&lt;br /&gt;
	end&lt;br /&gt;
	if a.footer and a.footer ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		box:tag(&amp;#039;div&amp;#039;):addClass(&amp;#039;d2-item-footer&amp;#039;):wikitext(a.footer)&lt;br /&gt;
	end&lt;br /&gt;
	return frame:extensionTag(&amp;#039;templatestyles&amp;#039;, &amp;#039;&amp;#039;, { src = &amp;#039;Template:Item/styles.css&amp;#039; }) .. tostring(box)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>