<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.pixelrus.net/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-catchcalc.js</id>
	<title>MediaWiki:Gadget-catchcalc.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.pixelrus.net/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-catchcalc.js"/>
	<link rel="alternate" type="text/html" href="https://wiki.pixelrus.net/index.php?title=MediaWiki:Gadget-catchcalc.js&amp;action=history"/>
	<updated>2026-08-27T05:08:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.4</generator>
	<entry>
		<id>https://wiki.pixelrus.net/index.php?title=MediaWiki:Gadget-catchcalc.js&amp;diff=125504&amp;oldid=prev</id>
		<title>NewAdmin: Update MediaWiki:Gadget-catchcalc.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrus.net/index.php?title=MediaWiki:Gadget-catchcalc.js&amp;diff=125504&amp;oldid=prev"/>
		<updated>2026-08-03T09:08:23Z</updated>

		<summary type="html">&lt;p&gt;Update MediaWiki:Gadget-catchcalc.js&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 09:08, 3 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l14&quot;&gt;Line 14:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 14:&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;		var path = ( window.mw &amp;amp;&amp;amp; mw.config &amp;amp;&amp;amp; mw.config.get( &amp;#039;wgArticlePath&amp;#039; ) ) || &amp;#039;/wiki/$1&amp;#039;;&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;		var path = ( window.mw &amp;amp;&amp;amp; mw.config &amp;amp;&amp;amp; mw.config.get( &amp;#039;wgArticlePath&amp;#039; ) ) || &amp;#039;/wiki/$1&amp;#039;;&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;		return path.replace( &amp;#039;$1&amp;#039;, encodeURIComponent( title.replace( / /g, &amp;#039;_&amp;#039; ) ) );&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;		return path.replace( &amp;#039;$1&amp;#039;, encodeURIComponent( title.replace( / /g, &amp;#039;_&amp;#039; ) ) );&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	function getParam( name ) {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		var match = new RegExp( &#039;[?&amp;amp;]&#039; + name + &#039;=([^&amp;amp;#]*)&#039; ).exec( location.search || &#039;&#039; );&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		if ( !match ) { return null; }&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		try { return decodeURIComponent( match[ 1 ].replace( /\+/g, &#039; &#039; ) ); }&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		catch ( e ) { return match[ 1 ]; }&lt;/ins&gt;&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;	}&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;	}&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 colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l229&quot;&gt;Line 229:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 236:&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;		} );&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;		} );&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; 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;		&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;root.appendChild( form )&lt;/del&gt;;&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;		&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;var toggleSection = null&lt;/ins&gt;;&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;		if ( toggleDefs.length ) {&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;		if ( toggleDefs.length ) {&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;			&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;root.appendChild( &lt;/del&gt;el( &#039;div&#039;, { class: &#039;ccalc-toggles-wrap&#039; }, [&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;			&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;toggleSection = &lt;/ins&gt;el( &#039;div&#039;, { class: &#039;ccalc-toggles-wrap&#039; }, [&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;				el( &amp;#039;div&amp;#039;, { class: &amp;#039;ccalc-label&amp;#039;, text: &amp;#039;Conditional ball situations&amp;#039; } ),&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;				el( &amp;#039;div&amp;#039;, { class: &amp;#039;ccalc-label&amp;#039;, text: &amp;#039;Conditional ball situations&amp;#039; } ),&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;				toggleWrap&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;				toggleWrap&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;			] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;) &lt;/del&gt;);&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;			] );&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;		}&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;		}&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;		root.appendChild( &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;results &lt;/del&gt;);&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; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		var leftChildren = [ form ];&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		if ( toggleSection ) { leftChildren.push( toggleSection ); }&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		var header = el( &#039;div&#039;, { class: &#039;ccalc-header&#039; }, [&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;			el( &#039;span&#039;, { class: &#039;ccalc-header-title&#039;, text: &#039;Catch Rate Calculator&#039; } )&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		] );&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		var left = el( &#039;div&#039;, { class: &#039;ccalc-left&#039; }, leftChildren );&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		var right = el( &#039;div&#039;, { class: &#039;ccalc-right&#039; }, [ results ] );&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		var body = el( &#039;div&#039;, { class: &#039;ccalc-body ccalc-cols&#039; }, [ left, right ] );&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;		root.appendChild( &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;header );&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		root.appendChild( body );&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		var initialSpecies = root.getAttribute( &#039;data-species&#039; ) || getParam( &#039;species&#039; );&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		if ( initialSpecies &amp;amp;&amp;amp; byName[ initialSpecies ] &lt;/ins&gt;) &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{ species.value = initialSpecies&lt;/ins&gt;; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}&lt;/ins&gt;&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;		recompute();&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;		recompute();&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;	}&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;	}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>NewAdmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrus.net/index.php?title=MediaWiki:Gadget-catchcalc.js&amp;diff=111587&amp;oldid=prev</id>
		<title>NewAdmin: Update MediaWiki:Gadget-catchcalc.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrus.net/index.php?title=MediaWiki:Gadget-catchcalc.js&amp;diff=111587&amp;oldid=prev"/>
		<updated>2026-06-15T08:55:09Z</updated>

		<summary type="html">&lt;p&gt;Update MediaWiki:Gadget-catchcalc.js&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 08:55, 15 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l9&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&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 () {&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 () {&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;	&amp;#039;use strict&amp;#039;;&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;	&amp;#039;use strict&amp;#039;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	// Wiki article URL for a page title (e.g. &quot;Great Ball&quot; -&gt; /index.php/Great_Ball).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	function pageHref( title ) {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		var path = ( window.mw &amp;amp;&amp;amp; mw.config &amp;amp;&amp;amp; mw.config.get( &#039;wgArticlePath&#039; ) ) || &#039;/wiki/$1&#039;;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		return path.replace( &#039;$1&#039;, encodeURIComponent( title.replace( / /g, &#039;_&#039; ) ) );&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	}&lt;/ins&gt;&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 el( tag, attrs, children ) {&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 el( tag, attrs, children ) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l194&quot;&gt;Line 194:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 200:&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;				var pctText = r.p &amp;gt;= 0.99995 ? &amp;#039;Guaranteed&amp;#039; : pct.toFixed( pct &amp;lt; 10 ? 2 : 1 ) + &amp;#039;%&amp;#039;;&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;				var pctText = r.p &amp;gt;= 0.99995 ? &amp;#039;Guaranteed&amp;#039; : pct.toFixed( pct &amp;lt; 10 ? 2 : 1 ) + &amp;#039;%&amp;#039;;&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;				var avg = r.p &amp;gt; 0 ? ( 1 / r.p ).toFixed( r.p &amp;gt; 0.2 ? 1 : 0 ) : &amp;#039;—&amp;#039;;&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;				var avg = r.p &amp;gt; 0 ? ( 1 / r.p ).toFixed( r.p &amp;gt; 0.2 ? 1 : 0 ) : &amp;#039;—&amp;#039;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;				var nameCell = el( &#039;td&#039;, {}, [&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;					el( &#039;a&#039;, { href: pageHref( r.ball.page || r.ball.name ), text: r.ball.name } )&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;				] );&lt;/ins&gt;&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;				var tr = el( &amp;#039;tr&amp;#039;, {}, [&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;				var tr = el( &amp;#039;tr&amp;#039;, {}, [&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;					&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;el( &#039;td&#039;, { text: r.ball.name } )&lt;/del&gt;,&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;					&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nameCell&lt;/ins&gt;,&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;					el( &amp;#039;td&amp;#039;, { &amp;#039;data-sort-value&amp;#039;: pct.toFixed( 4 ), text: pctText } ),&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;					el( &amp;#039;td&amp;#039;, { &amp;#039;data-sort-value&amp;#039;: pct.toFixed( 4 ), text: pctText } ),&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;					el( &amp;#039;td&amp;#039;, { text: avg } ),&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;					el( &amp;#039;td&amp;#039;, { text: avg } ),&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>NewAdmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrus.net/index.php?title=MediaWiki:Gadget-catchcalc.js&amp;diff=111584&amp;oldid=prev</id>
		<title>NewAdmin: Update MediaWiki:Gadget-catchcalc.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrus.net/index.php?title=MediaWiki:Gadget-catchcalc.js&amp;diff=111584&amp;oldid=prev"/>
		<updated>2026-06-15T08:38:56Z</updated>

		<summary type="html">&lt;p&gt;Update MediaWiki:Gadget-catchcalc.js&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 08:38, 15 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l247&quot;&gt;Line 247:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 247:&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;	else { document.addEventListener( &amp;#039;DOMContentLoaded&amp;#039;, init ); }&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;	else { document.addEventListener( &amp;#039;DOMContentLoaded&amp;#039;, init ); }&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;}() );&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;}() );&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Auto-generated]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>NewAdmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pixelrus.net/index.php?title=MediaWiki:Gadget-catchcalc.js&amp;diff=111575&amp;oldid=prev</id>
		<title>NewAdmin: Create MediaWiki:Gadget-catchcalc.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrus.net/index.php?title=MediaWiki:Gadget-catchcalc.js&amp;diff=111575&amp;oldid=prev"/>
		<updated>2026-06-15T08:32:34Z</updated>

		<summary type="html">&lt;p&gt;Create MediaWiki:Gadget-catchcalc.js&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/*&lt;br /&gt;
 * Pixelmon catch-rate calculator gadget.&lt;br /&gt;
 * Mounts into &amp;lt;div id=&amp;quot;catch-calculator&amp;quot;&amp;gt; on pages in the calculator category.&lt;br /&gt;
 * Data (species catch rates + ball bonuses) is provided by the companion&lt;br /&gt;
 * Gadget-catchcalc-data.js file as window.PixelmonCatchData.&lt;br /&gt;
 *&lt;br /&gt;
 * This file is the static UI/logic; it is NOT generated. The data file IS.&lt;br /&gt;
 */&lt;br /&gt;
( function () {&lt;br /&gt;
	&amp;#039;use strict&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	function el( tag, attrs, children ) {&lt;br /&gt;
		var node = document.createElement( tag );&lt;br /&gt;
		attrs = attrs || {};&lt;br /&gt;
		Object.keys( attrs ).forEach( function ( k ) {&lt;br /&gt;
			if ( k === &amp;#039;class&amp;#039; ) { node.className = attrs[ k ]; }&lt;br /&gt;
			else if ( k === &amp;#039;text&amp;#039; ) { node.textContent = attrs[ k ]; }&lt;br /&gt;
			else if ( k === &amp;#039;html&amp;#039; ) { node.innerHTML = attrs[ k ]; }&lt;br /&gt;
			else { node.setAttribute( k, attrs[ k ] ); }&lt;br /&gt;
		} );&lt;br /&gt;
		( children || [] ).forEach( function ( c ) {&lt;br /&gt;
			node.appendChild( typeof c === &amp;#039;string&amp;#039; ? document.createTextNode( c ) : c );&lt;br /&gt;
		} );&lt;br /&gt;
		return node;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// ── catch maths ────────────────────────────────────────────────&lt;br /&gt;
	// Status multipliers (Pixelmon / Gen VIII): 2.5x sleep &amp;amp; freeze, 1.5x the rest.&lt;br /&gt;
	var STATUS = {&lt;br /&gt;
		none: 1, asleep: 2.5, frozen: 2.5,&lt;br /&gt;
		paralyzed: 1.5, burned: 1.5, poisoned: 1.5&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	// Effective ball bonus given the chosen ball, target, and context toggles.&lt;br /&gt;
	function ballBonus( ball, ctx ) {&lt;br /&gt;
		var base = ball.bonus || 1;&lt;br /&gt;
		if ( base &amp;gt;= 255 ) { return base; }            // guaranteed catch sentinel&lt;br /&gt;
		var c = ball.cond;&lt;br /&gt;
		if ( !c ) { return base; }&lt;br /&gt;
		var t = ctx.target;&lt;br /&gt;
		switch ( c.kind ) {&lt;br /&gt;
			case &amp;#039;type&amp;#039;:&lt;br /&gt;
				return ( t.t || [] ).some( function ( x ) {&lt;br /&gt;
					return c.types.indexOf( x ) !== -1;&lt;br /&gt;
				} ) ? c.mult : base;&lt;br /&gt;
			case &amp;#039;fast&amp;#039;:&lt;br /&gt;
				return ( t.s != null &amp;amp;&amp;amp; t.s &amp;gt;= 100 ) ? c.mult : base;&lt;br /&gt;
			case &amp;#039;statusSleep&amp;#039;:&lt;br /&gt;
				return ctx.status === &amp;#039;asleep&amp;#039; ? c.mult : base;&lt;br /&gt;
			case &amp;#039;toggle&amp;#039;:&lt;br /&gt;
				return ctx.flags[ c.flag ] ? c.mult : base;&lt;br /&gt;
			case &amp;#039;level&amp;#039;: {                               // Level Ball&lt;br /&gt;
				var mine = ctx.myLevel, lv = ctx.level;&lt;br /&gt;
				if ( mine &amp;gt;= 4 * lv ) { return 8; }&lt;br /&gt;
				if ( mine &amp;gt;= 2 * lv ) { return 4; }&lt;br /&gt;
				if ( mine &amp;gt; lv ) { return 2; }&lt;br /&gt;
				return 1;&lt;br /&gt;
			}&lt;br /&gt;
			case &amp;#039;nest&amp;#039;: {                                // Nest Ball&lt;br /&gt;
				var m = ( 41 - ctx.level ) / 10;&lt;br /&gt;
				return m &amp;gt; 1 ? m : 1;&lt;br /&gt;
			}&lt;br /&gt;
			case &amp;#039;timer&amp;#039;: {                               // Timer Ball&lt;br /&gt;
				var m2 = 1 + 0.3 * ( ctx.turn - 1 );&lt;br /&gt;
				return m2 &amp;gt; 4 ? 4 : m2;&lt;br /&gt;
			}&lt;br /&gt;
			default:&lt;br /&gt;
				return base;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Gen VIII Heavy Ball adds a flat amount to the catch rate based on weight (kg).&lt;br /&gt;
	function heavyBonus( weight ) {&lt;br /&gt;
		if ( weight == null ) { return 0; }&lt;br /&gt;
		if ( weight &amp;gt;= 300 ) { return 30; }&lt;br /&gt;
		if ( weight &amp;gt;= 200 ) { return 20; }&lt;br /&gt;
		if ( weight &amp;lt;= 100 ) { return -20; }&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Single-throw catch probability (0..1) for one ball.&lt;br /&gt;
	function catchChance( ball, ctx ) {&lt;br /&gt;
		var t = ctx.target;&lt;br /&gt;
		var rate = t.r;&lt;br /&gt;
		if ( ball.cond &amp;amp;&amp;amp; ball.cond.kind === &amp;#039;heavy&amp;#039; ) {&lt;br /&gt;
			rate = Math.max( 1, rate + heavyBonus( t.w ) );&lt;br /&gt;
		}&lt;br /&gt;
		var bonus = ballBonus( ball, ctx );&lt;br /&gt;
		if ( bonus &amp;gt;= 255 ) { return 1; }&lt;br /&gt;
&lt;br /&gt;
		var hpFrac = ctx.hpPercent / 100;               // 0&amp;lt;frac&amp;lt;=1&lt;br /&gt;
		var a = ( ( 3 - 2 * hpFrac ) * rate * bonus * STATUS[ ctx.status ] ) / 3;&lt;br /&gt;
		if ( a &amp;gt;= 255 ) { return 1; }&lt;br /&gt;
		if ( a &amp;lt;= 0 ) { return 0; }&lt;br /&gt;
&lt;br /&gt;
		// Shake check: Gen III/IV uses exponent 1/4, Gen V+ (gen8) uses 3/16.&lt;br /&gt;
		var exp = ball.method === &amp;#039;gen4&amp;#039; ? 0.25 : 0.1875;&lt;br /&gt;
		var b = 65536 / Math.pow( 255 / a, exp );&lt;br /&gt;
		var per = Math.min( 1, b / 65536 );&lt;br /&gt;
		return Math.pow( per, 4 );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// ── UI ────────────────────────────────────────────────────────&lt;br /&gt;
	function build( root, data ) {&lt;br /&gt;
		var byName = {};&lt;br /&gt;
		data.species.forEach( function ( s ) { byName[ s.n ] = s; } );&lt;br /&gt;
&lt;br /&gt;
		var form = el( &amp;#039;div&amp;#039;, { class: &amp;#039;ccalc-form&amp;#039; } );&lt;br /&gt;
&lt;br /&gt;
		// Pokémon picker (datalist autocomplete).&lt;br /&gt;
		var listId = &amp;#039;ccalc-species-list&amp;#039;;&lt;br /&gt;
		var datalist = el( &amp;#039;datalist&amp;#039;, { id: listId } );&lt;br /&gt;
		data.species.forEach( function ( s ) {&lt;br /&gt;
			datalist.appendChild( el( &amp;#039;option&amp;#039;, { value: s.n } ) );&lt;br /&gt;
		} );&lt;br /&gt;
		var species = el( &amp;#039;input&amp;#039;, {&lt;br /&gt;
			class: &amp;#039;ccalc-input&amp;#039;, list: listId, placeholder: &amp;#039;e.g. Bulbasaur&amp;#039;,&lt;br /&gt;
			autocomplete: &amp;#039;off&amp;#039;&lt;br /&gt;
		} );&lt;br /&gt;
&lt;br /&gt;
		// Numeric / select controls.&lt;br /&gt;
		var hp = el( &amp;#039;input&amp;#039;, { type: &amp;#039;range&amp;#039;, min: &amp;#039;1&amp;#039;, max: &amp;#039;100&amp;#039;, value: &amp;#039;100&amp;#039;, class: &amp;#039;ccalc-range&amp;#039; } );&lt;br /&gt;
		var hpOut = el( &amp;#039;span&amp;#039;, { class: &amp;#039;ccalc-hpval&amp;#039;, text: &amp;#039;100%&amp;#039; } );&lt;br /&gt;
		var status = el( &amp;#039;select&amp;#039;, { class: &amp;#039;ccalc-input&amp;#039; } );&lt;br /&gt;
		[ [ &amp;#039;none&amp;#039;, &amp;#039;None&amp;#039; ], [ &amp;#039;asleep&amp;#039;, &amp;#039;Asleep&amp;#039; ], [ &amp;#039;frozen&amp;#039;, &amp;#039;Frozen&amp;#039; ],&lt;br /&gt;
		  [ &amp;#039;paralyzed&amp;#039;, &amp;#039;Paralyzed&amp;#039; ], [ &amp;#039;burned&amp;#039;, &amp;#039;Burned&amp;#039; ], [ &amp;#039;poisoned&amp;#039;, &amp;#039;Poisoned&amp;#039; ] ]&lt;br /&gt;
			.forEach( function ( o ) { status.appendChild( el( &amp;#039;option&amp;#039;, { value: o[ 0 ], text: o[ 1 ] } ) ); } );&lt;br /&gt;
		var level = el( &amp;#039;input&amp;#039;, { type: &amp;#039;number&amp;#039;, min: &amp;#039;1&amp;#039;, max: &amp;#039;100&amp;#039;, value: &amp;#039;50&amp;#039;, class: &amp;#039;ccalc-num&amp;#039; } );&lt;br /&gt;
		var myLevel = el( &amp;#039;input&amp;#039;, { type: &amp;#039;number&amp;#039;, min: &amp;#039;1&amp;#039;, max: &amp;#039;100&amp;#039;, value: &amp;#039;50&amp;#039;, class: &amp;#039;ccalc-num&amp;#039; } );&lt;br /&gt;
		var turn = el( &amp;#039;input&amp;#039;, { type: &amp;#039;number&amp;#039;, min: &amp;#039;1&amp;#039;, max: &amp;#039;99&amp;#039;, value: &amp;#039;1&amp;#039;, class: &amp;#039;ccalc-num&amp;#039; } );&lt;br /&gt;
&lt;br /&gt;
		function field( label, control, extra ) {&lt;br /&gt;
			var kids = [ el( &amp;#039;label&amp;#039;, { class: &amp;#039;ccalc-label&amp;#039;, text: label } ), control ];&lt;br /&gt;
			if ( extra ) { kids.push( extra ); }&lt;br /&gt;
			return el( &amp;#039;div&amp;#039;, { class: &amp;#039;ccalc-field&amp;#039; }, kids );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		form.appendChild( field( &amp;#039;Pokémon&amp;#039;, species, datalist ) );&lt;br /&gt;
		form.appendChild( field( &amp;#039;Remaining HP&amp;#039;, hp, hpOut ) );&lt;br /&gt;
		form.appendChild( field( &amp;#039;Status&amp;#039;, status ) );&lt;br /&gt;
		form.appendChild( field( &amp;#039;Target level&amp;#039;, level ) );&lt;br /&gt;
		form.appendChild( field( &amp;#039;Your Pokémon level&amp;#039;, myLevel ) );&lt;br /&gt;
		form.appendChild( field( &amp;#039;Battle turn&amp;#039;, turn ) );&lt;br /&gt;
&lt;br /&gt;
		// Context toggles (only those that are user-decided, not derivable from data).&lt;br /&gt;
		var flags = {};&lt;br /&gt;
		var toggleWrap = el( &amp;#039;div&amp;#039;, { class: &amp;#039;ccalc-toggles&amp;#039; } );&lt;br /&gt;
		var toggleDefs = [];&lt;br /&gt;
		data.balls.forEach( function ( b ) {&lt;br /&gt;
			if ( b.cond &amp;amp;&amp;amp; b.cond.kind === &amp;#039;toggle&amp;#039; ) {&lt;br /&gt;
				toggleDefs.push( { flag: b.cond.flag, label: b.cond.label } );&lt;br /&gt;
			}&lt;br /&gt;
		} );&lt;br /&gt;
		toggleDefs.forEach( function ( d ) {&lt;br /&gt;
			var cb = el( &amp;#039;input&amp;#039;, { type: &amp;#039;checkbox&amp;#039; } );&lt;br /&gt;
			flags[ d.flag ] = cb;&lt;br /&gt;
			toggleWrap.appendChild( el( &amp;#039;label&amp;#039;, { class: &amp;#039;ccalc-toggle&amp;#039; }, [ cb, &amp;#039; &amp;#039; + d.label ] ) );&lt;br /&gt;
		} );&lt;br /&gt;
&lt;br /&gt;
		var results = el( &amp;#039;div&amp;#039;, { class: &amp;#039;ccalc-results&amp;#039; } );&lt;br /&gt;
&lt;br /&gt;
		function recompute() {&lt;br /&gt;
			hpOut.textContent = hp.value + &amp;#039;%&amp;#039;;&lt;br /&gt;
			var target = byName[ species.value ];&lt;br /&gt;
			if ( !target ) {&lt;br /&gt;
				results.innerHTML = &amp;#039;&amp;lt;p class=&amp;quot;ccalc-hint&amp;quot;&amp;gt;Start typing a Pokémon name above to see catch chances.&amp;lt;/p&amp;gt;&amp;#039;;&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			var ctx = {&lt;br /&gt;
				target: target,&lt;br /&gt;
				hpPercent: Math.max( 1, Math.min( 100, +hp.value || 100 ) ),&lt;br /&gt;
				status: status.value,&lt;br /&gt;
				level: Math.max( 1, +level.value || 1 ),&lt;br /&gt;
				myLevel: Math.max( 1, +myLevel.value || 1 ),&lt;br /&gt;
				turn: Math.max( 1, +turn.value || 1 ),&lt;br /&gt;
				flags: {}&lt;br /&gt;
			};&lt;br /&gt;
			Object.keys( flags ).forEach( function ( k ) { ctx.flags[ k ] = flags[ k ].checked; } );&lt;br /&gt;
&lt;br /&gt;
			var rows = data.balls.map( function ( b ) {&lt;br /&gt;
				var p = catchChance( b, ctx );&lt;br /&gt;
				return { ball: b, p: p, bonus: ballBonus( b, ctx ) };&lt;br /&gt;
			} ).sort( function ( a, b ) { return b.p - a.p; } );&lt;br /&gt;
&lt;br /&gt;
			var tbl = el( &amp;#039;table&amp;#039;, { class: &amp;#039;wikitable sortable ccalc-table&amp;#039; } );&lt;br /&gt;
			tbl.appendChild( el( &amp;#039;tr&amp;#039;, {}, [&lt;br /&gt;
				el( &amp;#039;th&amp;#039;, { text: &amp;#039;Poké Ball&amp;#039; } ),&lt;br /&gt;
				el( &amp;#039;th&amp;#039;, { text: &amp;#039;Catch chance / throw&amp;#039; } ),&lt;br /&gt;
				el( &amp;#039;th&amp;#039;, { text: &amp;#039;Avg. balls to catch&amp;#039; } ),&lt;br /&gt;
				el( &amp;#039;th&amp;#039;, { text: &amp;#039;Effective bonus&amp;#039; } )&lt;br /&gt;
			] ) );&lt;br /&gt;
			rows.forEach( function ( r ) {&lt;br /&gt;
				var pct = ( r.p * 100 );&lt;br /&gt;
				var pctText = r.p &amp;gt;= 0.99995 ? &amp;#039;Guaranteed&amp;#039; : pct.toFixed( pct &amp;lt; 10 ? 2 : 1 ) + &amp;#039;%&amp;#039;;&lt;br /&gt;
				var avg = r.p &amp;gt; 0 ? ( 1 / r.p ).toFixed( r.p &amp;gt; 0.2 ? 1 : 0 ) : &amp;#039;—&amp;#039;;&lt;br /&gt;
				var tr = el( &amp;#039;tr&amp;#039;, {}, [&lt;br /&gt;
					el( &amp;#039;td&amp;#039;, { text: r.ball.name } ),&lt;br /&gt;
					el( &amp;#039;td&amp;#039;, { &amp;#039;data-sort-value&amp;#039;: pct.toFixed( 4 ), text: pctText } ),&lt;br /&gt;
					el( &amp;#039;td&amp;#039;, { text: avg } ),&lt;br /&gt;
					el( &amp;#039;td&amp;#039;, { text: ( r.bonus &amp;gt;= 255 ? &amp;#039;∞&amp;#039; : r.bonus.toFixed( 2 ).replace( /\.00$/, &amp;#039;&amp;#039; ) ) + &amp;#039;×&amp;#039; } )&lt;br /&gt;
				] );&lt;br /&gt;
				if ( r.p &amp;gt;= 0.99995 ) { tr.className = &amp;#039;ccalc-guaranteed&amp;#039;; }&lt;br /&gt;
				tbl.appendChild( tr );&lt;br /&gt;
			} );&lt;br /&gt;
			results.innerHTML = &amp;#039;&amp;#039;;&lt;br /&gt;
			var target_t = ( target.t || [] ).join( &amp;#039; / &amp;#039; ).toLowerCase();&lt;br /&gt;
			results.appendChild( el( &amp;#039;p&amp;#039;, { class: &amp;#039;ccalc-meta&amp;#039;, text:&lt;br /&gt;
				species.value + &amp;#039; — base catch rate &amp;#039; + target.r +&lt;br /&gt;
				( target_t ? &amp;#039;, &amp;#039; + target_t + &amp;#039;-type&amp;#039; : &amp;#039;&amp;#039; ) +&lt;br /&gt;
				( target.w != null ? &amp;#039;, &amp;#039; + target.w + &amp;#039; kg&amp;#039; : &amp;#039;&amp;#039; ) } ) );&lt;br /&gt;
			results.appendChild( tbl );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		[ species, hp, status, level, myLevel, turn ].forEach( function ( c ) {&lt;br /&gt;
			c.addEventListener( &amp;#039;input&amp;#039;, recompute );&lt;br /&gt;
			c.addEventListener( &amp;#039;change&amp;#039;, recompute );&lt;br /&gt;
		} );&lt;br /&gt;
		Object.keys( flags ).forEach( function ( k ) {&lt;br /&gt;
			flags[ k ].addEventListener( &amp;#039;change&amp;#039;, recompute );&lt;br /&gt;
		} );&lt;br /&gt;
&lt;br /&gt;
		root.appendChild( form );&lt;br /&gt;
		if ( toggleDefs.length ) {&lt;br /&gt;
			root.appendChild( el( &amp;#039;div&amp;#039;, { class: &amp;#039;ccalc-toggles-wrap&amp;#039; }, [&lt;br /&gt;
				el( &amp;#039;div&amp;#039;, { class: &amp;#039;ccalc-label&amp;#039;, text: &amp;#039;Conditional ball situations&amp;#039; } ),&lt;br /&gt;
				toggleWrap&lt;br /&gt;
			] ) );&lt;br /&gt;
		}&lt;br /&gt;
		root.appendChild( results );&lt;br /&gt;
		recompute();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function init() {&lt;br /&gt;
		var root = document.getElementById( &amp;#039;catch-calculator&amp;#039; );&lt;br /&gt;
		if ( !root ) { return; }&lt;br /&gt;
		var data = window.PixelmonCatchData;&lt;br /&gt;
		if ( !data || !data.species || !data.balls ) {&lt;br /&gt;
			root.textContent = &amp;#039;Catch calculator data failed to load.&amp;#039;;&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		root.classList.add( &amp;#039;ccalc-ready&amp;#039; );&lt;br /&gt;
		root.innerHTML = &amp;#039;&amp;#039;;&lt;br /&gt;
		build( root, data );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if ( document.readyState !== &amp;#039;loading&amp;#039; ) { init(); }&lt;br /&gt;
	else { document.addEventListener( &amp;#039;DOMContentLoaded&amp;#039;, init ); }&lt;br /&gt;
}() );&lt;br /&gt;
&lt;br /&gt;
[[Category:Auto-generated]]&lt;/div&gt;</summary>
		<author><name>NewAdmin</name></author>
	</entry>
</feed>