<?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=MediaWiki%3AGadget-mmgkc-core.js</id>
	<title>MediaWiki:Gadget-mmgkc-core.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.runerealm.org/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-mmgkc-core.js"/>
	<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-mmgkc-core.js&amp;action=history"/>
	<updated>2026-04-20T14:25:31Z</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=MediaWiki:Gadget-mmgkc-core.js&amp;diff=39072&amp;oldid=prev</id>
		<title>Alex at 16:15, 17 October 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-mmgkc-core.js&amp;diff=39072&amp;oldid=prev"/>
		<updated>2024-10-17T16:15:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:15, 17 October 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// KPH is saved in local storage with the key &quot;{Subpage name}-mmg-kph&quot;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// KPH is saved in local storage with the key &quot;{Subpage name}-mmg-kph&quot;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// For ex. &quot;Money making guide/Drinking irresponsibly&quot; would go to the key &quot;Drinking irresponsibly-mmg-kph&quot;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// For ex. &quot;Money making guide/Drinking irresponsibly&quot; would go to the key &quot;Drinking irresponsibly-mmg-kph&quot;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// If the page is NOT a subpage, we will not save LS. This might be confusing but is preferable to all TL &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;mw.&lt;/del&gt;pages using the same LS key.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// If the page is NOT a subpage, we will not save LS. This might be confusing but is preferable to all TL pages using the same LS key.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function parseMmgFloat(x) {&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function parseMmgFloat(x) {&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-34636:rev-39072:wikidiff2=table:1.13.0:bc2a06be --&gt;
&lt;/table&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-mmgkc-core.js&amp;diff=34636&amp;oldid=prev</id>
		<title>Alex at 23:10, 16 October 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-mmgkc-core.js&amp;diff=34636&amp;oldid=prev"/>
		<updated>2024-10-16T23:10:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 01:10, 17 October 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// KPH is saved in local storage with the key &quot;{Subpage name}-mmg-kph&quot;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// KPH is saved in local storage with the key &quot;{Subpage name}-mmg-kph&quot;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// For ex. &quot;Money making guide/Drinking irresponsibly&quot; would go to the key &quot;Drinking irresponsibly-mmg-kph&quot;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// For ex. &quot;Money making guide/Drinking irresponsibly&quot; would go to the key &quot;Drinking irresponsibly-mmg-kph&quot;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// If the page is NOT a subpage, we will not save LS. This might be confusing but is preferable to all TL pages using the same LS key.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// If the page is NOT a subpage, we will not save LS. This might be confusing but is preferable to all TL &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;mw.&lt;/ins&gt;pages using the same LS key.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function parseMmgFloat(x) {&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function parseMmgFloat(x) {&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
	<entry>
		<id>https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-mmgkc-core.js&amp;diff=864&amp;oldid=prev</id>
		<title>Alex: Created page with &quot;// Gets and sets items in local storage for the KPH amount // This allows for repeat visits to use the same KPH. // KPH is saved in local storage with the key &quot;{Subpage name}-mmg-kph&quot; // For ex. &quot;Money making guide/Drinking irresponsibly&quot; would go to the key &quot;Drinking irresponsibly-mmg-kph&quot; // If the page is NOT a subpage, we will not save LS. This might be confusing but is preferable to all TL pages using the same LS key.  function parseMmgFloat(x) { 	var _x = parseFloa...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.runerealm.org/index.php?title=MediaWiki:Gadget-mmgkc-core.js&amp;diff=864&amp;oldid=prev"/>
		<updated>2024-10-13T00:36:48Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;// Gets and sets items in local storage for the KPH amount // This allows for repeat visits to use the same KPH. // KPH is saved in local storage with the key &amp;quot;{Subpage name}-mmg-kph&amp;quot; // For ex. &amp;quot;Money making guide/Drinking irresponsibly&amp;quot; would go to the key &amp;quot;Drinking irresponsibly-mmg-kph&amp;quot; // If the page is NOT a subpage, we will not save LS. This might be confusing but is preferable to all TL pages using the same LS key.  function parseMmgFloat(x) { 	var _x = parseFloa...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;// Gets and sets items in local storage for the KPH amount&lt;br /&gt;
// This allows for repeat visits to use the same KPH.&lt;br /&gt;
// KPH is saved in local storage with the key &amp;quot;{Subpage name}-mmg-kph&amp;quot;&lt;br /&gt;
// For ex. &amp;quot;Money making guide/Drinking irresponsibly&amp;quot; would go to the key &amp;quot;Drinking irresponsibly-mmg-kph&amp;quot;&lt;br /&gt;
// If the page is NOT a subpage, we will not save LS. This might be confusing but is preferable to all TL pages using the same LS key.&lt;br /&gt;
&lt;br /&gt;
function parseMmgFloat(x) {&lt;br /&gt;
	var _x = parseFloat(x);&lt;br /&gt;
	if (isNaN(_x)) {&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
	return _x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function formatNum(x) {&lt;br /&gt;
	var _x = Math.abs(x);&lt;br /&gt;
	if (_x &amp;gt; 99) {&lt;br /&gt;
		// if over 100&lt;br /&gt;
		// round to 0 dp and format with commas if needed&lt;br /&gt;
		_x = Math.round(x);&lt;br /&gt;
		_x = _x.toLocaleString(&amp;#039;en&amp;#039;);&lt;br /&gt;
	} else if (_x &amp;lt; 0.1) {&lt;br /&gt;
		// if under 0.1&lt;br /&gt;
		// round to 2 sf&lt;br /&gt;
		var n = Math.floor(Math.log10(x)) - 1;&lt;br /&gt;
		_x = Math.pow(10, n) * Math.round(x/Math.pow(10,n));&lt;br /&gt;
		&lt;br /&gt;
		// cull binary representation error&lt;br /&gt;
		// probably a better way to do this&lt;br /&gt;
		_x = String(_x);&lt;br /&gt;
		_x = _x.replace(/([1-9])0000+\d$/, &amp;#039;$1&amp;#039;);&lt;br /&gt;
	} else {&lt;br /&gt;
		// if between 99 and 0.1 (inclusive)&lt;br /&gt;
		// round to 2 dp &lt;br /&gt;
		_x = Math.round(x*100)/100;&lt;br /&gt;
	}&lt;br /&gt;
	return _x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function coinsClasses($e, x) {&lt;br /&gt;
	$e.removeClass(&amp;#039;coins-pos coins-neg&amp;#039;);&lt;br /&gt;
	if (x &amp;gt; 0) {&lt;br /&gt;
		$e.addClass(&amp;#039;coins-pos&amp;#039;);&lt;br /&gt;
	} else if (x &amp;lt; 0) {&lt;br /&gt;
		$e.addClass(&amp;#039;coins-neg&amp;#039;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var $this, defaultKPH, kphField, layout;&lt;br /&gt;
&lt;br /&gt;
function updateEverything() {&lt;br /&gt;
	var val = kphField.getNumericValue();&lt;br /&gt;
	if (isNaN(val)) val = defaultKPH;&lt;br /&gt;
	&lt;br /&gt;
	$(&amp;#039;.mmg-kph.mmg-variable&amp;#039;).each(function(i,e){&lt;br /&gt;
		$(e).text(formatNum(val));&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	$(&amp;#039;.mmg-varieswithkph&amp;#039;).each(function(i,e) {&lt;br /&gt;
		var $e = $(e);&lt;br /&gt;
		if ($e.hasClass(&amp;#039;mmg-itemline&amp;#039;)) {&lt;br /&gt;
			var newValue = parseMmgFloat($e.find(&amp;#039;.mmg-cost&amp;#039;).attr(&amp;#039;data-mmg-cost-pk&amp;#039;))*val;&lt;br /&gt;
			$e.find(&amp;#039;.mmg-quantity&amp;#039;).text(formatNum(parseMmgFloat($e.find(&amp;#039;.mmg-quantity&amp;#039;).attr(&amp;#039;data-mmg-qty&amp;#039;))*val));&lt;br /&gt;
			$e.find(&amp;#039;.mmg-cost &amp;gt; span.coins&amp;#039;).text(formatNum(newValue));&lt;br /&gt;
			coinsClasses($e.find(&amp;#039;.mmg-cost &amp;gt; span.coins&amp;#039;), newValue);&lt;br /&gt;
		} else if ($e.hasClass(&amp;#039;mmg-xpline&amp;#039;)) {&lt;br /&gt;
			$e.find(&amp;#039;.scp&amp;#039;)[0].lastChild.nodeValue = &amp;#039; &amp;#039; +  formatNum(parseMmgFloat($e.attr(&amp;#039;data-mmg-xp-ph&amp;#039;)) + parseMmgFloat($e.attr(&amp;#039;data-mmg-xp-pk&amp;#039;)) * val) + &amp;#039; &amp;#039;;&lt;br /&gt;
		} else {&lt;br /&gt;
			var $e2 = $e.find(&amp;#039;&amp;gt; span.coins&amp;#039;),&lt;br /&gt;
				newValue = parseMmgFloat($e.attr(&amp;#039;data-mmg-cost-ph&amp;#039;)) + parseMmgFloat($e.attr(&amp;#039;data-mmg-cost-pk&amp;#039;)) * val,&lt;br /&gt;
				fNewVal = formatNum(newValue);&lt;br /&gt;
			&lt;br /&gt;
			if ($e2.length) {&lt;br /&gt;
				 $e2.text(fNewVal);&lt;br /&gt;
				 coinsClasses($e2, newValue);&lt;br /&gt;
			} else {&lt;br /&gt;
				$e.text(fNewVal);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function init() {&lt;br /&gt;
	$this = $(&amp;#039;.mmg-table.mmg-isperkill&amp;#039;);&lt;br /&gt;
	&lt;br /&gt;
	var pageName = mw.config.get(&amp;#039;wgTitle&amp;#039;);&lt;br /&gt;
	&lt;br /&gt;
	defaultKPH = $this.attr(&amp;#039;data-default-kph&amp;#039;);&lt;br /&gt;
	defaultKPHname = $this.attr(&amp;#039;data-default-kph-name&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
	kphField = new OO.ui.NumberInputWidget({&lt;br /&gt;
		min: 0,&lt;br /&gt;
		input: { value: getKphLocalStorage(pageName) || defaultKPH },&lt;br /&gt;
		classes: [&amp;#039;mmg-kph-selector-field&amp;#039;]&lt;br /&gt;
	});&lt;br /&gt;
	// We need to updateEverything since the KPH might not be the default&lt;br /&gt;
	updateEverything();&lt;br /&gt;
	&lt;br /&gt;
	var resetButton = new OO.ui.ButtonWidget( {&lt;br /&gt;
		icon: &amp;#039;reload&amp;#039;,&lt;br /&gt;
		label: &amp;#039;Reset&amp;#039;,&lt;br /&gt;
		invisibleLabel: true,&lt;br /&gt;
		classes: [&amp;#039;mmg-kph-refresh-field&amp;#039;],&lt;br /&gt;
		disabled: (getKphLocalStorage(pageName) || defaultKPH) === defaultKPH&lt;br /&gt;
	});&lt;br /&gt;
	resetButton.on(&amp;#039;click&amp;#039;, function() { &lt;br /&gt;
		// Reset the key AFTER setValue since setValue would otherwise write default_kph to LS&lt;br /&gt;
		kphField.setValue(defaultKPH);&lt;br /&gt;
		resetButton.setDisabled( true )&lt;br /&gt;
		resetKphLocalStorage(pageName);&lt;br /&gt;
	});&lt;br /&gt;
	&lt;br /&gt;
	function saveToLocalStorageAndUpdate() {&lt;br /&gt;
		setKphLocalStorage(pageName, kphField.getValue());&lt;br /&gt;
		resetButton.setDisabled( kphField.getValue() === defaultKPH );&lt;br /&gt;
		updateEverything();&lt;br /&gt;
	}&lt;br /&gt;
	kphField.on(&amp;#039;change&amp;#039;, saveToLocalStorageAndUpdate ).on(&amp;#039;enter&amp;#039;, saveToLocalStorageAndUpdate);&lt;br /&gt;
	&lt;br /&gt;
	layout = new OO.ui.ActionFieldLayout( kphField, resetButton, {&lt;br /&gt;
		label: defaultKPHname,&lt;br /&gt;
		classes: [&amp;#039;mmg-kph-div&amp;#039;],&lt;br /&gt;
		help: &amp;#039;Change the amount per hour you get here to update the numbers in the guide below.&amp;#039;&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	$this.before(layout.$element);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getLSKeyNameForMmg(mmgName) {&lt;br /&gt;
	// mmgName should always have a &amp;quot;Money making guide/&amp;quot; prefix&lt;br /&gt;
	// This will work for anything that is a subpage and we could have some default for a top level page, but I don&amp;#039;t want to pollute LS&lt;br /&gt;
	var mmg = mmgName.split(&amp;#039;/&amp;#039;)[1];&lt;br /&gt;
	if (mmg === undefined)&lt;br /&gt;
		return undefined;&lt;br /&gt;
	return mmg + &amp;#039;-mmg-kph&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getKphLocalStorage(mmgName) {&lt;br /&gt;
	var lsKey = getLSKeyNameForMmg(mmgName);&lt;br /&gt;
	if (lsKey !== undefined)&lt;br /&gt;
		return localStorage.getItem(lsKey);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function setKphLocalStorage(mmgName, valueToUse) {&lt;br /&gt;
	var lsKey = getLSKeyNameForMmg(mmgName);&lt;br /&gt;
	if (lsKey !== undefined)&lt;br /&gt;
		localStorage.setItem(lsKey, valueToUse);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function resetKphLocalStorage(mmgName) {&lt;br /&gt;
	var lsKey = getLSKeyNameForMmg(mmgName);&lt;br /&gt;
	if (lsKey !== undefined)&lt;br /&gt;
		localStorage.removeItem(lsKey);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$(init);&lt;/div&gt;</summary>
		<author><name>Alex</name></author>
	</entry>
</feed>