<?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%3AClue_geode_chance_calculator</id>
	<title>Module:Clue geode chance calculator - 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%3AClue_geode_chance_calculator"/>
	<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=Module:Clue_geode_chance_calculator&amp;action=history"/>
	<updated>2026-04-26T19:20:23Z</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:Clue_geode_chance_calculator&amp;diff=34445&amp;oldid=prev</id>
		<title>Alex: Created page with &quot;local p = {}  local lang = mw.language.getContentLanguage()  local baseChanceArray = { 	{rock = &#039;Runite rocks&#039;, chance = 42377}, 	{rock = &#039;Amethyst crystals&#039;, chance = 46350}, 	{rock = &#039;Adamantite rocks&#039;, chance = 59328}, 	{rock = &#039;Volcanic Mine&#039;, chance = 60000}, 	{rock = &#039;Crashed Star (size 9)&#039;, chance = 87840}, 	{rock = &#039;Crashed Star (size 8)&#039;, chance = 118035}, 	{rock = &#039;Blast mine&#039;, chance = 123600}, 	{rock = &#039;Crashed Star (size 7)&#039;, chance = 148230}, 	{rock = &#039;Mith...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=Module:Clue_geode_chance_calculator&amp;diff=34445&amp;oldid=prev"/>
		<updated>2024-10-16T23:00:48Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local p = {}  local lang = mw.language.getContentLanguage()  local baseChanceArray = { 	{rock = &amp;#039;Runite rocks&amp;#039;, chance = 42377}, 	{rock = &amp;#039;Amethyst crystals&amp;#039;, chance = 46350}, 	{rock = &amp;#039;Adamantite rocks&amp;#039;, chance = 59328}, 	{rock = &amp;#039;Volcanic Mine&amp;#039;, chance = 60000}, 	{rock = &amp;#039;Crashed Star (size 9)&amp;#039;, chance = 87840}, 	{rock = &amp;#039;Crashed Star (size 8)&amp;#039;, chance = 118035}, 	{rock = &amp;#039;Blast mine&amp;#039;, chance = 123600}, 	{rock = &amp;#039;Crashed Star (size 7)&amp;#039;, chance = 148230}, 	{rock = &amp;#039;Mith...&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;
&lt;br /&gt;
local lang = mw.language.getContentLanguage()&lt;br /&gt;
&lt;br /&gt;
local baseChanceArray = {&lt;br /&gt;
	{rock = &amp;#039;Runite rocks&amp;#039;, chance = 42377},&lt;br /&gt;
	{rock = &amp;#039;Amethyst crystals&amp;#039;, chance = 46350},&lt;br /&gt;
	{rock = &amp;#039;Adamantite rocks&amp;#039;, chance = 59328},&lt;br /&gt;
	{rock = &amp;#039;Volcanic Mine&amp;#039;, chance = 60000},&lt;br /&gt;
	{rock = &amp;#039;Crashed Star (size 9)&amp;#039;, chance = 87840},&lt;br /&gt;
	{rock = &amp;#039;Crashed Star (size 8)&amp;#039;, chance = 118035},&lt;br /&gt;
	{rock = &amp;#039;Blast mine&amp;#039;, chance = 123600},&lt;br /&gt;
	{rock = &amp;#039;Crashed Star (size 7)&amp;#039;, chance = 148230},&lt;br /&gt;
	{rock = &amp;#039;Mithril rocks&amp;#039;, chance = 148320},&lt;br /&gt;
	{rock = &amp;#039;Gem rocks&amp;#039;, chance = 211886},&lt;br /&gt;
	{rock = &amp;#039;Crashed Star (size 6)&amp;#039;, chance = 244305},&lt;br /&gt;
	{rock = &amp;#039;Lovakite rocks&amp;#039;, chance = 245562},&lt;br /&gt;
	{rock = &amp;#039;Coal rocks&amp;#039;, chance = 290640},&lt;br /&gt;
	{rock = &amp;#039;Gold rocks&amp;#039;, chance = 296640},&lt;br /&gt;
	{rock = &amp;#039;Crashed Star (size 5)&amp;#039;, chance = 373320},&lt;br /&gt;
	{rock = &amp;#039;Crashed Star (size 4)&amp;#039;, chance = 521550},&lt;br /&gt;
	{rock = &amp;#039;Crashed Star (size 3)&amp;#039;, chance = 554490},&lt;br /&gt;
	{rock = &amp;#039;Crashed Star (size 2)&amp;#039;, chance = 609390},&lt;br /&gt;
	{rock = &amp;#039;Volcanic sulphur&amp;#039;, chance = 710000},&lt;br /&gt;
	{rock = &amp;#039;Ash pile&amp;#039;, chance = 741600},&lt;br /&gt;
	{rock = &amp;#039;Barronite&amp;#039;, chance = 741600},&lt;br /&gt;
	{rock = &amp;#039;Blurite rocks&amp;#039;, chance = 741600},&lt;br /&gt;
	{rock = &amp;#039;Clay rocks&amp;#039;, chance = 741600},&lt;br /&gt;
	{rock = &amp;#039;Copper rocks&amp;#039;, chance = 741600},&lt;br /&gt;
	{rock = &amp;#039;Granite rocks&amp;#039;, chance = 741600},&lt;br /&gt;
	{rock = &amp;#039;Iron rocks&amp;#039;, chance = 741600},&lt;br /&gt;
	{rock = &amp;#039;Limestone rocks&amp;#039;, chance = 741600},&lt;br /&gt;
	{rock = &amp;#039;Sandstone rocks&amp;#039;, chance = 741600},&lt;br /&gt;
	{rock = &amp;#039;Silver rocks&amp;#039;, chance = 741600},&lt;br /&gt;
	{rock = &amp;#039;Tin rocks&amp;#039;, chance = 741600},&lt;br /&gt;
	{rock = &amp;#039;Crashed Star (size 1)&amp;#039;, chance = 911340},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local clueTierArray = {&lt;br /&gt;
    {tier = &amp;#039;Beginner&amp;#039;, modifier = 0.2},&lt;br /&gt;
    {tier = &amp;#039;Easy&amp;#039;, modifier = 1.7},&lt;br /&gt;
    {tier = &amp;#039;Medium&amp;#039;, modifier = 2},&lt;br /&gt;
    {tier = &amp;#039;Hard&amp;#039;, modifier = 3.3},&lt;br /&gt;
    {tier = &amp;#039;Elite&amp;#039;, modifier = 10}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local caTierArray = {&lt;br /&gt;
	[&amp;#039;None&amp;#039;] = 0,&lt;br /&gt;
	[&amp;#039;Easy&amp;#039;] = 1,&lt;br /&gt;
	[&amp;#039;Medium&amp;#039;] = 2,&lt;br /&gt;
	[&amp;#039;Hard&amp;#039;] = 3,&lt;br /&gt;
	[&amp;#039;Elite+&amp;#039;] = 4&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function p.buildTable(denomArray)&lt;br /&gt;
	local ret = mw.html.create(&amp;#039;table&amp;#039;):addClass(&amp;#039;wikitable sortable align-center-1&amp;#039;):done()&lt;br /&gt;
		ret:tag(&amp;#039;tr&amp;#039;):tag(&amp;#039;th&amp;#039;):wikitext( &amp;#039;Rock type&amp;#039;):done()&lt;br /&gt;
			:tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;Beginner&amp;#039;):done()&lt;br /&gt;
			:tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;Easy&amp;#039;):done()&lt;br /&gt;
			:tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;Medium&amp;#039;):done()&lt;br /&gt;
			:tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;Hard&amp;#039;):done()&lt;br /&gt;
			:tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;Elite&amp;#039;):done()&lt;br /&gt;
	&lt;br /&gt;
	for i, denoms in ipairs(denomArray) do&lt;br /&gt;
		local row = mw.html.create(&amp;#039;tr&amp;#039;):tag(&amp;#039;th&amp;#039;):wikitext(denoms[1]):done()&lt;br /&gt;
				:tag(&amp;#039;td&amp;#039;):wikitext(&amp;#039;1/&amp;#039; .. lang:formatNum(denoms[2])):done()&lt;br /&gt;
				:tag(&amp;#039;td&amp;#039;):wikitext(&amp;#039;1/&amp;#039; .. lang:formatNum(denoms[3])):done()&lt;br /&gt;
				:tag(&amp;#039;td&amp;#039;):wikitext(&amp;#039;1/&amp;#039; .. lang:formatNum(denoms[4])):done()&lt;br /&gt;
				:tag(&amp;#039;td&amp;#039;):wikitext(&amp;#039;1/&amp;#039; .. lang:formatNum(denoms[5])):done()&lt;br /&gt;
				:tag(&amp;#039;td&amp;#039;):wikitext(&amp;#039;1/&amp;#039; .. lang:formatNum(denoms[6])):done()&lt;br /&gt;
		ret:node(row)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getDenom(miningLevel, clueTier, clueMod, caTier, baseChance)&lt;br /&gt;
	local caModifier = 1&lt;br /&gt;
	if clueTier == 0 then&lt;br /&gt;
		caModifier = 1&lt;br /&gt;
	elseif caTier &amp;gt;= clueTier then &lt;br /&gt;
		caModifier = 0.95&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	local firstNum = math.floor(baseChance * caModifier)&lt;br /&gt;
	local ret = math.floor((firstNum / (100 + miningLevel)) * clueMod)&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	local bigTable = {}&lt;br /&gt;
	for _, rockArray in ipairs(baseChanceArray) do&lt;br /&gt;
		local smallTable = {rockArray.rock}&lt;br /&gt;
		for i, clueArray in ipairs(clueTierArray) do&lt;br /&gt;
			table.insert(smallTable, p.getDenom(args.miningLevel, i-1, clueArray.modifier, caTierArray[args.caTier], rockArray.chance))&lt;br /&gt;
		end&lt;br /&gt;
		table.insert(bigTable, smallTable)&lt;br /&gt;
	end&lt;br /&gt;
	return p.buildTable(bigTable)&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;
return p&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
</feed>