<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.runerealm.org/index.php?action=history&amp;feed=atom&amp;title=Module%3AApocalypseBoostedDrop</id>
	<title>Module:ApocalypseBoostedDrop - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.runerealm.org/index.php?action=history&amp;feed=atom&amp;title=Module%3AApocalypseBoostedDrop"/>
	<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=Module:ApocalypseBoostedDrop&amp;action=history"/>
	<updated>2026-05-01T00:35:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://wiki.runerealm.org/index.php?title=Module:ApocalypseBoostedDrop&amp;diff=34413&amp;oldid=prev</id>
		<title>Alex: Created page with &quot;local p = {}; local lang = mw.language.getContentLanguage()  local rarity_class = { 	{ 1, &#039;table-bg-blue&#039; }, 	{ 1/25, &#039;table-bg-green&#039; }, 	{ 1/99.99, &#039;table-bg-yellow&#039; }, 	{ 1/999.99, &#039;table-bg-orange&#039; }, 	{ 1/9999999, &#039;table-bg-red&#039; } }  function get_rarity_class(val) 	for i,v in ipairs(rarity_class) do 		curr = v 		if val &gt;= v[1] then 			break 		end 	end 	return curr[2] end  function sigfig(n, f) 	f = math.floor(f-1) 	if n == 0 then return 0 end 	local m = math.floor(m...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=Module:ApocalypseBoostedDrop&amp;diff=34413&amp;oldid=prev"/>
		<updated>2024-10-16T22:59:28Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local p = {}; local lang = mw.language.getContentLanguage()  local rarity_class = { 	{ 1, &amp;#039;table-bg-blue&amp;#039; }, 	{ 1/25, &amp;#039;table-bg-green&amp;#039; }, 	{ 1/99.99, &amp;#039;table-bg-yellow&amp;#039; }, 	{ 1/999.99, &amp;#039;table-bg-orange&amp;#039; }, 	{ 1/9999999, &amp;#039;table-bg-red&amp;#039; } }  function get_rarity_class(val) 	for i,v in ipairs(rarity_class) do 		curr = v 		if val &amp;gt;= v[1] then 			break 		end 	end 	return curr[2] end  function sigfig(n, f) 	f = math.floor(f-1) 	if n == 0 then return 0 end 	local m = math.floor(m...&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 lang = mw.language.getContentLanguage()&lt;br /&gt;
&lt;br /&gt;
local rarity_class = {&lt;br /&gt;
	{ 1, &amp;#039;table-bg-blue&amp;#039; },&lt;br /&gt;
	{ 1/25, &amp;#039;table-bg-green&amp;#039; },&lt;br /&gt;
	{ 1/99.99, &amp;#039;table-bg-yellow&amp;#039; },&lt;br /&gt;
	{ 1/999.99, &amp;#039;table-bg-orange&amp;#039; },&lt;br /&gt;
	{ 1/9999999, &amp;#039;table-bg-red&amp;#039; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_rarity_class(val)&lt;br /&gt;
	for i,v in ipairs(rarity_class) do&lt;br /&gt;
		curr = v&lt;br /&gt;
		if val &amp;gt;= v[1] then&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return curr[2]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function sigfig(n, f)&lt;br /&gt;
	f = math.floor(f-1)&lt;br /&gt;
	if n == 0 then return 0 end&lt;br /&gt;
	local m = math.floor(math.log10(n))&lt;br /&gt;
	local v = n / (10^(m-f))&lt;br /&gt;
	v = math.floor(v) * 10^(m-f)&lt;br /&gt;
	return v&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function commas(n)&lt;br /&gt;
	if tonumber(n) then&lt;br /&gt;
		return lang:formatNum(tonumber(n))&lt;br /&gt;
	else&lt;br /&gt;
		return n&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
p.commas = commas&lt;br /&gt;
&lt;br /&gt;
function expr(t)&lt;br /&gt;
	t = t:gsub(&amp;#039;,&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
	local err, val = pcall(mw.ext.ParserFunctions.expr, t)&lt;br /&gt;
	if err then&lt;br /&gt;
		return tonumber(val)&lt;br /&gt;
	else&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = frame:getParent().args&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 Image = args[&amp;#039;Image&amp;#039;]			-- only used if Name is blank, or wish to override default image&lt;br /&gt;
	local Name = args[&amp;#039;Name&amp;#039;]			-- name of item or drop&lt;br /&gt;
	local OptName = args[&amp;#039;OptName&amp;#039;] 	-- intended to be used when links are formatted differently, e.x. when they are multiple sources&lt;br /&gt;
	local Source = args[&amp;#039;Source&amp;#039;]		-- source of drop&lt;br /&gt;
	local OptSource = args[&amp;#039;OptSource&amp;#039;] -- intended to be used when links are formatted differently, e.x. when they are multiple sources&lt;br /&gt;
	local Rarity = args[&amp;#039;Rarity&amp;#039;]		-- base rarity of drop&lt;br /&gt;
	local Multi1 = args[&amp;#039;Multi1&amp;#039;]		-- Optional change to tier 1 rarity multiplier, default to 2x &lt;br /&gt;
	local Multi2 = args[&amp;#039;Multi2&amp;#039;]		-- Optional change to tier 2 rarity multiplier, default to 3x&lt;br /&gt;
	local Multi3 = args[&amp;#039;Multi3&amp;#039;]		-- Optional change to tier 3 rarity multiplier, default to 4x&lt;br /&gt;
	local rv1, rv2 = string.match(Rarity:gsub(&amp;#039;,&amp;#039;,&amp;#039;&amp;#039;), &amp;#039;([%d%.]+)/([%d%.]+)&amp;#039;)&lt;br /&gt;
	if rv1 and rv2 then&lt;br /&gt;
		Rarity = rv1/rv2&lt;br /&gt;
	else&lt;br /&gt;
		Rarity = expr(Rarity)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local Rarity2 				&lt;br /&gt;
	local Rarity3&lt;br /&gt;
	local Rarity4&lt;br /&gt;
&lt;br /&gt;
	if Multi1 == isNothing then 	-- Make droprate 2x by default&lt;br /&gt;
		Rarity2 = Rarity * 2&lt;br /&gt;
		else&lt;br /&gt;
			Rarity2 = Rarity * Multi1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if Multi2 == isNothing then 	-- Make droprate 3x by default&lt;br /&gt;
		Rarity3 = Rarity * 3&lt;br /&gt;
		else&lt;br /&gt;
			Rarity3 = Rarity * Multi2&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if Multi3 == isNothing then 	-- Make droprate 4x by default&lt;br /&gt;
		Rarity4 = Rarity * 4&lt;br /&gt;
		else&lt;br /&gt;
			Rarity4 = Rarity * Multi3&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local rare1_class, rare2_class, rare3_class	-- assign colors for rarity &lt;br /&gt;
	local rare1_text, rare2_text, rare3_text&lt;br /&gt;
	&lt;br /&gt;
	rare1_class = get_rarity_class(Rarity)&lt;br /&gt;
	rare2_class = get_rarity_class(Rarity2)&lt;br /&gt;
	rare3_class = get_rarity_class(Rarity3)&lt;br /&gt;
	rare4_class = get_rarity_class(Rarity4)&lt;br /&gt;
	&lt;br /&gt;
	rare1_text = &amp;#039;1/&amp;#039; .. commas(1/Rarity, 3)&lt;br /&gt;
	rare2_text = &amp;#039;1/&amp;#039; .. commas(sigfig((math.floor(1/Rarity2 + 0.001)), 5))&lt;br /&gt;
	rare3_text = &amp;#039;1/&amp;#039; .. commas(sigfig((math.floor(1/Rarity3 + 0.001)), 5))&lt;br /&gt;
	rare4_text = &amp;#039;1/&amp;#039; .. commas(sigfig((math.floor(1/Rarity4 + 0.001)), 5))&lt;br /&gt;
	&lt;br /&gt;
	--Use Name as image link, or OptName exactly as written&lt;br /&gt;
	if Image == isNothing then&lt;br /&gt;
		image = mw.ustring.format(&amp;#039;[[File:%s.png]]&amp;#039;, Name)&lt;br /&gt;
		else&lt;br /&gt;
		image = mw.ustring.format(&amp;#039;[[File:%s.png]]&amp;#039;, Image)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	--Use Name as link, or OptName exactly as written&lt;br /&gt;
	if Name == isNothing then&lt;br /&gt;
		Name = OptName&lt;br /&gt;
		else&lt;br /&gt;
		Name = mw.ustring.format(&amp;#039;[[%s]]&amp;#039;, Name)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	--Use Source as link, or OptSource exactly as written if Source is empty&lt;br /&gt;
	if Source == isNothing then&lt;br /&gt;
		Source = OptSource&lt;br /&gt;
		else&lt;br /&gt;
		Source = mw.ustring.format(&amp;#039;[[%s]]&amp;#039;, Source)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	--create rows for table	&lt;br /&gt;
	local ret&lt;br /&gt;
		ret = mw.html.create(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;inventory-image&amp;#039;)&lt;br /&gt;
				:wikitext(image)&lt;br /&gt;
			:done()&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;text-align&amp;#039;,&amp;#039;left&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;item-col&amp;#039;)&lt;br /&gt;
				:wikitext(Name)&lt;br /&gt;
			:done()&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:css(&amp;#039;text-align&amp;#039;,&amp;#039;center&amp;#039;)&lt;br /&gt;
				:addClass(&amp;#039;source-col&amp;#039;)&lt;br /&gt;
				:wikitext(Source)&lt;br /&gt;
			:done()&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:addClass(rare1_class)&lt;br /&gt;
				:wikitext(rare1_text)&lt;br /&gt;
				:attr(&amp;#039;data-sort-value&amp;#039;,1/Rarity)&lt;br /&gt;
			:done()&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:addClass(rare2_class)&lt;br /&gt;
				:wikitext(rare2_text)&lt;br /&gt;
				:attr(&amp;#039;data-sort-value&amp;#039;,2/Rarity)&lt;br /&gt;
			:done()&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:addClass(rare3_class)&lt;br /&gt;
				:wikitext(rare3_text)&lt;br /&gt;
				:attr(&amp;#039;data-sort-value&amp;#039;,3/Rarity)&lt;br /&gt;
			:done()&lt;br /&gt;
			:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
				:addClass(rare4_class)&lt;br /&gt;
				:wikitext(rare4_text)&lt;br /&gt;
				:attr(&amp;#039;data-sort-value&amp;#039;,4/Rarity)&lt;br /&gt;
			:done()		&lt;br /&gt;
	return tostring(ret)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p;&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
</feed>