<?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%3APrayer%2FBlessed_Bone_Shards</id>
	<title>Module:Prayer/Blessed Bone Shards - 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%3APrayer%2FBlessed_Bone_Shards"/>
	<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=Module:Prayer/Blessed_Bone_Shards&amp;action=history"/>
	<updated>2026-04-25T23:58:06Z</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:Prayer/Blessed_Bone_Shards&amp;diff=35077&amp;oldid=prev</id>
		<title>Alex: Created page with &quot;local p = {}  local default = require(&#039;Module:Paramtest&#039;).default_to local geprice = require(&#039;Module:Exchange&#039;)._price local coins = require(&#039;Module:Coins&#039;)._amount local commas = require(&#039;Module:Addcommas&#039;)._add  local boneTypes = { 	{name = &quot;Bones&quot;, shards = 4}, 	{name = &quot;Bat bones&quot;, shards = 5}, 	{name = &quot;Big bones&quot;, shards = 12}, 	{name = &quot;Zogre bones&quot;, shards = 18}, 	{name = &quot;Wyrmling bones&quot;, shards = 21}, 	{name = &quot;Babydragon bones&quot;, shards = 24}, 	{name = &quot;Wyrm bo...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=Module:Prayer/Blessed_Bone_Shards&amp;diff=35077&amp;oldid=prev"/>
		<updated>2024-10-16T23:12:50Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local p = {}  local default = require(&amp;#039;Module:Paramtest&amp;#039;).default_to local geprice = require(&amp;#039;Module:Exchange&amp;#039;)._price local coins = require(&amp;#039;Module:Coins&amp;#039;)._amount local commas = require(&amp;#039;Module:Addcommas&amp;#039;)._add  local boneTypes = { 	{name = &amp;quot;Bones&amp;quot;, shards = 4}, 	{name = &amp;quot;Bat bones&amp;quot;, shards = 5}, 	{name = &amp;quot;Big bones&amp;quot;, shards = 12}, 	{name = &amp;quot;Zogre bones&amp;quot;, shards = 18}, 	{name = &amp;quot;Wyrmling bones&amp;quot;, shards = 21}, 	{name = &amp;quot;Babydragon bones&amp;quot;, shards = 24}, 	{name = &amp;quot;Wyrm bo...&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 default = require(&amp;#039;Module:Paramtest&amp;#039;).default_to&lt;br /&gt;
local geprice = require(&amp;#039;Module:Exchange&amp;#039;)._price&lt;br /&gt;
local coins = require(&amp;#039;Module:Coins&amp;#039;)._amount&lt;br /&gt;
local commas = require(&amp;#039;Module:Addcommas&amp;#039;)._add&lt;br /&gt;
&lt;br /&gt;
local boneTypes = {&lt;br /&gt;
	{name = &amp;quot;Bones&amp;quot;, shards = 4},&lt;br /&gt;
	{name = &amp;quot;Bat bones&amp;quot;, shards = 5},&lt;br /&gt;
	{name = &amp;quot;Big bones&amp;quot;, shards = 12},&lt;br /&gt;
	{name = &amp;quot;Zogre bones&amp;quot;, shards = 18},&lt;br /&gt;
	{name = &amp;quot;Wyrmling bones&amp;quot;, shards = 21},&lt;br /&gt;
	{name = &amp;quot;Babydragon bones&amp;quot;, shards = 24},&lt;br /&gt;
	{name = &amp;quot;Wyrm bones&amp;quot;, shards = 42},&lt;br /&gt;
	{name = &amp;quot;Wyvern bones&amp;quot;, shards = 45},&lt;br /&gt;
	{name = &amp;quot;Dragon bones&amp;quot;, shards = 58},&lt;br /&gt;
	{name = &amp;quot;Drake bones&amp;quot;, shards = 58},&lt;br /&gt;
	{name = &amp;quot;Fayrg bones&amp;quot;, shards = 64},&lt;br /&gt;
	{name = &amp;quot;Lava dragon bones&amp;quot;, shards = 67},&lt;br /&gt;
	{name = &amp;quot;Raurg bones&amp;quot;, shards = 68},&lt;br /&gt;
	{name = &amp;quot;Hydra bones&amp;quot;, shards = 77},&lt;br /&gt;
	{name = &amp;quot;Dagannoth bones&amp;quot;, shards = 93},&lt;br /&gt;
	{name = &amp;quot;Ourg bones&amp;quot;, shards = 100},&lt;br /&gt;
	{name = &amp;quot;Superior dragon bones&amp;quot;, shards = 115}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function createHeader()&lt;br /&gt;
	local ret = mw.html.create(&amp;#039;table&amp;#039;):addClass(&amp;#039;wikitable sortable align-center-2&amp;#039;):done()&lt;br /&gt;
	ret:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
  		:tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;Item&amp;#039;):attr(&amp;#039;colspan&amp;#039;, 2):done()&lt;br /&gt;
		:tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;Shards/Bone&amp;#039;):done()&lt;br /&gt;
        :tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;GP/Bone&amp;#039;):done()&lt;br /&gt;
        :tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;XP/Bone&amp;#039;):done()&lt;br /&gt;
        :tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;Shards/h&amp;#039;):done()&lt;br /&gt;
        :tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;% of time Chiselling&amp;#039;):done()&lt;br /&gt;
        :tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;Shards to chisel/h&amp;#039;):done()&lt;br /&gt;
        :tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;Wine Runs/h&amp;#039;):done()&lt;br /&gt;
        :tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;XP/h&amp;#039;):done()&lt;br /&gt;
        :tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;GP/h&amp;#039;):done()&lt;br /&gt;
        :tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;GP/XP&amp;#039;):done()&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	local bonesChiselled = tonumber(default(args.bonesChiselled, 3000))&lt;br /&gt;
	local winesPerRun = tonumber(default(args.winesPerRun, 23))&lt;br /&gt;
	local secondsPerRun = tonumber(default(args.secondsPerRun, 120))&lt;br /&gt;
	local checkboxState = 0&lt;br /&gt;
	if args.sunfireWine == &amp;#039;yes&amp;#039; then&lt;br /&gt;
		checkboxState = 1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local ret = createHeader()&lt;br /&gt;
	&lt;br /&gt;
    for _, unique in ipairs(boneTypes) do&lt;br /&gt;
    	&lt;br /&gt;
    local price = geprice(unique.name)&lt;br /&gt;
    local shards = unique.shards&lt;br /&gt;
    local shardsperhour = shards * args.bonesChiselled&lt;br /&gt;
    local timespentchiselling = 3600 / ((shardsperhour / (args.winesPerRun * 400) * secondsPerRun) + 3600)&lt;br /&gt;
    local shardstochisel = shardsperhour * timespentchiselling&lt;br /&gt;
    local winerunsperhour = shardstochisel / (400 * winesPerRun)&lt;br /&gt;
    local xpperhour = winerunsperhour * winesPerRun * 400 * (5 + checkboxState)&lt;br /&gt;
    local gpcostperhour = -((shardstochisel / shards * price)+((geprice(&amp;quot;Sunfire splinters&amp;quot;) * (2 * checkboxState) + geprice(&amp;quot;Jug of wine&amp;quot;)) * winerunsperhour))&lt;br /&gt;
    local gpperxp = gpcostperhour / xpperhour &lt;br /&gt;
    &lt;br /&gt;
    ret:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
        :tag(&amp;#039;td&amp;#039;):wikitext(string.format(&amp;#039;[[File:%s.png|link=%s]]&amp;#039;, unique.name, unique.name)):done()&lt;br /&gt;
        :tag(&amp;#039;td&amp;#039;):wikitext(string.format(&amp;#039;[[%s]]&amp;#039;, unique.name)):done()&lt;br /&gt;
        :tag(&amp;#039;td&amp;#039;):wikitext(unique.shards):done()&lt;br /&gt;
		:tag(&amp;#039;td&amp;#039;):wikitext(coins(price)):done()&lt;br /&gt;
		:tag(&amp;#039;td&amp;#039;):wikitext(shards * (5 + checkboxState)):done()&lt;br /&gt;
		:tag(&amp;#039;td&amp;#039;):wikitext(commas(shardsperhour)):done()&lt;br /&gt;
		:tag(&amp;#039;td&amp;#039;):wikitext(string.format(&amp;#039;%.3f%%&amp;#039;, 100 * timespentchiselling)):done()&lt;br /&gt;
		:tag(&amp;#039;td&amp;#039;):wikitext(commas(string.format(&amp;#039;%.2f&amp;#039;, shardstochisel))):done()&lt;br /&gt;
		:tag(&amp;#039;td&amp;#039;):wikitext(string.format(&amp;#039;%.2f&amp;#039;, winerunsperhour)):done()&lt;br /&gt;
		:tag(&amp;#039;td&amp;#039;):wikitext(commas(string.format(&amp;#039;%.2f&amp;#039;, xpperhour))):done()&lt;br /&gt;
		:tag(&amp;#039;td&amp;#039;):wikitext(coins(gpcostperhour)):done()&lt;br /&gt;
		:tag(&amp;#039;td&amp;#039;):wikitext(coins(gpperxp)):done()&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	--mw.logObject(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>