<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.kolmafia.us/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ulti</id>
	<title>Kolmafia - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.kolmafia.us/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ulti"/>
	<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Special:Contributions/Ulti"/>
	<updated>2026-04-30T13:33:17Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Reserved_Words&amp;diff=6268</id>
		<title>Reserved Words</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Reserved_Words&amp;diff=6268"/>
		<updated>2016-05-26T19:02:22Z</updated>

		<summary type="html">&lt;p&gt;Ulti: /* More Information */ updating broken link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
Following is a list of words that are reserved for special usage by KoLmafia. They can not be used as variable or function names.&lt;br /&gt;
&lt;br /&gt;
They are listed by category for ease of reference; the category names are not reserved words, themselves (though using them as variables would be considered poor practice in most cases).&lt;br /&gt;
&lt;br /&gt;
==Constants==&lt;br /&gt;
*&amp;quot;true&amp;quot;&lt;br /&gt;
*&amp;quot;false&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Operators==&lt;br /&gt;
*&amp;quot;contains&amp;quot;&lt;br /&gt;
*&amp;quot;remove&amp;quot;&lt;br /&gt;
*&amp;quot;new&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Control flow==&lt;br /&gt;
*&amp;quot;if&amp;quot;&lt;br /&gt;
*&amp;quot;else&amp;quot;&lt;br /&gt;
*&amp;quot;foreach&amp;quot;&lt;br /&gt;
*&amp;quot;in&amp;quot;&lt;br /&gt;
*&amp;quot;for&amp;quot;&lt;br /&gt;
*&amp;quot;from&amp;quot;&lt;br /&gt;
*&amp;quot;upto&amp;quot;&lt;br /&gt;
*&amp;quot;downto&amp;quot;&lt;br /&gt;
*&amp;quot;by&amp;quot;&lt;br /&gt;
*&amp;quot;while&amp;quot;&lt;br /&gt;
*&amp;quot;repeat&amp;quot;&lt;br /&gt;
*&amp;quot;until&amp;quot;&lt;br /&gt;
*&amp;quot;break&amp;quot;&lt;br /&gt;
*&amp;quot;continue&amp;quot;&lt;br /&gt;
*&amp;quot;return&amp;quot;&lt;br /&gt;
*&amp;quot;exit&amp;quot;&lt;br /&gt;
*&amp;quot;switch&amp;quot;&lt;br /&gt;
*&amp;quot;case&amp;quot;&lt;br /&gt;
*&amp;quot;default&amp;quot;&lt;br /&gt;
*&amp;quot;try&amp;quot;&lt;br /&gt;
*&amp;quot;finally&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Data types==&lt;br /&gt;
*&amp;quot;void&amp;quot;&lt;br /&gt;
*&amp;quot;boolean&amp;quot;&lt;br /&gt;
*&amp;quot;int&amp;quot;&lt;br /&gt;
*&amp;quot;float&amp;quot;&lt;br /&gt;
*&amp;quot;string&amp;quot;&lt;br /&gt;
*&amp;quot;buffer&amp;quot;&lt;br /&gt;
*&amp;quot;matcher&amp;quot;&lt;br /&gt;
*&amp;quot;aggregate&amp;quot;&lt;br /&gt;
*&amp;quot;item&amp;quot;&lt;br /&gt;
*&amp;quot;location&amp;quot;&lt;br /&gt;
*&amp;quot;class&amp;quot;&lt;br /&gt;
*&amp;quot;stat&amp;quot;&lt;br /&gt;
*&amp;quot;skill&amp;quot;&lt;br /&gt;
*&amp;quot;effect&amp;quot;&lt;br /&gt;
*&amp;quot;familiar&amp;quot;&lt;br /&gt;
*&amp;quot;slot&amp;quot;&lt;br /&gt;
*&amp;quot;monster&amp;quot;&lt;br /&gt;
*&amp;quot;element&amp;quot;&lt;br /&gt;
*&amp;quot;record&amp;quot;&lt;br /&gt;
*&amp;quot;typedef&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
[https://sourceforge.net/p/kolmafia/code/HEAD/tree/src/net/sourceforge/kolmafia/textui/Parser.java This particular page] contains the most up-to-date version of this list around line 272.&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Compiling_from_Source&amp;diff=2903</id>
		<title>Compiling from Source</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Compiling_from_Source&amp;diff=2903"/>
		<updated>2016-02-21T05:10:31Z</updated>

		<summary type="html">&lt;p&gt;Ulti: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To contribute to the Mafia project, you&#039;ll need to be able to install the Java Development Kit, connect to the SVN and be comfortable writing Java Code. Instructions for the first two are included below:&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
# Download and install the Java Development Kit, available here: http://java.sun.com/javase/downloads/index.jsp&lt;br /&gt;
# Download and install Subversion, available here: http://www.collab.net/downloads/subversion/&lt;br /&gt;
# Download and install Tortoise SVN (or of course, another SVN program), available here: http://tortoisesvn.tigris.org/&lt;br /&gt;
# Download and install WinAnt, available here: http://code.google.com/p/winant/&lt;br /&gt;
# Connect to the SVN server and download the source code for the Mafia Project. Using Tortoise SVN, you have to right-click on your desktop, select &amp;quot;SVN Checkout&amp;quot;, and put the URL of the repository as &amp;quot;svn://svn.code.sf.net/p/kolmafia/code/&amp;quot;. Leave all other settings as they are, and click OK.&lt;br /&gt;
# Copy C:/Program Files/WinAnt/bin/ant.bat to your Desktop/kolmafia/ folder. If you have set up WinAnt correctly (and it&#039;s hard not to - there aren&#039;t many options) then double clicking on this file should compile the program.&lt;br /&gt;
# Compiling creates a &amp;quot;build&amp;quot; and &amp;quot;dist&amp;quot; folder. The end program is in dist/Kolmafia.jar.&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
Due to how bat files work, &#039;&#039;ant.bat&#039;&#039; will auto-close on you before you can read its output. An easy workaround is to add a &amp;quot;pause&amp;quot; near the bottom of the file before it has a chance to auto-close on you.&amp;lt;br&amp;gt;&lt;br /&gt;
When you run it again, you&#039;ll be able to read its output. If you get an error message about &amp;quot;tools.jar&amp;quot; not being found, this means you&#039;re trying to build with the JRE (which doesn&#039;t contain this file) rather than the JDK (which contains it).&amp;lt;br&amp;gt;&lt;br /&gt;
To fix this, right click on &#039;&#039;my computer&#039;&#039; -&amp;gt; &#039;&#039;properties&#039;&#039; -&amp;gt; &#039;&#039;advanced system settings&#039;&#039; -&amp;gt; &#039;&#039;Environment Variables...&#039;&#039; then make sure your PATH contains a reference to the location of your JDK directory.&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
# Install Sun Java Development Kit ( debian: apt-get install sun-java6-jdk )&lt;br /&gt;
# Install Subversion ( debian: apt-get install svn )&lt;br /&gt;
# Install Ant ( debian: apt-get install ant )&lt;br /&gt;
# Connect to the SVN server and download the source code for the Mafia Project. ( svn checkout svn://svn.code.sf.net/p/kolmafia/code/ kolmafia )&lt;br /&gt;
# Verify tou are using sun-java with ( debian: update-alternatives --all )&lt;br /&gt;
# I had to change $JAVA_HOME to compile ( export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.12 )&lt;br /&gt;
# Compile kolmafia with Ant ( debian: cd kolmafia &amp;amp;&amp;amp; ant debian )&lt;br /&gt;
# Install kolmafia ( debian: cd dist &amp;amp;&amp;amp; dpkg -i kolmafia*.deb )&lt;br /&gt;
&lt;br /&gt;
==MacOSX==&lt;br /&gt;
&lt;br /&gt;
# Install the appropriate developer tools for your version of MacOSX from the Mac Dev Center (http://developer.apple.com/devcenter/mac/index.action) or from your original OS install disks.&lt;br /&gt;
# Open a new terminal window and navigate to the directory to which you wish to create kolmafia (e.g. cd ~/Projects, or some similar directory)&lt;br /&gt;
# Connect to the SVN server and download the source code for the Mafia Project. (svn checkout &amp;lt;nowiki&amp;gt;svn://svn.code.sf.net/p/kolmafia/code/&amp;lt;/nowiki&amp;gt; kolmafia )&lt;br /&gt;
# Compile kolmafia with Ant (cd kolmafia &amp;amp;&amp;amp; ant jarbundler) (use ant daily jarbundler after the initial install to update kol and build in one step)&lt;br /&gt;
# copy the application to your preferred location: (cp ./dist/KoLMafia.app /Applications)&lt;br /&gt;
&lt;br /&gt;
[[Category:Tech Support]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Compiling_from_Source&amp;diff=2902</id>
		<title>Compiling from Source</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Compiling_from_Source&amp;diff=2902"/>
		<updated>2016-02-21T05:09:34Z</updated>

		<summary type="html">&lt;p&gt;Ulti: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To contribute to the Mafia project, you&#039;ll need to be able to install the Java Development Kit, connect to the SVN and be comfortable writing Java Code. Instructions for the first two are included below:&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
# Download and install the Java Development Kit, available here: http://java.sun.com/javase/downloads/index.jsp&lt;br /&gt;
# Download and install Subversion, available here: http://www.collab.net/downloads/subversion/&lt;br /&gt;
# Download and install Tortoise SVN (or of course, another SVN program), available here: http://tortoisesvn.tigris.org/&lt;br /&gt;
# Download and install WinAnt, available here: http://code.google.com/p/winant/&lt;br /&gt;
# Connect to the SVN server and download the source code for the Mafia Project. Using Tortoise SVN, you have to right-click on your desktop, select &amp;quot;SVN Checkout&amp;quot;, and put the URL of the repository as &amp;quot;svn://svn.code.sf.net/p/kolmafia/code/&amp;quot;. Leave all other settings as they are, and click OK.&lt;br /&gt;
# Copy C:/Program Files/WinAnt/bin/ant.bat to your Desktop/kolmafia/ folder. If you have set up WinAnt correctly (and it&#039;s hard not to - there aren&#039;t many options) then double clicking on this file should compile the program.&lt;br /&gt;
# Compiling creates a &amp;quot;build&amp;quot; and &amp;quot;dist&amp;quot; folder. The end program is in dist/Kolmafia.jar.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
Due to how bat files work, &#039;&#039;ant.bat&#039;&#039; will auto-close on you before you can read its output. An easy workaround is to add a &amp;quot;pause&amp;quot; near the bottom of the file before it has a chance to auto-close on you.&amp;lt;br&amp;gt;&lt;br /&gt;
When you run it again, you&#039;ll be able to read its output. If you get an error message about &amp;quot;tools.jar&amp;quot; not being found, this means you&#039;re trying to build with the JRE (which doesn&#039;t contain this file) rather than the JDK (which contains it).&amp;lt;br&amp;gt;&lt;br /&gt;
To fix this, right click on &#039;&#039;my computer&#039;&#039; -&amp;gt; &#039;&#039;properties&#039;&#039; -&amp;gt; &#039;&#039;advanced system settings&#039;&#039; -&amp;gt; &#039;&#039;Environment Variables...&#039;&#039; then make sure your PATH contains a reference to the location of your JDK directory.&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
# Install Sun Java Development Kit ( debian: apt-get install sun-java6-jdk )&lt;br /&gt;
# Install Subversion ( debian: apt-get install svn )&lt;br /&gt;
# Install Ant ( debian: apt-get install ant )&lt;br /&gt;
# Connect to the SVN server and download the source code for the Mafia Project. ( svn checkout svn://svn.code.sf.net/p/kolmafia/code/ kolmafia )&lt;br /&gt;
# Verify tou are using sun-java with ( debian: update-alternatives --all )&lt;br /&gt;
# I had to change $JAVA_HOME to compile ( export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.12 )&lt;br /&gt;
# Compile kolmafia with Ant ( debian: cd kolmafia &amp;amp;&amp;amp; ant debian )&lt;br /&gt;
# Install kolmafia ( debian: cd dist &amp;amp;&amp;amp; dpkg -i kolmafia*.deb )&lt;br /&gt;
&lt;br /&gt;
==MacOSX==&lt;br /&gt;
&lt;br /&gt;
# Install the appropriate developer tools for your version of MacOSX from the Mac Dev Center (http://developer.apple.com/devcenter/mac/index.action) or from your original OS install disks.&lt;br /&gt;
# Open a new terminal window and navigate to the directory to which you wish to create kolmafia (e.g. cd ~/Projects, or some similar directory)&lt;br /&gt;
# Connect to the SVN server and download the source code for the Mafia Project. (svn checkout &amp;lt;nowiki&amp;gt;svn://svn.code.sf.net/p/kolmafia/code/&amp;lt;/nowiki&amp;gt; kolmafia )&lt;br /&gt;
# Compile kolmafia with Ant (cd kolmafia &amp;amp;&amp;amp; ant jarbundler) (use ant daily jarbundler after the initial install to update kol and build in one step)&lt;br /&gt;
# copy the application to your preferred location: (cp ./dist/KoLMafia.app /Applications)&lt;br /&gt;
&lt;br /&gt;
[[Category:Tech Support]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Compiling_from_Source&amp;diff=2901</id>
		<title>Compiling from Source</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Compiling_from_Source&amp;diff=2901"/>
		<updated>2016-02-21T05:08:56Z</updated>

		<summary type="html">&lt;p&gt;Ulti: /* Windows */ adding a troubleshooting section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To contribute to the Mafia project, you&#039;ll need to be able to install the Java Development Kit, connect to the SVN and be comfortable writing Java Code. Instructions for the first two are included below:&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
# Download and install the Java Development Kit, available here: http://java.sun.com/javase/downloads/index.jsp&lt;br /&gt;
# Download and install Subversion, available here: http://www.collab.net/downloads/subversion/&lt;br /&gt;
# Download and install Tortoise SVN (or of course, another SVN program), available here: http://tortoisesvn.tigris.org/&lt;br /&gt;
# Download and install WinAnt, available here: http://code.google.com/p/winant/&lt;br /&gt;
# Connect to the SVN server and download the source code for the Mafia Project. Using Tortoise SVN, you have to right-click on your desktop, select &amp;quot;SVN Checkout&amp;quot;, and put the URL of the repository as &amp;quot;svn://svn.code.sf.net/p/kolmafia/code/&amp;quot;. Leave all other settings as they are, and click OK.&lt;br /&gt;
# Copy C:/Program Files/WinAnt/bin/ant.bat to your Desktop/kolmafia/ folder. If you have set up WinAnt correctly (and it&#039;s hard not to - there aren&#039;t many options) then double clicking on this file should compile the program.&lt;br /&gt;
# Compiling creates a &amp;quot;build&amp;quot; and &amp;quot;dist&amp;quot; folder. The end program is in dist/Kolmafia.jar.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Troubleshooting:&amp;lt;br&amp;gt;&lt;br /&gt;
Due to how bat files work, &#039;&#039;ant.bat&#039;&#039; will auto-close on you before you can read its output. An easy workaround is to add a &amp;quot;pause&amp;quot; near the bottom of the file before it has a chance to auto-close on you.&amp;lt;br&amp;gt;&lt;br /&gt;
When you run it again, you&#039;ll be able to read its output. If you get an error message about &amp;quot;tools.jar&amp;quot; not being found, this means you&#039;re trying to build with the JRE (which doesn&#039;t contain this file) rather than the JDK (which contains it).&amp;lt;br&amp;gt;&lt;br /&gt;
To fix this, right click on &#039;&#039;my computer&#039;&#039; -&amp;gt; &#039;&#039;properties&#039;&#039; -&amp;gt; &#039;&#039;advanced system settings&#039;&#039; -&amp;gt; &#039;&#039;Environment Variables...&#039;&#039; then make sure your PATH contains a reference to the location of your JDK directory.&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
&lt;br /&gt;
# Install Sun Java Development Kit ( debian: apt-get install sun-java6-jdk )&lt;br /&gt;
# Install Subversion ( debian: apt-get install svn )&lt;br /&gt;
# Install Ant ( debian: apt-get install ant )&lt;br /&gt;
# Connect to the SVN server and download the source code for the Mafia Project. ( svn checkout svn://svn.code.sf.net/p/kolmafia/code/ kolmafia )&lt;br /&gt;
# Verify tou are using sun-java with ( debian: update-alternatives --all )&lt;br /&gt;
# I had to change $JAVA_HOME to compile ( export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.12 )&lt;br /&gt;
# Compile kolmafia with Ant ( debian: cd kolmafia &amp;amp;&amp;amp; ant debian )&lt;br /&gt;
# Install kolmafia ( debian: cd dist &amp;amp;&amp;amp; dpkg -i kolmafia*.deb )&lt;br /&gt;
&lt;br /&gt;
==MacOSX==&lt;br /&gt;
&lt;br /&gt;
# Install the appropriate developer tools for your version of MacOSX from the Mac Dev Center (http://developer.apple.com/devcenter/mac/index.action) or from your original OS install disks.&lt;br /&gt;
# Open a new terminal window and navigate to the directory to which you wish to create kolmafia (e.g. cd ~/Projects, or some similar directory)&lt;br /&gt;
# Connect to the SVN server and download the source code for the Mafia Project. (svn checkout &amp;lt;nowiki&amp;gt;svn://svn.code.sf.net/p/kolmafia/code/&amp;lt;/nowiki&amp;gt; kolmafia )&lt;br /&gt;
# Compile kolmafia with Ant (cd kolmafia &amp;amp;&amp;amp; ant jarbundler) (use ant daily jarbundler after the initial install to update kol and build in one step)&lt;br /&gt;
# copy the application to your preferred location: (cp ./dist/KoLMafia.app /Applications)&lt;br /&gt;
&lt;br /&gt;
[[Category:Tech Support]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Template:NavLink/doc&amp;diff=8330</id>
		<title>Template:NavLink/doc</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Template:NavLink/doc&amp;diff=8330"/>
		<updated>2015-09-30T09:08:43Z</updated>

		<summary type="html">&lt;p&gt;Ulti: Adding an example with the new &amp;quot;shortened form&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| {{NavLink|Template:NavLink|NavLink}}&lt;br /&gt;
| {{NavLink|Template:NavLink/doc|NavLink/doc}}&lt;br /&gt;
|}&lt;br /&gt;
The above is an example which renders from:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| {{NavLink|Template:NavLink|NavLink}}&lt;br /&gt;
| {{NavLink|Template:NavLink/doc|NavLink/doc}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively, we can omit a parameter and not specify text for the link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| {{NavLink|Template:NavLink}}&lt;br /&gt;
| {{NavLink|Template:NavLink/doc}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which renders the slightly different:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| {{NavLink|Template:NavLink}}&lt;br /&gt;
| {{NavLink|Template:NavLink/doc}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Template:NavLink&amp;diff=8328</id>
		<title>Template:NavLink</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Template:NavLink&amp;diff=8328"/>
		<updated>2015-09-30T08:51:40Z</updated>

		<summary type="html">&lt;p&gt;Ulti: allowing both encoded and non-encoded page names to be tested in the ifeq, to detect if it&amp;#039;s the active page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#if:{{#ifeq: {{FULLPAGENAMEE}} | {{{1}}} | true |}}{{#ifeq: {{FULLPAGENAME}} | {{{1}}} | true |}}| style=&amp;quot;{{{currentcss|background-color:#e9ebf5;}}}&amp;quot;| style=&amp;quot;{{{css|background-color:white;}}}&amp;quot;}} |&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;[[{{{1}}}|&amp;lt;span style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;{{{2|{{{1}}}}}}&amp;lt;/span&amp;gt;]]&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation}}[[Category:Basic Templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Xpath&amp;diff=8472</id>
		<title>Xpath</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Xpath&amp;diff=8472"/>
		<updated>2015-04-30T13:43:40Z</updated>

		<summary type="html">&lt;p&gt;Ulti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|xpath}}{{&lt;br /&gt;
#vardefine:return_type|string[int]}}{{&lt;br /&gt;
#vardefine:aggregate|yes}}{{&lt;br /&gt;
&lt;br /&gt;
FunctionPage|&lt;br /&gt;
name={{#var:name}}|&lt;br /&gt;
&lt;br /&gt;
function1={{Function|&lt;br /&gt;
name={{#var:name}}|&lt;br /&gt;
aggregate={{#var:aggregate}}|&lt;br /&gt;
return_type={{#var:return_type}}|&lt;br /&gt;
return_also={{#var:return_also}}|&lt;br /&gt;
parameter1={{Param|string|htmldocument}}|&lt;br /&gt;
parameter2={{Param|string|xpathselector}}|&lt;br /&gt;
p1desc={{Pspan|htmldocument}} is a string representing an html document such as that returned from visit_url|&lt;br /&gt;
p2desc={{Pspan|xpathselector}} is a standard xpath selector for selecting nodes in the document|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=This function returns an array of strings, for efficiency purposes, not a map, representing the node(s) which xpath has selected for you in the html document. Unlike a map, arrays will encounter an &amp;quot;out of bounds&amp;quot; exception when attempting to add new elements to it, do note the difference. This function will return an empty array if no nodes match the selector. In the event the selector uses invalid syntax, this function will error with &amp;quot;invalid xpath expression&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Sample|&lt;br /&gt;
description=The following code, if you are stuck in a choice adventure, will output the options of that choice adventure.|&lt;br /&gt;
code=&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
string[int] textOptions;&lt;br /&gt;
string[int] valueOptions;&lt;br /&gt;
string[int] choiceAdventureNumber;&lt;br /&gt;
string[int] choiceAdventureName;&lt;br /&gt;
string page=visit_url(&#039;charsheet.php&#039;);&lt;br /&gt;
textOptions=xpath(page,&#039;//form[@action=&amp;quot;choice.php&amp;quot;]//input[@type=&amp;quot;submit&amp;quot;]/@value&#039;);&lt;br /&gt;
valueOptions=xpath(page,&#039;//form[@action=&amp;quot;choice.php&amp;quot;]//input[@type=&amp;quot;hidden&amp;quot;][@name=&amp;quot;option&amp;quot;]/@value&#039;);&lt;br /&gt;
choiceAdventureNumber=xpath(page,&#039;//form[@action=&amp;quot;choice.php&amp;quot;]//input[@type=&amp;quot;hidden&amp;quot;][@name=&amp;quot;whichchoice&amp;quot;]/@value&#039;);&lt;br /&gt;
choiceAdventureName=xpath(page,&#039;//tr/td/b/text()&#039;);&lt;br /&gt;
if(count(textOptions)==0 || count(valueOptions)==0 || count(choiceAdventureNumber)==0)&lt;br /&gt;
{&lt;br /&gt;
	print(&#039;not in a choice adventure&#039;);&lt;br /&gt;
}else{&lt;br /&gt;
	string choiceAdvName;&lt;br /&gt;
	string choiceAdvNum=choiceAdventureNumber[0];&lt;br /&gt;
	if(count(choiceAdventureName)==0)&lt;br /&gt;
	{&lt;br /&gt;
		choiceAdvName=&#039;unnamed choice adventure&#039;;&lt;br /&gt;
	}else{&lt;br /&gt;
		choiceAdvName=choiceAdventureName[0];&lt;br /&gt;
	}&lt;br /&gt;
	print(&#039;choice adventure #&#039;+choiceAdvNum+&#039;:&#039;+choiceAdvName);&lt;br /&gt;
	for x from 0 to count(valueOptions)-1&lt;br /&gt;
	{&lt;br /&gt;
		print(&#039;option &#039;+valueOptions[x]+&#039;:&#039;+textOptions[x]);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|moreinfo=&lt;br /&gt;
For example, if you used &amp;quot;intriguing puzzle box&amp;quot; from your inventory and ran the above script, you&#039;d see the following output:&lt;br /&gt;
&amp;lt;pre&amp;gt;choice adventure #525:Fiddling with a Puzzle&lt;br /&gt;
option 1:Push the left face.&lt;br /&gt;
option 2:Turn the right face clockwise.&lt;br /&gt;
option 3:Turn the rear face counterclockwise.&lt;br /&gt;
option 4:Push the right face.&lt;br /&gt;
option 5:Turn the right face counterclockwise.&lt;br /&gt;
option 6:Turn the left face counterclockwise.&lt;br /&gt;
option 7:Stop messing with this dang puzzle.&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
see_also={{SeeAlso|visit_url}}|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:String Handling Routines]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Xpath&amp;diff=8471</id>
		<title>Xpath</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Xpath&amp;diff=8471"/>
		<updated>2015-04-30T13:42:21Z</updated>

		<summary type="html">&lt;p&gt;Ulti: Created page with &amp;quot;{{ #vardefine:name|xpath}}{{ #vardefine:return_type|string[int]}}{{ #vardefine:aggregate|yes}}{{  FunctionPage| name={{#var:name}}|  function1={{Function| name={{#var:name}}|...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|xpath}}{{&lt;br /&gt;
#vardefine:return_type|string[int]}}{{&lt;br /&gt;
#vardefine:aggregate|yes}}{{&lt;br /&gt;
&lt;br /&gt;
FunctionPage|&lt;br /&gt;
name={{#var:name}}|&lt;br /&gt;
&lt;br /&gt;
function1={{Function|&lt;br /&gt;
name={{#var:name}}|&lt;br /&gt;
aggregate={{#var:aggregate}}|&lt;br /&gt;
return_type={{#var:return_type}}|&lt;br /&gt;
return_also={{#var:return_also}}|&lt;br /&gt;
parameter1={{Param|string|htmldocument}}|&lt;br /&gt;
parameter2={{Param|string|xpathselector}}|&lt;br /&gt;
p1desc={{Pspan|htmldocument}} is a string representing an html document such as that returned from visit_url|&lt;br /&gt;
p2desc={{Pspan|xpathselector}} is a standard xpath selector for selecting nodes in the document|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=This function returns an array of strings, for efficiency purposes, not a map, representing the node(s) which xpath has selected for you in the html document. Unlike a map, arrays will encounter an &amp;quot;out of bounds&amp;quot; exception when attempting to add new elements to it, do note the difference. This function will return an empty array if no nodes match the selector. In the event the selector uses invalid syntax, this function will error with &amp;quot;invalid xpath expression&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Sample|&lt;br /&gt;
description=The following code, if you are stuck in a choice adventure, will output the options of that choice adventure.|&lt;br /&gt;
code=&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
string[int] textOptions;&lt;br /&gt;
string[int] valueOptions;&lt;br /&gt;
string[int] choiceAdventureNumber;&lt;br /&gt;
string[int] choiceAdventureName;&lt;br /&gt;
string page=visit_url(&#039;charsheet.php&#039;);&lt;br /&gt;
textOptions=xpath(page,&#039;//form[@action=&amp;quot;choice.php&amp;quot;]//input[@type=&amp;quot;submit&amp;quot;]/@value&#039;);&lt;br /&gt;
valueOptions=xpath(page,&#039;//form[@action=&amp;quot;choice.php&amp;quot;]//input[@type=&amp;quot;hidden&amp;quot;][@name=&amp;quot;option&amp;quot;]/@value&#039;);&lt;br /&gt;
choiceAdventureNumber=xpath(page,&#039;//form[@action=&amp;quot;choice.php&amp;quot;]//input[@type=&amp;quot;hidden&amp;quot;][@name=&amp;quot;whichchoice&amp;quot;]/@value&#039;);&lt;br /&gt;
choiceAdventureName=xpath(page,&#039;//tr/td/b/text()&#039;);&lt;br /&gt;
if(count(textOptions)==0 || count(valueOptions)==0 || count(choiceAdventureNumber)==0)&lt;br /&gt;
{&lt;br /&gt;
	print(&#039;not in a choice adventure&#039;);&lt;br /&gt;
}else{&lt;br /&gt;
	string choiceAdvName;&lt;br /&gt;
	string choiceAdvNum=choiceAdventureNumber[0];&lt;br /&gt;
	if(count(choiceAdventureName)==0)&lt;br /&gt;
	{&lt;br /&gt;
		choiceAdvName=&#039;unnamed choice adventure&#039;;&lt;br /&gt;
	}else{&lt;br /&gt;
		choiceAdvName=choiceAdventureName[0];&lt;br /&gt;
	}&lt;br /&gt;
	print(&#039;choice adventure #&#039;+choiceAdvNum+&#039;:&#039;+choiceAdvName);&lt;br /&gt;
	for x from 0 to count(valueOptions)-1&lt;br /&gt;
	{&lt;br /&gt;
		print(&#039;option &#039;+valueOptions[x]+&#039;:&#039;+textOptions[x]);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|moreinfo=&lt;br /&gt;
For example, if you used &amp;quot;intriguing puzzle box&amp;quot; from your inventory and ran the above script, you&#039;d see the following output:&lt;br /&gt;
&amp;lt;pre&amp;gt;choice adventure #525:Fiddling with a Puzzle&lt;br /&gt;
option 1:Push the left face.&lt;br /&gt;
option 2:Turn the right face clockwise.&lt;br /&gt;
option 3:Turn the rear face counterclockwise.&lt;br /&gt;
option 4:Push the right face.&lt;br /&gt;
option 5:Turn the right face counterclockwise.&lt;br /&gt;
option 6:Turn the left face counterclockwise.&lt;br /&gt;
option 7:Stop messing with this dang puzzle.&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
see_also={{SeeAlso|visit_url}}|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Ash Functions|Category:String Handling Routines]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:New_User_Help&amp;diff=6942</id>
		<title>Category:New User Help</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:New_User_Help&amp;diff=6942"/>
		<updated>2015-04-28T20:28:12Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added to &amp;quot;categories&amp;quot; category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Help for New Users&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:Tech_Support&amp;diff=6603</id>
		<title>Category:Tech Support</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:Tech_Support&amp;diff=6603"/>
		<updated>2015-04-28T20:26:44Z</updated>

		<summary type="html">&lt;p&gt;Ulti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These pages deal with the technical aspects of KoL Mafia.&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=User:Ulti/sandbox&amp;diff=8303</id>
		<title>User:Ulti/sandbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=User:Ulti/sandbox&amp;diff=8303"/>
		<updated>2015-04-16T08:59:00Z</updated>

		<summary type="html">&lt;p&gt;Ulti: /* migrating to ASH from PHP (work in progress) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{User:Ulti/Nav|active=sandbox}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  This page is a sandbox used for testing my code before putting it live elsewhere on the wiki&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom: .5em; float: left; padding: .5em 0 .8em 1.4em; background: none; width: auto;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;margin: 1em 0 0 0;border: 1px solid #aaa;background-color: #ececf7;padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
===migrating to ASH from PHP/JavaScript (work in progress)===&lt;br /&gt;
ASH is basically half-ass Java because of feature limitations made specific for interacting with KoL.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;margin: 1em 0 0 0;border: 1px solid #aaa;background-color: #ecfcf4;padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
====Default Function Parameters====&lt;br /&gt;
In PHP you can define default values for your arguments like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function helloWorld($msg=&#039;Hello world!&#039;)&lt;br /&gt;
{&lt;br /&gt;
	return $msg;&lt;br /&gt;
}&lt;br /&gt;
echo helloWorld();//prints &amp;quot;Hello world!&amp;quot; to the browser&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In ASH, default parameters is accomplished like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
string helloWorld(string msg)&lt;br /&gt;
{&lt;br /&gt;
	return msg;&lt;br /&gt;
}&lt;br /&gt;
string hellowWorld()&lt;br /&gt;
{&lt;br /&gt;
	string msg=&#039;Hello world!&#039;;&lt;br /&gt;
	return helloWorld(msg);&lt;br /&gt;
}&lt;br /&gt;
print(helloWorld());//prints &amp;quot;Hello world!&amp;quot; to kolmafia&#039;s command line interface.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====Simple For Loops====&lt;br /&gt;
In PHP, you write simple for loops like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for($i=1;$i&amp;lt;=5;$i++)&lt;br /&gt;
{&lt;br /&gt;
	echo &amp;quot;Loop $i&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In Ash you write such loops like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i from 1 to 5&lt;br /&gt;
{&lt;br /&gt;
	print(&#039;Loop &#039;+i);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====dialog boxes====&lt;br /&gt;
In JavaScript you write:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
confirm(&amp;quot;Are you sure?&amp;quot;);//returns true or false depending if the user presses ok or cancel in the popup&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In ash you write it like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
print(user_confirm(&amp;quot;Are you sure?&amp;quot;));//returns true or false depending if the user presses yes or no in the popup&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;margin: 1em 0 0 0;border: 1px solid #aaa;background-color: #ececf7;padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===new main page for the wiki (work in progress)===&lt;br /&gt;
&amp;lt;pre style=&amp;quot;clear: both;margin: 1em 0 0 0;border: 1px solid #aaa;background-color: #ecfcf4;padding: 1em;&amp;quot;&amp;gt;New User Help&lt;br /&gt;
	Installation&lt;br /&gt;
	Kolmafia Guide&lt;br /&gt;
	FAQ&lt;br /&gt;
	How Does Kolmafia Help&lt;br /&gt;
		Automation&lt;br /&gt;
		Help with Quests&lt;br /&gt;
		Basement Diving&lt;br /&gt;
	Related Links&lt;br /&gt;
ASH Scripting&lt;br /&gt;
	CLI&lt;br /&gt;
	Language Conventions&lt;br /&gt;
	Functions&lt;br /&gt;
	Related Links&lt;br /&gt;
Contributing&lt;br /&gt;
	Java&lt;br /&gt;
		Compiling from Source&lt;br /&gt;
		Mafia&#039;s Code&lt;br /&gt;
		Making a patch&lt;br /&gt;
	Wiki&lt;br /&gt;
		Editing the Documentation&lt;br /&gt;
		&amp;quot;To do&amp;quot; List&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Help:To_Do_List&amp;diff=7684</id>
		<title>Help:To Do List</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Help:To_Do_List&amp;diff=7684"/>
		<updated>2014-10-30T16:50:45Z</updated>

		<summary type="html">&lt;p&gt;Ulti: category &amp;quot;Contributing&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;To Do&amp;quot; List ==&lt;br /&gt;
&lt;br /&gt;
This is a list of stuff that is missing from the wiki or else needs major work. Please help!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need tips for editing the wiki, find that here: [[Help:Editing]].&lt;br /&gt;
&lt;br /&gt;
*CLI Commands are usually only added to the [[CLI Reference]]. Only very complicated commands require their own page.&lt;br /&gt;
&lt;br /&gt;
*ASH commands need to be listed on their category page as well as on the [[Ash Functions]] list. &lt;br /&gt;
**It is not necessary to always create a code sample, although it is preferred.&lt;br /&gt;
**If you don&#039;t add a code sample, please remember to add &#039;&#039;&#039;needscode=yes|&#039;&#039;&#039; to the page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Missing Stuff ==&lt;br /&gt;
 10078: ash function format_dtg&lt;br /&gt;
 10081: ash function format_dtg renamed to be&lt;br /&gt;
 string &#039;&#039;&#039;format_date_time(inFormat, dtg, outFormat)&#039;&#039;&#039;&lt;br /&gt;
 more info: http://kolmafia.us/showthread.php?8451-time_to_string()-with-parameter&amp;amp;p=64058&amp;amp;viewfull=1#post64058&lt;br /&gt;
&lt;br /&gt;
 Modify examples on proxy record page because of:&lt;br /&gt;
 10122: Add the boolean &amp;quot;fancy&amp;quot; and &amp;quot;candy&amp;quot; fields to item &#039;&#039;&#039;proxy records&#039;&#039;&#039;.&lt;br /&gt;
 10147: Initial support for &amp;quot;Crimbo 2011&amp;quot; coinmaster: trade candy for Candy Credits&lt;br /&gt;
 10412: Add $skill &#039;&#039;&#039;proxy records&#039;&#039;&#039;: .dailylimit and .timescast&lt;br /&gt;
 10879: Add a boolean &amp;quot;boss&amp;quot; field to $monster[]&lt;br /&gt;
&lt;br /&gt;
 10227: Add the &amp;lt;s&amp;gt;&amp;quot;&#039;&#039;&#039;closet empty&#039;&#039;&#039;&amp;quot; CLI command, and&amp;lt;/s&amp;gt; the &#039;&#039;&#039;empty_closet()&#039;&#039;&#039; ASH function.&lt;br /&gt;
&lt;br /&gt;
 r9181, 9183, 9184 &amp;amp; r9190: &#039;&#039;&#039;moods&#039;&#039;&#039; per slyz&#039;s summary here: http://kolmafia.us/showthread.php?8852-Composable-Moods&lt;br /&gt;
&lt;br /&gt;
 r10344 Add &#039;&#039;&#039;tavern( string goal )&#039;&#039;&#039; ASH function. &lt;br /&gt;
 goal can be &amp;quot;faucet&amp;quot;, &amp;quot;baron&amp;quot;, or  &amp;quot;explore&amp;quot; (to explore all remaining unexplored squares). &lt;br /&gt;
 r10345 Add ASH &#039;&#039;&#039;tavern( &amp;quot;fight&amp;quot; )&#039;&#039;&#039; to explore cellar until the Baron&#039;s mansion is found &lt;br /&gt;
 and then go in to fight him.&lt;br /&gt;
&lt;br /&gt;
 r10753-6 &#039;&#039;&#039;get_goals()&#039;&#039;&#039; returns a string[int] containing all the conditions that KoLmafia will &lt;br /&gt;
 try to satisfy. Add g&#039;&#039;&#039;oal_exists()&#039;&#039;&#039; where you can pass in a goal type (choiceadv, autostop, &lt;br /&gt;
 meat, health, mana, item) and KoLmafia will tell you if there are any goals that match.&lt;br /&gt;
&lt;br /&gt;
 10922: Add &#039;&#039;&#039;get_player_id()&#039;&#039;&#039; method to ASH&lt;br /&gt;
&lt;br /&gt;
 10937: Add &#039;&#039;&#039;minstrel_quest()&#039;&#039;&#039; boolean function,&lt;br /&gt;
 which returns true when Clancy has a new quest for you.&lt;br /&gt;
&lt;br /&gt;
 10971: Added boolean &#039;&#039;&#039;hippy_stone_broken()&#039;&#039;&#039; function&lt;br /&gt;
&lt;br /&gt;
 11023: Make the CLI &amp;quot;attack&amp;quot; command work again. Make &amp;quot;pvp&amp;quot; equivalent to &amp;quot;steal&amp;quot; instead &lt;br /&gt;
 of &amp;quot;attack&amp;quot;. Added &amp;quot;swagger&amp;quot; as equivalent to &amp;quot;flowers&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 11055: Added a 2-parameter version of &#039;&#039;&#039;to_string()&#039;&#039;&#039;, where the first parameter can&lt;br /&gt;
 currently be an int or float (other types are possible, but didn&#039;t seem&lt;br /&gt;
 useful), and the second is a format string as defined by the Java&lt;br /&gt;
 String.format() method (which in turn is based on C printf() format strings).&lt;br /&gt;
 For example, &amp;quot;%.2f&amp;quot; will output a float with exactly two digits after the&lt;br /&gt;
 (localized) decimal point.&lt;br /&gt;
&lt;br /&gt;
 11110: Add ASH function: &#039;&#039;&#039;pvp_attacks_left()&#039;&#039;&#039;. This is guaranteed accurate only if you &lt;br /&gt;
 have recently looked at the Fight! page. Tracking of PVP fights gained via&lt;br /&gt;
 consumption or familiar action and initialization at login will come later -&lt;br /&gt;
 after api.php is updated to include the figure.&lt;br /&gt;
 &lt;br /&gt;
 Add &#039;&#039;&#039;beforePVPScript&#039;&#039;&#039; setting which contains a script to be executed before a PVP&lt;br /&gt;
 attack. At the moment, this is only called from the Relay Browser - and only if&lt;br /&gt;
 relayRunsBeforePVPScript is true&lt;br /&gt;
 &lt;br /&gt;
 11112: Call beforePVPScript, if present, during automated PVP via the &amp;quot;flowers&amp;quot; command&lt;br /&gt;
&lt;br /&gt;
 11112: Change ASH &#039;&#039;&#039;have_outfit()&#039;&#039;&#039; to work with custom outfits, as well as normal outfit &lt;br /&gt;
 Add ASH &#039;&#039;&#039;is_wearing_outfit()&#039;&#039;&#039; to return TRUE if you are currently wearing the&lt;br /&gt;
 specified custom or normal outfit.&lt;br /&gt;
&lt;br /&gt;
 10815: Allow certain ASH constants to be used in custom combat settings. &lt;br /&gt;
 $phylum[] refers to the monster categorization, see the built-in ASH constants documentation for more information.&lt;br /&gt;
 $element[] refers to either the attack or the defense element. As long as one matches, this check will be satisfied. This may limit its usefulness, but we can evaluate it later.&lt;br /&gt;
 $item[] refers to an item that the monster drops. If there are multiple monsters that drop the item, or if you just can&#039;t remember which one it is, and your combat strategy happens to depend on it...&lt;br /&gt;
 In order to match, everything that you specify must match. So if you specify an impossible combination, that CCS section will not run.&lt;br /&gt;
 &lt;br /&gt;
 [ $element[ spooky ] $item[ hobo nickel ] ]&lt;br /&gt;
 skill entangling noodles&lt;br /&gt;
 skill weapon of the pastalord&lt;br /&gt;
 &lt;br /&gt;
 [ bathroom $element[ spooky ] ]&lt;br /&gt;
 attack&lt;br /&gt;
 &lt;br /&gt;
 [ $phylum[ beast ] ]&lt;br /&gt;
 skill stomp&lt;br /&gt;
 attack&lt;br /&gt;
&lt;br /&gt;
 11197: new ASH functions:&lt;br /&gt;
 boolean &#039;&#039;&#039;is_familiar_equipment_locked()&#039;&#039;&#039; &lt;br /&gt;
 -returns true if current familiar equipment is locked, otherwise false&lt;br /&gt;
 void &#039;&#039;&#039;lock_familiar_equipment(boolean locking)&#039;&#039;&#039;&lt;br /&gt;
 -tries to lock/unlock fam equipment accordingly.&lt;br /&gt;
&lt;br /&gt;
 11208: Add int &#039;&#039;&#039;get_clan_id()&#039;&#039;&#039; and string &#039;&#039;&#039;get_clan_name()&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
 11267: Pass chat events along to &#039;&#039;&#039;chatbotscript&#039;&#039;&#039;. The sender is an empty string, &lt;br /&gt;
 the channel is &amp;quot;Events&amp;quot;, and the message is stripped of its HTML.&lt;br /&gt;
&lt;br /&gt;
 11432: Add &#039;&#039;&#039;is_discardable()&#039;&#039;&#039; which will return true even if an item can be autosold, &lt;br /&gt;
 so be careful you don&#039;t get cheated out of some meat.&lt;br /&gt;
&lt;br /&gt;
 11438: Revert use of gift flag to previous interpretation: KoL has the item marked as&lt;br /&gt;
 a &amp;quot;Gift Item&amp;quot;. Instead, change isGiftable() - which is also used by the ASH&lt;br /&gt;
 is_giftable() function - to allow either the &amp;quot;tradeable&amp;quot; or &amp;quot;gift&amp;quot; flags.&lt;br /&gt;
 Fix the item.gift proxy field to return the value of the gift flag, rather than&lt;br /&gt;
 being a synonym for is_giftable().&lt;br /&gt;
&lt;br /&gt;
 11555: Add monster.raw_attack, monster.raw_defense, and monster.raw_hp to return the &lt;br /&gt;
 unmodified stats from monsters.txt.&lt;br /&gt;
&lt;br /&gt;
 11561:  Add monster &#039;&#039;&#039;image_to_monster( string )&#039;&#039;&#039; ASH function for looking up monster by image file name.&lt;br /&gt;
 Add monster.image proxy field for going the other way.&lt;br /&gt;
&lt;br /&gt;
 11771: experimental: add overloaded maximize() signature in ASH&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;maximize( string maximizerString, int maxPrice, int priceLevel, boolean simulate, boolean showEquipment )&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 returns an aggregate of records with each record containing the fields:&lt;br /&gt;
 **display =&amp;gt; display text, as it is shown in the maximizer frame&lt;br /&gt;
 **cmd =&amp;gt; actual command string that the maximizer runs to get the boost&lt;br /&gt;
 **score =&amp;gt; the boost&#039;s score&lt;br /&gt;
 **effect =&amp;gt; the effect provided by the boost - if applicable. effect[none] if it is equipment.&lt;br /&gt;
 **item =&amp;gt; $item[] that is being suggested for use or equipment&lt;br /&gt;
 **skill =&amp;gt; $skill[] that is being suggested&lt;br /&gt;
 &lt;br /&gt;
 If the showEquipment argument is false, equipment will be omitted from the results.&lt;br /&gt;
&lt;br /&gt;
 r11707: Experimental ASH feature: the main() function of imported scripts can now be&lt;br /&gt;
 invoked, under the alternate name main@filename()&lt;br /&gt;
 (where &#039;filename&#039; can be overridden by a &#039;script&#039; directive, any &amp;quot;.ash&amp;quot;&lt;br /&gt;
 suffix is dropped, and non-alphanumeric characters are replaced by&lt;br /&gt;
 underscores). Note that no spaces are allowed around the @, the whole thing&lt;br /&gt;
 is a single token.&lt;br /&gt;
&lt;br /&gt;
 r11965: Add my_companion()&lt;br /&gt;
&lt;br /&gt;
 r11985: Add the &amp;quot;skeleton&amp;quot; CLI command.&lt;br /&gt;
&lt;br /&gt;
 r12019: Add &amp;quot;eudora&amp;quot; CLI command&lt;br /&gt;
&lt;br /&gt;
 r12060: add ASH get_moods(), returns an aggregate of currently defined mood names.&lt;br /&gt;
 &amp;quot;mood listall&amp;quot; in the gCLI will also print a list of defined moods.&lt;br /&gt;
&lt;br /&gt;
 r12062: add ASH get_outfits() and get_custom_outfits()&lt;br /&gt;
&lt;br /&gt;
 r12070: Overloaded version of appearance_rates considers monster queue: &lt;br /&gt;
 appearance_rates( $location[] location, boolean includeQueue )&lt;br /&gt;
&lt;br /&gt;
 r12105: maximizerMRULength is now maximizerMRUSize&lt;br /&gt;
 That affects this page: [[Hidden_Features#Most_Recently_Used_Modifier_Maximizer_Expression]]&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;SVN Features added&#039;&#039;&#039; by Roippi! SVN integration was (brokenly) implemented in r12141 and more correctly implemented in r12144.&lt;br /&gt;
 &lt;br /&gt;
 FOR USERS:&lt;br /&gt;
 * svn checkout &amp;lt;svnurl&amp;gt; - checks out a svn repository and adds the files from the working copy to the appropriate locations.&lt;br /&gt;
 * svn update - updates all of your installed projects and pushes any changes to the appropriate locations.&lt;br /&gt;
 * svn list - lists installed projects.&lt;br /&gt;
 * svn delete &amp;lt;scriptname&amp;gt; - deletes installed projects and the corresponding files that it pushed. &amp;lt;scriptname&amp;gt; fuzzy matches the script names from svn list.&lt;br /&gt;
 &lt;br /&gt;
 FOR SCRIPTERS:&lt;br /&gt;
 You can provide a &amp;lt;nowiki&amp;gt;svn://, http://, or https://&amp;lt;/nowiki&amp;gt; link to a valid svn repo. The link does not need to be to the root of the repository.&lt;br /&gt;
 At the location specified by the url, there are only four permissible folders:&lt;br /&gt;
 * ccs/&lt;br /&gt;
 * data/&lt;br /&gt;
 * images/&lt;br /&gt;
 * relay/&lt;br /&gt;
 * scripts/&lt;br /&gt;
 &lt;br /&gt;
 Any files or directories in the location specified by your url that are not named the above will cause your repo to fail validation and thus it will not be checked out.&lt;br /&gt;
 Within the valid folders, you can nest files however you want.&lt;br /&gt;
 When users check out your project, the files (and nested folders) will be pushed to the corresponding mafia directories.&lt;br /&gt;
 &lt;br /&gt;
 r12157: &#039;&#039;&#039;svn increment &amp;lt;projectname&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;svn decrement &amp;lt;projectname&amp;gt;&#039;&#039;&#039; moves an installed svn project up/down one revision, respectively.&lt;br /&gt;
 &#039;&#039;&#039;svn update&#039;&#039;&#039; can also take &amp;lt;projectname&amp;gt; argument or a &amp;lt;SVNURL&amp;gt; argument. Or just be blank to update everything.&lt;br /&gt;
 r12177 svn inc/dec does the same thing as svn increment/decrement. Because typing stuff is hard. &lt;br /&gt;
 &lt;br /&gt;
 12167: command &amp;quot;&#039;&#039;&#039;svn sync&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 Looks through your working copies for modifications, then checks if that file differs from the local copy. If it differs, the WC file is copied over the local copy one.&lt;br /&gt;
 Note that this is very different from &amp;quot;svn update&amp;quot; and indeed does not contact the repository server at all.&lt;br /&gt;
 &lt;br /&gt;
 If you are unsure if you want this feature, this is only for people who maintain modifications to the files in their svn/ folders that they want merged in with updates from the repo.&lt;br /&gt;
 If you are just doing checkout/update operations and don&#039;t know what this &amp;quot;merging&amp;quot; business is about, you don&#039;t need this feature.&lt;br /&gt;
 &lt;br /&gt;
 Users who want to automatically sync after update operations can set syncAfterSvnUpdate = true.&lt;br /&gt;
&lt;br /&gt;
 r12153: add &#039;&#039;&#039;svnUpdateOnLogin&#039;&#039;&#039; (global, default false), which runs svn update before breakfast/loginScript.&lt;br /&gt;
 This could be useful if your loginScript has svn dependencies.&lt;br /&gt;
 &lt;br /&gt;
 r12188: add global preference &#039;&#039;&#039;_svnUpdated&#039;&#039;&#039;&lt;br /&gt;
 only do login svn update (mediated by svnUpdateOnLogin) at most once per day.&lt;br /&gt;
&lt;br /&gt;
 r12181: add preference &#039;&#039;&#039;simpleSvnUpdate&#039;&#039;&#039; (global, default true)&lt;br /&gt;
 If true, simply checks if the root of your working copy is at HEAD, skipping it if so. &lt;br /&gt;
 Speeds up the average update operation by 75% (and is probably nicer on servers). &lt;br /&gt;
 Advanced users who have done something like a non-root &amp;quot;svn switch&amp;quot; or are using svn externals should know whether they want to turn this off.&lt;br /&gt;
 &lt;br /&gt;
 Again the ticky box goes at the bottom of general preferences, it is soon time for these to be moved to their own page.&lt;br /&gt;
&lt;br /&gt;
 r12198 new ash svn functions:&lt;br /&gt;
 boolean &#039;&#039;&#039;svn_exists&#039;&#039;&#039;( String projectname ) - returns true if a valid working copy named projectname exists in the svn/ folder&lt;br /&gt;
 boolean &#039;&#039;&#039;svn_at_head&#039;&#039;&#039;( String projectname ) - returns true if projectname exists, is a valid WC, and is currently at the same revision # as the repository. &lt;br /&gt;
 This will hit the repo server, so be nice.&lt;br /&gt;
&lt;br /&gt;
 r12206: initial support for automatic svn dependency installation. &lt;br /&gt;
 global preference &#039;&#039;&#039;svnInstallDependencies&#039;&#039;&#039; (default true) controls whether svn will try to install dependencies.&lt;br /&gt;
 &lt;br /&gt;
 Scripters are now allowed to place a file called dependencies.txt in the top-level of a project.&lt;br /&gt;
 Calling it anything else will fail validation, as before. This special file will not be &amp;quot;pushed&amp;quot; to anywhere locally, it will just remain in the working copy folder.&lt;br /&gt;
 On each line of dependencies.txt, you specify one URL to another SVN project.&lt;br /&gt;
&lt;br /&gt;
 r12211: preference &#039;&#039;&#039;svnShowCommitMessages&#039;&#039;&#039; (global, default false) controls whether you want to see new commit messages from svn update operations.&lt;br /&gt;
&lt;br /&gt;
 r12215: add ash function: &#039;&#039;&#039;record svn_info( String project )&#039;&#039;&#039; &lt;br /&gt;
 record has the following fields-&lt;br /&gt;
 &lt;br /&gt;
 String url: the url that the project was checked out from&lt;br /&gt;
 int revision: the revision that the working copy is at&lt;br /&gt;
 String lastChangedAuthor: the author who committed the last change&lt;br /&gt;
 int lastChangedRev: the revision that most recently modified this working copy (note, not necessarily the same as revision field)&lt;br /&gt;
 String lastChangedDate: the date/time when lastChangedRevision happened&lt;br /&gt;
&lt;br /&gt;
 r12238: Add _floristPlantsUsed as a comma-separated list and &#039;&#039;&#039;florist_available()&#039;&#039;&#039;.&lt;br /&gt;
 Add &amp;quot;florist plant [plantname]&amp;quot; to add a plant. [plantname] is case-insensitive, but otherwise must exactly match KoL&#039;s name for the plant.&lt;br /&gt;
 Check what is currently planted when you log in.&lt;br /&gt;
&lt;br /&gt;
 r12244: Add string [location][int] &#039;&#039;&#039;get_florist_plants()&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 example 1...&lt;br /&gt;
 foreach loc, counter, plant in get_florist_plants() {&lt;br /&gt;
    print( &amp;quot;Location &#039;&amp;quot; + loc + &amp;quot;&#039;&amp;quot; );&lt;br /&gt;
    print( &amp;quot;Counter &#039;&amp;quot; + counter + &amp;quot;&#039;&amp;quot; );&lt;br /&gt;
    print( &amp;quot;Plant &#039;&amp;quot; + plant + &amp;quot;&#039;&amp;quot; );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 example 2...&lt;br /&gt;
 string [location][int] plants = get_florist_plants();&lt;br /&gt;
 foreach loc in plants {&lt;br /&gt;
    print( &amp;quot;Location &#039;&amp;quot; + loc + &amp;quot;&#039;&amp;quot; );&lt;br /&gt;
    string [int] array = plants[ loc ];&lt;br /&gt;
    foreach index in array {&lt;br /&gt;
        string plant = array[index];&lt;br /&gt;
        if ( plant != &amp;quot;&amp;quot; )&lt;br /&gt;
            print( &amp;quot;Plant = &amp;quot; + plant );&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 r12255: Experimental support for Dad Sea Monkee - untested in-game.&lt;br /&gt;
 - When we first see Dad Sea Monkee, parse the clues and solve for them.&lt;br /&gt;
 - &amp;quot;&#039;&#039;&#039;dad&#039;&#039;&#039;&amp;quot; CLI command lists the elemental weakness (and spell) for rounds 1-10&lt;br /&gt;
 - element &#039;&#039;&#039;dad_sea_monkee_weakness( int round )&#039;&#039;&#039; ASH function for consult scripts.&lt;br /&gt;
&lt;br /&gt;
 12657: Add &amp;quot;&#039;&#039;&#039;cache clear&#039;&#039;&#039;&amp;quot; command to remove all cached images from /images&lt;br /&gt;
 &lt;br /&gt;
 12659: New setting - lastImageCacheClear - records the time when you last cleared the&lt;br /&gt;
 image cache. &amp;quot;&#039;&#039;&#039;cache&#039;&#039;&#039;&amp;quot; command with no arguments reports that time.&lt;br /&gt;
&lt;br /&gt;
 12662: Add &#039;&#039;&#039;get_ignore_zone_warnings()&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 12932: Adds my_discomomentum().&lt;br /&gt;
&lt;br /&gt;
 13088: Make Prismatic Damage a real, if derived, modifier name. It cannot be used in&lt;br /&gt;
 modifiers.txt, bit you can ask for it by name either in ASH or the Maximizer&lt;br /&gt;
&lt;br /&gt;
 13213: Add &amp;quot;debug ash on&amp;quot; and &amp;quot;debug ash off&amp;quot; to turn on and off ASH script tracing &lt;br /&gt;
 ASH tracing goes into ASH_datestamp.txt&lt;br /&gt;
&lt;br /&gt;
 13222: Add preference banishedMonsters to track banishes. Add ash command is_banished($monsterName[name])&lt;br /&gt;
&lt;br /&gt;
 13223: Add &amp;quot;thrall&amp;quot; datatype to ASH. &lt;br /&gt;
 New ASH function: thrall my_thrall()&lt;br /&gt;
&lt;br /&gt;
 13234: New ASH functions: to_thrall( int ), to_thrall( string ), to_int( thrall )&lt;br /&gt;
 New proxy fields for thralls: .id, .image, .tinyimage, .skill&lt;br /&gt;
&lt;br /&gt;
 13256: Add CLI command to buy or sell from a coinmaster:&lt;br /&gt;
 coinmaster buy nickname item, item ...&lt;br /&gt;
 coinmaster sell nickname item, item, ...&lt;br /&gt;
&lt;br /&gt;
 r13280 &amp;amp; r13282: Added Ash functions:&lt;br /&gt;
 &#039;&#039;&#039;monster_initiative( [monster] )&#039;&#039;&#039; - returns initiative + ML penalty&lt;br /&gt;
&lt;br /&gt;
 13299: Add &amp;quot;&#039;&#039;&#039;bugbears&#039;&#039;&#039;&amp;quot; command to give status of the 9 Bugbear Mothership zones&lt;br /&gt;
&lt;br /&gt;
 13393: Added ash function &#039;&#039;&#039;stun_skill()&#039;&#039;&#039;, returns the character&#039;s stun skill based on  lass/preferences.&lt;br /&gt;
&lt;br /&gt;
 13395: CLI command &#039;&#039;&#039;restores&#039;&#039;&#039; added, tells you detail on all currently available restores. &amp;quot;restores all&amp;quot; tells you about all restores, &amp;quot;restores obtainable&amp;quot; tells you about all restores that you have or are tradeable.&lt;br /&gt;
&lt;br /&gt;
 13576: New ash data type $bounty&lt;br /&gt;
&lt;br /&gt;
 13581: Add ash to_bounty() function&lt;br /&gt;
&lt;br /&gt;
 13617: Add &#039;&#039;&#039;bounty&#039;&#039;&#039; CLI command. &lt;br /&gt;
 bounty - lists bounty progress and untaken bounties&lt;br /&gt;
 bounty easy|hard|special - accepts a bounty&lt;br /&gt;
&lt;br /&gt;
 13618: Add faxbot ash( $monster ) command. Note that chat must be open for this to successfully work, just as for other mafia fax interfaces.&lt;br /&gt;
&lt;br /&gt;
 13638: Add &amp;quot;bjornify&amp;quot; gCLI command, bjornify_familiar( familiar ), and my_bjorned_familiar().&lt;br /&gt;
&lt;br /&gt;
 13704: Add &amp;quot;grim&amp;quot; gCLI command to get a Grim Brother effect&lt;br /&gt;
&lt;br /&gt;
 13725: Track Audience (only works with character pane at present, request to add to api has been made). Appears on mafia side panel, also available with ash command my_audience().&lt;br /&gt;
&lt;br /&gt;
 13927: Relay overrides can be made for specific place.php pages by making a file called (for example) place.plains.ash in the relay folder.&lt;br /&gt;
 The same can be done with shop.php and store.php.&lt;br /&gt;
 &lt;br /&gt;
 For place.php?whichplace=plains, place.ash will be used only if place.plains.ash does not exist.&lt;br /&gt;
&lt;br /&gt;
 13988: Start tracking elemental planes quests, Hidden Temple quest, Spookyraven Babies quest, from quest log.&lt;br /&gt;
 questESlAudit&lt;br /&gt;
 questESlBacteria&lt;br /&gt;
 questESlCheeseburger&lt;br /&gt;
 questESlCocktail&lt;br /&gt;
 questESlDebt&lt;br /&gt;
 questESlFish&lt;br /&gt;
 questESlMushStash&lt;br /&gt;
 questESlSalt&lt;br /&gt;
 questESlSprinkles&lt;br /&gt;
 questM16Temple&lt;br /&gt;
 questM17Babies&lt;br /&gt;
&lt;br /&gt;
 r13996: Get turnsplayed from charpane and api and make available in total_turns_played()&lt;br /&gt;
&lt;br /&gt;
 r14012: Adds command &amp;quot;poolskill&amp;quot; which shows your current estimated pool skill, based on current spading on the mechanics.&lt;br /&gt;
 ie. Pool Skill = drunkenness up to 10, -2 for each drunkenness over 10, +1 for each time you&#039;ve met the pool shark semi-rare up to 10 times,&lt;br /&gt;
 plus bonuses from equipment/effects, plus training in current ascension.&lt;br /&gt;
&lt;br /&gt;
 r14017: Add &amp;quot;spookyraven&amp;quot; command. Use &amp;quot;spookyraven on&amp;quot; to track Lights Out all the time.&lt;br /&gt;
&lt;br /&gt;
 r14389 adds:&lt;br /&gt;
 boolean buy_using_storage( count, item )&lt;br /&gt;
 int buy_using_storage( count, item, max_price )&lt;br /&gt;
 which are like the equivalent buy() functions, but use Meat from storage to get items into storage if you are in Ronin or Hardcore.&lt;br /&gt;
&lt;br /&gt;
 r14408-14409: my_thunder(), my_rain(), my_lightning(), thunder_cost( skill ), rain_cost( skill ), lightning_cost( skill )&lt;br /&gt;
&lt;br /&gt;
 r14605: Add can_faxbot( monster ) ash command.&lt;br /&gt;
&lt;br /&gt;
 r14729: add fixedThreadPoolSize pref - diagnostic/fine tuning for limiting the threadpool size.&lt;br /&gt;
&lt;br /&gt;
== Needs Major Work ==&lt;br /&gt;
&lt;br /&gt;
[[Proxy Records]] is only slightly better than a placeholder.&lt;br /&gt;
&lt;br /&gt;
 In r10047, the adventure tab interface was altered. Fix SinginSally&#039;s guide on pages...&lt;br /&gt;
 &lt;br /&gt;
 http://wiki.kolmafia.us/index.php?title=KoLmafia_Guide:_Attack_Script&lt;br /&gt;
 http://wiki.kolmafia.us/index.php?title=KoLmafia_Guide:_Custom_Combat_Script&lt;br /&gt;
 http://wiki.kolmafia.us/index.php?title=KoLmafia_Guide:_Goal-Oriented_Adventuring&lt;br /&gt;
&lt;br /&gt;
 Information on moods calling other moods: http://kolmafia.us/showthread.php?8852-Composable-Moods&amp;amp;p=66468&amp;amp;viewfull=1#post66468&lt;br /&gt;
&lt;br /&gt;
 r10025: Added &#039;&#039;&#039;choice&#039;&#039;&#039; CLI command, to resolve manual or unsupported choiceadventures &lt;br /&gt;
 Added &amp;quot;choice&amp;quot; CLI command, to resolve manual or unsupported choice&lt;br /&gt;
 adventures without having to visit the relay browser - which might be&lt;br /&gt;
 inconvenient if you&#039;re already in the CLI, and don&#039;t need to see the full&lt;br /&gt;
 adventure text to decide which option you want. With no parameter, &amp;quot;choice&amp;quot;&lt;br /&gt;
 just lists the options. With a numeric parameter, it picks that option. &lt;br /&gt;
 With any other parameter, it picks the first option containing that text (in&lt;br /&gt;
 either the actual button text, or mafia&#039;s spoiler text).&lt;br /&gt;
&lt;br /&gt;
 r14389 adds:&lt;br /&gt;
 boolean buy_using_storage( count, item )&lt;br /&gt;
 int buy_using_storage( count, item, max_price )&lt;br /&gt;
 which are like the equivalent buy() functions, but use Meat from storage to get items into storage if you are in Ronin or Hardcore.&lt;br /&gt;
&lt;br /&gt;
== Needs Code Samples ==&lt;br /&gt;
&lt;br /&gt;
There is a list of all pages that require code samples: [[:Category:Needs_Code_Sample|Category:Needs Code Sample]]&lt;br /&gt;
&lt;br /&gt;
Information on how to create a code sample: [[Template:CodeSample]]&lt;br /&gt;
[[Category:Contributing]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:Contributing&amp;diff=8342</id>
		<title>Category:Contributing</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:Contributing&amp;diff=8342"/>
		<updated>2014-10-30T16:49:36Z</updated>

		<summary type="html">&lt;p&gt;Ulti: Created page with &amp;quot;Pages related to contributing to the KoLmafia project Category:Categories&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pages related to contributing to the KoLmafia project&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=User:Ulti/sandbox&amp;diff=8302</id>
		<title>User:Ulti/sandbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=User:Ulti/sandbox&amp;diff=8302"/>
		<updated>2014-10-30T16:42:59Z</updated>

		<summary type="html">&lt;p&gt;Ulti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{User:Ulti/Nav|active=sandbox}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:right;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  This page is a sandbox used for testing my code before putting it live elsewhere on the wiki&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom: .5em; float: left; padding: .5em 0 .8em 1.4em; background: none; width: auto;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;margin: 1em 0 0 0;border: 1px solid #aaa;background-color: #ececf7;padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
===migrating to ASH from PHP (work in progress)===&lt;br /&gt;
ASH is basically half-ass Java because of feature limitations made specific for interacting with KoL.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;margin: 1em 0 0 0;border: 1px solid #aaa;background-color: #ecfcf4;padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
====Default Function Parameters====&lt;br /&gt;
In PHP you can define default values for your arguments like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function helloWorld($msg=&#039;Hello world!&#039;)&lt;br /&gt;
{&lt;br /&gt;
	return $msg;&lt;br /&gt;
}&lt;br /&gt;
echo helloWorld();//prints &amp;quot;Hello world!&amp;quot; to the browser&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In ASH, default parameters is accomplished like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
string helloWorld(string msg)&lt;br /&gt;
{&lt;br /&gt;
	return msg;&lt;br /&gt;
}&lt;br /&gt;
string hellowWorld()&lt;br /&gt;
{&lt;br /&gt;
	string msg=&#039;Hello world!&#039;;&lt;br /&gt;
	return helloWorld(msg);&lt;br /&gt;
}&lt;br /&gt;
print(helloWorld());//prints &amp;quot;Hello world!&amp;quot; to kolmafia&#039;s command line interface.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====Simple For Loops====&lt;br /&gt;
In PHP, you write simple for loops like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for($i=1;$i&amp;lt;=5;$i++)&lt;br /&gt;
{&lt;br /&gt;
	echo &amp;quot;Loop $i&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In Ash you write such loops like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i from 1 to 5&lt;br /&gt;
{&lt;br /&gt;
	print(&#039;Loop &#039;+i);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;margin: 1em 0 0 0;border: 1px solid #aaa;background-color: #ececf7;padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
===new main page for the wiki (work in progress)===&lt;br /&gt;
&amp;lt;pre style=&amp;quot;clear: both;margin: 1em 0 0 0;border: 1px solid #aaa;background-color: #ecfcf4;padding: 1em;&amp;quot;&amp;gt;New User Help&lt;br /&gt;
	Installation&lt;br /&gt;
	Kolmafia Guide&lt;br /&gt;
	FAQ&lt;br /&gt;
	How Does Kolmafia Help&lt;br /&gt;
		Automation&lt;br /&gt;
		Help with Quests&lt;br /&gt;
		Basement Diving&lt;br /&gt;
	Related Links&lt;br /&gt;
ASH Scripting&lt;br /&gt;
	CLI&lt;br /&gt;
	Language Conventions&lt;br /&gt;
	Functions&lt;br /&gt;
	Related Links&lt;br /&gt;
Contributing&lt;br /&gt;
	Java&lt;br /&gt;
		Compiling from Source&lt;br /&gt;
		Mafia&#039;s Code&lt;br /&gt;
		Making a patch&lt;br /&gt;
	Wiki&lt;br /&gt;
		Editing the Documentation&lt;br /&gt;
		&amp;quot;To do&amp;quot; List&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Help:To_Do_List&amp;diff=7683</id>
		<title>Help:To Do List</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Help:To_Do_List&amp;diff=7683"/>
		<updated>2014-10-30T15:44:19Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added a categories tag to make the page easier to find&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;To Do&amp;quot; List ==&lt;br /&gt;
&lt;br /&gt;
This is a list of stuff that is missing from the wiki or else needs major work. Please help!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you need tips for editing the wiki, find that here: [[Help:Editing]].&lt;br /&gt;
&lt;br /&gt;
*CLI Commands are usually only added to the [[CLI Reference]]. Only very complicated commands require their own page.&lt;br /&gt;
&lt;br /&gt;
*ASH commands need to be listed on their category page as well as on the [[Ash Functions]] list. &lt;br /&gt;
**It is not necessary to always create a code sample, although it is preferred.&lt;br /&gt;
**If you don&#039;t add a code sample, please remember to add &#039;&#039;&#039;needscode=yes|&#039;&#039;&#039; to the page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Missing Stuff ==&lt;br /&gt;
 10078: ash function format_dtg&lt;br /&gt;
 10081: ash function format_dtg renamed to be&lt;br /&gt;
 string &#039;&#039;&#039;format_date_time(inFormat, dtg, outFormat)&#039;&#039;&#039;&lt;br /&gt;
 more info: http://kolmafia.us/showthread.php?8451-time_to_string()-with-parameter&amp;amp;p=64058&amp;amp;viewfull=1#post64058&lt;br /&gt;
&lt;br /&gt;
 Modify examples on proxy record page because of:&lt;br /&gt;
 10122: Add the boolean &amp;quot;fancy&amp;quot; and &amp;quot;candy&amp;quot; fields to item &#039;&#039;&#039;proxy records&#039;&#039;&#039;.&lt;br /&gt;
 10147: Initial support for &amp;quot;Crimbo 2011&amp;quot; coinmaster: trade candy for Candy Credits&lt;br /&gt;
 10412: Add $skill &#039;&#039;&#039;proxy records&#039;&#039;&#039;: .dailylimit and .timescast&lt;br /&gt;
 10879: Add a boolean &amp;quot;boss&amp;quot; field to $monster[]&lt;br /&gt;
&lt;br /&gt;
 10227: Add the &amp;lt;s&amp;gt;&amp;quot;&#039;&#039;&#039;closet empty&#039;&#039;&#039;&amp;quot; CLI command, and&amp;lt;/s&amp;gt; the &#039;&#039;&#039;empty_closet()&#039;&#039;&#039; ASH function.&lt;br /&gt;
&lt;br /&gt;
 r9181, 9183, 9184 &amp;amp; r9190: &#039;&#039;&#039;moods&#039;&#039;&#039; per slyz&#039;s summary here: http://kolmafia.us/showthread.php?8852-Composable-Moods&lt;br /&gt;
&lt;br /&gt;
 r10344 Add &#039;&#039;&#039;tavern( string goal )&#039;&#039;&#039; ASH function. &lt;br /&gt;
 goal can be &amp;quot;faucet&amp;quot;, &amp;quot;baron&amp;quot;, or  &amp;quot;explore&amp;quot; (to explore all remaining unexplored squares). &lt;br /&gt;
 r10345 Add ASH &#039;&#039;&#039;tavern( &amp;quot;fight&amp;quot; )&#039;&#039;&#039; to explore cellar until the Baron&#039;s mansion is found &lt;br /&gt;
 and then go in to fight him.&lt;br /&gt;
&lt;br /&gt;
 r10753-6 &#039;&#039;&#039;get_goals()&#039;&#039;&#039; returns a string[int] containing all the conditions that KoLmafia will &lt;br /&gt;
 try to satisfy. Add g&#039;&#039;&#039;oal_exists()&#039;&#039;&#039; where you can pass in a goal type (choiceadv, autostop, &lt;br /&gt;
 meat, health, mana, item) and KoLmafia will tell you if there are any goals that match.&lt;br /&gt;
&lt;br /&gt;
 10922: Add &#039;&#039;&#039;get_player_id()&#039;&#039;&#039; method to ASH&lt;br /&gt;
&lt;br /&gt;
 10937: Add &#039;&#039;&#039;minstrel_quest()&#039;&#039;&#039; boolean function,&lt;br /&gt;
 which returns true when Clancy has a new quest for you.&lt;br /&gt;
&lt;br /&gt;
 10971: Added boolean &#039;&#039;&#039;hippy_stone_broken()&#039;&#039;&#039; function&lt;br /&gt;
&lt;br /&gt;
 11023: Make the CLI &amp;quot;attack&amp;quot; command work again. Make &amp;quot;pvp&amp;quot; equivalent to &amp;quot;steal&amp;quot; instead &lt;br /&gt;
 of &amp;quot;attack&amp;quot;. Added &amp;quot;swagger&amp;quot; as equivalent to &amp;quot;flowers&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 11055: Added a 2-parameter version of &#039;&#039;&#039;to_string()&#039;&#039;&#039;, where the first parameter can&lt;br /&gt;
 currently be an int or float (other types are possible, but didn&#039;t seem&lt;br /&gt;
 useful), and the second is a format string as defined by the Java&lt;br /&gt;
 String.format() method (which in turn is based on C printf() format strings).&lt;br /&gt;
 For example, &amp;quot;%.2f&amp;quot; will output a float with exactly two digits after the&lt;br /&gt;
 (localized) decimal point.&lt;br /&gt;
&lt;br /&gt;
 11110: Add ASH function: &#039;&#039;&#039;pvp_attacks_left()&#039;&#039;&#039;. This is guaranteed accurate only if you &lt;br /&gt;
 have recently looked at the Fight! page. Tracking of PVP fights gained via&lt;br /&gt;
 consumption or familiar action and initialization at login will come later -&lt;br /&gt;
 after api.php is updated to include the figure.&lt;br /&gt;
 &lt;br /&gt;
 Add &#039;&#039;&#039;beforePVPScript&#039;&#039;&#039; setting which contains a script to be executed before a PVP&lt;br /&gt;
 attack. At the moment, this is only called from the Relay Browser - and only if&lt;br /&gt;
 relayRunsBeforePVPScript is true&lt;br /&gt;
 &lt;br /&gt;
 11112: Call beforePVPScript, if present, during automated PVP via the &amp;quot;flowers&amp;quot; command&lt;br /&gt;
&lt;br /&gt;
 11112: Change ASH &#039;&#039;&#039;have_outfit()&#039;&#039;&#039; to work with custom outfits, as well as normal outfit &lt;br /&gt;
 Add ASH &#039;&#039;&#039;is_wearing_outfit()&#039;&#039;&#039; to return TRUE if you are currently wearing the&lt;br /&gt;
 specified custom or normal outfit.&lt;br /&gt;
&lt;br /&gt;
 10815: Allow certain ASH constants to be used in custom combat settings. &lt;br /&gt;
 $phylum[] refers to the monster categorization, see the built-in ASH constants documentation for more information.&lt;br /&gt;
 $element[] refers to either the attack or the defense element. As long as one matches, this check will be satisfied. This may limit its usefulness, but we can evaluate it later.&lt;br /&gt;
 $item[] refers to an item that the monster drops. If there are multiple monsters that drop the item, or if you just can&#039;t remember which one it is, and your combat strategy happens to depend on it...&lt;br /&gt;
 In order to match, everything that you specify must match. So if you specify an impossible combination, that CCS section will not run.&lt;br /&gt;
 &lt;br /&gt;
 [ $element[ spooky ] $item[ hobo nickel ] ]&lt;br /&gt;
 skill entangling noodles&lt;br /&gt;
 skill weapon of the pastalord&lt;br /&gt;
 &lt;br /&gt;
 [ bathroom $element[ spooky ] ]&lt;br /&gt;
 attack&lt;br /&gt;
 &lt;br /&gt;
 [ $phylum[ beast ] ]&lt;br /&gt;
 skill stomp&lt;br /&gt;
 attack&lt;br /&gt;
&lt;br /&gt;
 11197: new ASH functions:&lt;br /&gt;
 boolean &#039;&#039;&#039;is_familiar_equipment_locked()&#039;&#039;&#039; &lt;br /&gt;
 -returns true if current familiar equipment is locked, otherwise false&lt;br /&gt;
 void &#039;&#039;&#039;lock_familiar_equipment(boolean locking)&#039;&#039;&#039;&lt;br /&gt;
 -tries to lock/unlock fam equipment accordingly.&lt;br /&gt;
&lt;br /&gt;
 11208: Add int &#039;&#039;&#039;get_clan_id()&#039;&#039;&#039; and string &#039;&#039;&#039;get_clan_name()&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
 11267: Pass chat events along to &#039;&#039;&#039;chatbotscript&#039;&#039;&#039;. The sender is an empty string, &lt;br /&gt;
 the channel is &amp;quot;Events&amp;quot;, and the message is stripped of its HTML.&lt;br /&gt;
&lt;br /&gt;
 11432: Add &#039;&#039;&#039;is_discardable()&#039;&#039;&#039; which will return true even if an item can be autosold, &lt;br /&gt;
 so be careful you don&#039;t get cheated out of some meat.&lt;br /&gt;
&lt;br /&gt;
 11438: Revert use of gift flag to previous interpretation: KoL has the item marked as&lt;br /&gt;
 a &amp;quot;Gift Item&amp;quot;. Instead, change isGiftable() - which is also used by the ASH&lt;br /&gt;
 is_giftable() function - to allow either the &amp;quot;tradeable&amp;quot; or &amp;quot;gift&amp;quot; flags.&lt;br /&gt;
 Fix the item.gift proxy field to return the value of the gift flag, rather than&lt;br /&gt;
 being a synonym for is_giftable().&lt;br /&gt;
&lt;br /&gt;
 11555: Add monster.raw_attack, monster.raw_defense, and monster.raw_hp to return the &lt;br /&gt;
 unmodified stats from monsters.txt.&lt;br /&gt;
&lt;br /&gt;
 11561:  Add monster &#039;&#039;&#039;image_to_monster( string )&#039;&#039;&#039; ASH function for looking up monster by image file name.&lt;br /&gt;
 Add monster.image proxy field for going the other way.&lt;br /&gt;
&lt;br /&gt;
 11771: experimental: add overloaded maximize() signature in ASH&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;maximize( string maximizerString, int maxPrice, int priceLevel, boolean simulate, boolean showEquipment )&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 returns an aggregate of records with each record containing the fields:&lt;br /&gt;
 **display =&amp;gt; display text, as it is shown in the maximizer frame&lt;br /&gt;
 **cmd =&amp;gt; actual command string that the maximizer runs to get the boost&lt;br /&gt;
 **score =&amp;gt; the boost&#039;s score&lt;br /&gt;
 **effect =&amp;gt; the effect provided by the boost - if applicable. effect[none] if it is equipment.&lt;br /&gt;
 **item =&amp;gt; $item[] that is being suggested for use or equipment&lt;br /&gt;
 **skill =&amp;gt; $skill[] that is being suggested&lt;br /&gt;
 &lt;br /&gt;
 If the showEquipment argument is false, equipment will be omitted from the results.&lt;br /&gt;
&lt;br /&gt;
 r11707: Experimental ASH feature: the main() function of imported scripts can now be&lt;br /&gt;
 invoked, under the alternate name main@filename()&lt;br /&gt;
 (where &#039;filename&#039; can be overridden by a &#039;script&#039; directive, any &amp;quot;.ash&amp;quot;&lt;br /&gt;
 suffix is dropped, and non-alphanumeric characters are replaced by&lt;br /&gt;
 underscores). Note that no spaces are allowed around the @, the whole thing&lt;br /&gt;
 is a single token.&lt;br /&gt;
&lt;br /&gt;
 r11965: Add my_companion()&lt;br /&gt;
&lt;br /&gt;
 r11985: Add the &amp;quot;skeleton&amp;quot; CLI command.&lt;br /&gt;
&lt;br /&gt;
 r12019: Add &amp;quot;eudora&amp;quot; CLI command&lt;br /&gt;
&lt;br /&gt;
 r12060: add ASH get_moods(), returns an aggregate of currently defined mood names.&lt;br /&gt;
 &amp;quot;mood listall&amp;quot; in the gCLI will also print a list of defined moods.&lt;br /&gt;
&lt;br /&gt;
 r12062: add ASH get_outfits() and get_custom_outfits()&lt;br /&gt;
&lt;br /&gt;
 r12070: Overloaded version of appearance_rates considers monster queue: &lt;br /&gt;
 appearance_rates( $location[] location, boolean includeQueue )&lt;br /&gt;
&lt;br /&gt;
 r12105: maximizerMRULength is now maximizerMRUSize&lt;br /&gt;
 That affects this page: [[Hidden_Features#Most_Recently_Used_Modifier_Maximizer_Expression]]&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;SVN Features added&#039;&#039;&#039; by Roippi! SVN integration was (brokenly) implemented in r12141 and more correctly implemented in r12144.&lt;br /&gt;
 &lt;br /&gt;
 FOR USERS:&lt;br /&gt;
 * svn checkout &amp;lt;svnurl&amp;gt; - checks out a svn repository and adds the files from the working copy to the appropriate locations.&lt;br /&gt;
 * svn update - updates all of your installed projects and pushes any changes to the appropriate locations.&lt;br /&gt;
 * svn list - lists installed projects.&lt;br /&gt;
 * svn delete &amp;lt;scriptname&amp;gt; - deletes installed projects and the corresponding files that it pushed. &amp;lt;scriptname&amp;gt; fuzzy matches the script names from svn list.&lt;br /&gt;
 &lt;br /&gt;
 FOR SCRIPTERS:&lt;br /&gt;
 You can provide a &amp;lt;nowiki&amp;gt;svn://, http://, or https://&amp;lt;/nowiki&amp;gt; link to a valid svn repo. The link does not need to be to the root of the repository.&lt;br /&gt;
 At the location specified by the url, there are only four permissible folders:&lt;br /&gt;
 * ccs/&lt;br /&gt;
 * data/&lt;br /&gt;
 * images/&lt;br /&gt;
 * relay/&lt;br /&gt;
 * scripts/&lt;br /&gt;
 &lt;br /&gt;
 Any files or directories in the location specified by your url that are not named the above will cause your repo to fail validation and thus it will not be checked out.&lt;br /&gt;
 Within the valid folders, you can nest files however you want.&lt;br /&gt;
 When users check out your project, the files (and nested folders) will be pushed to the corresponding mafia directories.&lt;br /&gt;
 &lt;br /&gt;
 r12157: &#039;&#039;&#039;svn increment &amp;lt;projectname&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;svn decrement &amp;lt;projectname&amp;gt;&#039;&#039;&#039; moves an installed svn project up/down one revision, respectively.&lt;br /&gt;
 &#039;&#039;&#039;svn update&#039;&#039;&#039; can also take &amp;lt;projectname&amp;gt; argument or a &amp;lt;SVNURL&amp;gt; argument. Or just be blank to update everything.&lt;br /&gt;
 r12177 svn inc/dec does the same thing as svn increment/decrement. Because typing stuff is hard. &lt;br /&gt;
 &lt;br /&gt;
 12167: command &amp;quot;&#039;&#039;&#039;svn sync&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 Looks through your working copies for modifications, then checks if that file differs from the local copy. If it differs, the WC file is copied over the local copy one.&lt;br /&gt;
 Note that this is very different from &amp;quot;svn update&amp;quot; and indeed does not contact the repository server at all.&lt;br /&gt;
 &lt;br /&gt;
 If you are unsure if you want this feature, this is only for people who maintain modifications to the files in their svn/ folders that they want merged in with updates from the repo.&lt;br /&gt;
 If you are just doing checkout/update operations and don&#039;t know what this &amp;quot;merging&amp;quot; business is about, you don&#039;t need this feature.&lt;br /&gt;
 &lt;br /&gt;
 Users who want to automatically sync after update operations can set syncAfterSvnUpdate = true.&lt;br /&gt;
&lt;br /&gt;
 r12153: add &#039;&#039;&#039;svnUpdateOnLogin&#039;&#039;&#039; (global, default false), which runs svn update before breakfast/loginScript.&lt;br /&gt;
 This could be useful if your loginScript has svn dependencies.&lt;br /&gt;
 &lt;br /&gt;
 r12188: add global preference &#039;&#039;&#039;_svnUpdated&#039;&#039;&#039;&lt;br /&gt;
 only do login svn update (mediated by svnUpdateOnLogin) at most once per day.&lt;br /&gt;
&lt;br /&gt;
 r12181: add preference &#039;&#039;&#039;simpleSvnUpdate&#039;&#039;&#039; (global, default true)&lt;br /&gt;
 If true, simply checks if the root of your working copy is at HEAD, skipping it if so. &lt;br /&gt;
 Speeds up the average update operation by 75% (and is probably nicer on servers). &lt;br /&gt;
 Advanced users who have done something like a non-root &amp;quot;svn switch&amp;quot; or are using svn externals should know whether they want to turn this off.&lt;br /&gt;
 &lt;br /&gt;
 Again the ticky box goes at the bottom of general preferences, it is soon time for these to be moved to their own page.&lt;br /&gt;
&lt;br /&gt;
 r12198 new ash svn functions:&lt;br /&gt;
 boolean &#039;&#039;&#039;svn_exists&#039;&#039;&#039;( String projectname ) - returns true if a valid working copy named projectname exists in the svn/ folder&lt;br /&gt;
 boolean &#039;&#039;&#039;svn_at_head&#039;&#039;&#039;( String projectname ) - returns true if projectname exists, is a valid WC, and is currently at the same revision # as the repository. &lt;br /&gt;
 This will hit the repo server, so be nice.&lt;br /&gt;
&lt;br /&gt;
 r12206: initial support for automatic svn dependency installation. &lt;br /&gt;
 global preference &#039;&#039;&#039;svnInstallDependencies&#039;&#039;&#039; (default true) controls whether svn will try to install dependencies.&lt;br /&gt;
 &lt;br /&gt;
 Scripters are now allowed to place a file called dependencies.txt in the top-level of a project.&lt;br /&gt;
 Calling it anything else will fail validation, as before. This special file will not be &amp;quot;pushed&amp;quot; to anywhere locally, it will just remain in the working copy folder.&lt;br /&gt;
 On each line of dependencies.txt, you specify one URL to another SVN project.&lt;br /&gt;
&lt;br /&gt;
 r12211: preference &#039;&#039;&#039;svnShowCommitMessages&#039;&#039;&#039; (global, default false) controls whether you want to see new commit messages from svn update operations.&lt;br /&gt;
&lt;br /&gt;
 r12215: add ash function: &#039;&#039;&#039;record svn_info( String project )&#039;&#039;&#039; &lt;br /&gt;
 record has the following fields-&lt;br /&gt;
 &lt;br /&gt;
 String url: the url that the project was checked out from&lt;br /&gt;
 int revision: the revision that the working copy is at&lt;br /&gt;
 String lastChangedAuthor: the author who committed the last change&lt;br /&gt;
 int lastChangedRev: the revision that most recently modified this working copy (note, not necessarily the same as revision field)&lt;br /&gt;
 String lastChangedDate: the date/time when lastChangedRevision happened&lt;br /&gt;
&lt;br /&gt;
 r12238: Add _floristPlantsUsed as a comma-separated list and &#039;&#039;&#039;florist_available()&#039;&#039;&#039;.&lt;br /&gt;
 Add &amp;quot;florist plant [plantname]&amp;quot; to add a plant. [plantname] is case-insensitive, but otherwise must exactly match KoL&#039;s name for the plant.&lt;br /&gt;
 Check what is currently planted when you log in.&lt;br /&gt;
&lt;br /&gt;
 r12244: Add string [location][int] &#039;&#039;&#039;get_florist_plants()&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 example 1...&lt;br /&gt;
 foreach loc, counter, plant in get_florist_plants() {&lt;br /&gt;
    print( &amp;quot;Location &#039;&amp;quot; + loc + &amp;quot;&#039;&amp;quot; );&lt;br /&gt;
    print( &amp;quot;Counter &#039;&amp;quot; + counter + &amp;quot;&#039;&amp;quot; );&lt;br /&gt;
    print( &amp;quot;Plant &#039;&amp;quot; + plant + &amp;quot;&#039;&amp;quot; );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 example 2...&lt;br /&gt;
 string [location][int] plants = get_florist_plants();&lt;br /&gt;
 foreach loc in plants {&lt;br /&gt;
    print( &amp;quot;Location &#039;&amp;quot; + loc + &amp;quot;&#039;&amp;quot; );&lt;br /&gt;
    string [int] array = plants[ loc ];&lt;br /&gt;
    foreach index in array {&lt;br /&gt;
        string plant = array[index];&lt;br /&gt;
        if ( plant != &amp;quot;&amp;quot; )&lt;br /&gt;
            print( &amp;quot;Plant = &amp;quot; + plant );&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 r12255: Experimental support for Dad Sea Monkee - untested in-game.&lt;br /&gt;
 - When we first see Dad Sea Monkee, parse the clues and solve for them.&lt;br /&gt;
 - &amp;quot;&#039;&#039;&#039;dad&#039;&#039;&#039;&amp;quot; CLI command lists the elemental weakness (and spell) for rounds 1-10&lt;br /&gt;
 - element &#039;&#039;&#039;dad_sea_monkee_weakness( int round )&#039;&#039;&#039; ASH function for consult scripts.&lt;br /&gt;
&lt;br /&gt;
 12657: Add &amp;quot;&#039;&#039;&#039;cache clear&#039;&#039;&#039;&amp;quot; command to remove all cached images from /images&lt;br /&gt;
 &lt;br /&gt;
 12659: New setting - lastImageCacheClear - records the time when you last cleared the&lt;br /&gt;
 image cache. &amp;quot;&#039;&#039;&#039;cache&#039;&#039;&#039;&amp;quot; command with no arguments reports that time.&lt;br /&gt;
&lt;br /&gt;
 12662: Add &#039;&#039;&#039;get_ignore_zone_warnings()&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 12932: Adds my_discomomentum().&lt;br /&gt;
&lt;br /&gt;
 13088: Make Prismatic Damage a real, if derived, modifier name. It cannot be used in&lt;br /&gt;
 modifiers.txt, bit you can ask for it by name either in ASH or the Maximizer&lt;br /&gt;
&lt;br /&gt;
 13213: Add &amp;quot;debug ash on&amp;quot; and &amp;quot;debug ash off&amp;quot; to turn on and off ASH script tracing &lt;br /&gt;
 ASH tracing goes into ASH_datestamp.txt&lt;br /&gt;
&lt;br /&gt;
 13222: Add preference banishedMonsters to track banishes. Add ash command is_banished($monsterName[name])&lt;br /&gt;
&lt;br /&gt;
 13223: Add &amp;quot;thrall&amp;quot; datatype to ASH. &lt;br /&gt;
 New ASH function: thrall my_thrall()&lt;br /&gt;
&lt;br /&gt;
 13234: New ASH functions: to_thrall( int ), to_thrall( string ), to_int( thrall )&lt;br /&gt;
 New proxy fields for thralls: .id, .image, .tinyimage, .skill&lt;br /&gt;
&lt;br /&gt;
 13256: Add CLI command to buy or sell from a coinmaster:&lt;br /&gt;
 coinmaster buy nickname item, item ...&lt;br /&gt;
 coinmaster sell nickname item, item, ...&lt;br /&gt;
&lt;br /&gt;
 r13280 &amp;amp; r13282: Added Ash functions:&lt;br /&gt;
 &#039;&#039;&#039;monster_initiative( [monster] )&#039;&#039;&#039; - returns initiative + ML penalty&lt;br /&gt;
&lt;br /&gt;
 13299: Add &amp;quot;&#039;&#039;&#039;bugbears&#039;&#039;&#039;&amp;quot; command to give status of the 9 Bugbear Mothership zones&lt;br /&gt;
&lt;br /&gt;
 13393: Added ash function &#039;&#039;&#039;stun_skill()&#039;&#039;&#039;, returns the character&#039;s stun skill based on  lass/preferences.&lt;br /&gt;
&lt;br /&gt;
 13395: CLI command &#039;&#039;&#039;restores&#039;&#039;&#039; added, tells you detail on all currently available restores. &amp;quot;restores all&amp;quot; tells you about all restores, &amp;quot;restores obtainable&amp;quot; tells you about all restores that you have or are tradeable.&lt;br /&gt;
&lt;br /&gt;
 13576: New ash data type $bounty&lt;br /&gt;
&lt;br /&gt;
 13581: Add ash to_bounty() function&lt;br /&gt;
&lt;br /&gt;
 13617: Add &#039;&#039;&#039;bounty&#039;&#039;&#039; CLI command. &lt;br /&gt;
 bounty - lists bounty progress and untaken bounties&lt;br /&gt;
 bounty easy|hard|special - accepts a bounty&lt;br /&gt;
&lt;br /&gt;
 13618: Add faxbot ash( $monster ) command. Note that chat must be open for this to successfully work, just as for other mafia fax interfaces.&lt;br /&gt;
&lt;br /&gt;
 13638: Add &amp;quot;bjornify&amp;quot; gCLI command, bjornify_familiar( familiar ), and my_bjorned_familiar().&lt;br /&gt;
&lt;br /&gt;
 13704: Add &amp;quot;grim&amp;quot; gCLI command to get a Grim Brother effect&lt;br /&gt;
&lt;br /&gt;
 13725: Track Audience (only works with character pane at present, request to add to api has been made). Appears on mafia side panel, also available with ash command my_audience().&lt;br /&gt;
&lt;br /&gt;
 13927: Relay overrides can be made for specific place.php pages by making a file called (for example) place.plains.ash in the relay folder.&lt;br /&gt;
 The same can be done with shop.php and store.php.&lt;br /&gt;
 &lt;br /&gt;
 For place.php?whichplace=plains, place.ash will be used only if place.plains.ash does not exist.&lt;br /&gt;
&lt;br /&gt;
 13988: Start tracking elemental planes quests, Hidden Temple quest, Spookyraven Babies quest, from quest log.&lt;br /&gt;
 questESlAudit&lt;br /&gt;
 questESlBacteria&lt;br /&gt;
 questESlCheeseburger&lt;br /&gt;
 questESlCocktail&lt;br /&gt;
 questESlDebt&lt;br /&gt;
 questESlFish&lt;br /&gt;
 questESlMushStash&lt;br /&gt;
 questESlSalt&lt;br /&gt;
 questESlSprinkles&lt;br /&gt;
 questM16Temple&lt;br /&gt;
 questM17Babies&lt;br /&gt;
&lt;br /&gt;
 r13996: Get turnsplayed from charpane and api and make available in total_turns_played()&lt;br /&gt;
&lt;br /&gt;
 r14012: Adds command &amp;quot;poolskill&amp;quot; which shows your current estimated pool skill, based on current spading on the mechanics.&lt;br /&gt;
 ie. Pool Skill = drunkenness up to 10, -2 for each drunkenness over 10, +1 for each time you&#039;ve met the pool shark semi-rare up to 10 times,&lt;br /&gt;
 plus bonuses from equipment/effects, plus training in current ascension.&lt;br /&gt;
&lt;br /&gt;
 r14017: Add &amp;quot;spookyraven&amp;quot; command. Use &amp;quot;spookyraven on&amp;quot; to track Lights Out all the time.&lt;br /&gt;
&lt;br /&gt;
 r14389 adds:&lt;br /&gt;
 boolean buy_using_storage( count, item )&lt;br /&gt;
 int buy_using_storage( count, item, max_price )&lt;br /&gt;
 which are like the equivalent buy() functions, but use Meat from storage to get items into storage if you are in Ronin or Hardcore.&lt;br /&gt;
&lt;br /&gt;
 r14408-14409: my_thunder(), my_rain(), my_lightning(), thunder_cost( skill ), rain_cost( skill ), lightning_cost( skill )&lt;br /&gt;
&lt;br /&gt;
 r14605: Add can_faxbot( monster ) ash command.&lt;br /&gt;
&lt;br /&gt;
 r14729: add fixedThreadPoolSize pref - diagnostic/fine tuning for limiting the threadpool size.&lt;br /&gt;
&lt;br /&gt;
== Needs Major Work ==&lt;br /&gt;
&lt;br /&gt;
[[Proxy Records]] is only slightly better than a placeholder.&lt;br /&gt;
&lt;br /&gt;
 In r10047, the adventure tab interface was altered. Fix SinginSally&#039;s guide on pages...&lt;br /&gt;
 &lt;br /&gt;
 http://wiki.kolmafia.us/index.php?title=KoLmafia_Guide:_Attack_Script&lt;br /&gt;
 http://wiki.kolmafia.us/index.php?title=KoLmafia_Guide:_Custom_Combat_Script&lt;br /&gt;
 http://wiki.kolmafia.us/index.php?title=KoLmafia_Guide:_Goal-Oriented_Adventuring&lt;br /&gt;
&lt;br /&gt;
 Information on moods calling other moods: http://kolmafia.us/showthread.php?8852-Composable-Moods&amp;amp;p=66468&amp;amp;viewfull=1#post66468&lt;br /&gt;
&lt;br /&gt;
 r10025: Added &#039;&#039;&#039;choice&#039;&#039;&#039; CLI command, to resolve manual or unsupported choiceadventures &lt;br /&gt;
 Added &amp;quot;choice&amp;quot; CLI command, to resolve manual or unsupported choice&lt;br /&gt;
 adventures without having to visit the relay browser - which might be&lt;br /&gt;
 inconvenient if you&#039;re already in the CLI, and don&#039;t need to see the full&lt;br /&gt;
 adventure text to decide which option you want. With no parameter, &amp;quot;choice&amp;quot;&lt;br /&gt;
 just lists the options. With a numeric parameter, it picks that option. &lt;br /&gt;
 With any other parameter, it picks the first option containing that text (in&lt;br /&gt;
 either the actual button text, or mafia&#039;s spoiler text).&lt;br /&gt;
&lt;br /&gt;
 r14389 adds:&lt;br /&gt;
 boolean buy_using_storage( count, item )&lt;br /&gt;
 int buy_using_storage( count, item, max_price )&lt;br /&gt;
 which are like the equivalent buy() functions, but use Meat from storage to get items into storage if you are in Ronin or Hardcore.&lt;br /&gt;
&lt;br /&gt;
== Needs Code Samples ==&lt;br /&gt;
&lt;br /&gt;
There is a list of all pages that require code samples: [[:Category:Needs_Code_Sample|Category:Needs Code Sample]]&lt;br /&gt;
&lt;br /&gt;
Information on how to create a code sample: [[Template:CodeSample]]&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Ash_Functions&amp;diff=2602</id>
		<title>Ash Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Ash_Functions&amp;diff=2602"/>
		<updated>2014-10-23T14:00:08Z</updated>

		<summary type="html">&lt;p&gt;Ulti: my_soulsauce&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
Master list of all ASH functions. All functions as of r8144 are listed; this list is intended to be kept current, but it is possible that some functions added since the above revision may be missing. (Please feel free to add in any you notice.)&lt;br /&gt;
===a===&lt;br /&gt;
{{Flink|void|abort|{{opt|string}}}}&lt;br /&gt;
{{Flink|void|add_item_condition|int|item}}&lt;br /&gt;
{{Flink|int|adv_cost|skill}}&lt;br /&gt;
{{Flink|boolean|adv1|location|int|string}}&lt;br /&gt;
{{Flink|boolean|adventure|int|location|{{opt|string}}}}&lt;br /&gt;
{{Flink|float [monster]|appearance_rates|location|{{opt|boolean}}}}&lt;br /&gt;
{{Flink|buffer|append|buffer|string}}&lt;br /&gt;
{{Flink|buffer|append_replacement|matcher|buffer|string}}&lt;br /&gt;
{{Flink|buffer|append_tail|matcher|buffer}}&lt;br /&gt;
{{Flink|buffer|attack}}&lt;br /&gt;
{{Flink|boolean|autosell|int|item}}&lt;br /&gt;
{{Flink|int|autosell_price|item}}&lt;br /&gt;
{{Flink|int|available_amount|item}}&lt;br /&gt;
&lt;br /&gt;
===b===&lt;br /&gt;
{{Flink|boolean|batch_close}}&lt;br /&gt;
{{Flink|void|batch_open}}&lt;br /&gt;
{{Flink|boolean|black_market_available}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|string|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|item|string}}&lt;br /&gt;
{{Flink|int|buffed_hit_stat}}&lt;br /&gt;
{{Flink|boolean|buy|int|item}}&lt;br /&gt;
{{Flink|int|buy|int|item|int}}&lt;br /&gt;
{{Flink|boolean|buy|coinmaster|int|item}}&lt;br /&gt;
{{Flink|int|buy_price|coinmaster|item}}&lt;br /&gt;
{{Flink|boolean|buys_item|coinmaster|item}}&lt;br /&gt;
===c===&lt;br /&gt;
{{Flink|boolean|can_drink}}&lt;br /&gt;
{{Flink|boolean|can_eat}}&lt;br /&gt;
{{Flink|boolean|can_equip|item}}&lt;br /&gt;
{{Flink|boolean|can_interact}}&lt;br /&gt;
{{flink|boolean|canadia_available}}&lt;br /&gt;
{{Flink|int|ceil|float}}&lt;br /&gt;
{{Flink|boolean|chamber}}&lt;br /&gt;
{{Flink|boolean|change_mcd|int}}&lt;br /&gt;
{{Flink|string|char_at|string|int}}&lt;br /&gt;
{{Flink|void|chat_clan|string|{{opt|string}}}}&lt;br /&gt;
{{Flink|void|chat_macro|string}}&lt;br /&gt;
{{Flink|void|chat_notify|string|string}}&lt;br /&gt;
{{Flink|void|chat_private|string|string}}&lt;br /&gt;
{{Flink|class|class_modifier|string|string}}&lt;br /&gt;
{{Flink|class|class_modifier|item|string}}&lt;br /&gt;
{{Flink|void|clear|aggregate}}&lt;br /&gt;
{{Flink|boolean|cli_execute|string}}&lt;br /&gt;
{{Flink|int|closet_amount|item}}&lt;br /&gt;
{{Flink|int|combat_mana_cost_modifier}}&lt;br /&gt;
{{Flink|float|combat_rate_modifier}}&lt;br /&gt;
{{Flink|boolean|contains_text|string|string}}&lt;br /&gt;
{{Flink|void|council}}&lt;br /&gt;
{{Flink|int|count|aggregate}}&lt;br /&gt;
{{Flink|boolean|craft|string|int|item|item}}&lt;br /&gt;
{{Flink|int|creatable_amount|item}}&lt;br /&gt;
{{Flink|boolean|create|int|item}}&lt;br /&gt;
{{Flink|matcher|create_matcher|string|string}}&lt;br /&gt;
{{Flink|stat|current_hit_stat}}&lt;br /&gt;
{{Flink|int|current_mcd}}&lt;br /&gt;
&lt;br /&gt;
===d===&lt;br /&gt;
{{Flink|element|dad_sea_monkee_weakness|int}}&lt;br /&gt;
{{Flink|item|daily_special}}&lt;br /&gt;
{{Flink|float|damage_absorption_percent}}&lt;br /&gt;
{{Flink|int|damage_reduction}}&lt;br /&gt;
{{Flink|buffer|delete|buffer|int|int}}&lt;br /&gt;
{{Flink|void|disable|string}}&lt;br /&gt;
{{flink|boolean|dispensary_available}}&lt;br /&gt;
{{Flink|int|display_amount|item}}&lt;br /&gt;
{{Flink|boolean|drink|int|item}}&lt;br /&gt;
&lt;br /&gt;
===e===&lt;br /&gt;
{{Flink|boolean|eat|int|item}}&lt;br /&gt;
{{Flink|boolean|eatsilent|int|item}}&lt;br /&gt;
{{Flink|effect|effect_modifier|string|string}}&lt;br /&gt;
{{Flink|effect|effect_modifier|item|string}}&lt;br /&gt;
{{Flink|float|elemental_resistance|element}}&lt;br /&gt;
{{Flink|float|elemental_resistance|{{opt|monster}}}}&lt;br /&gt;
{{Flink|boolean|empty_closet}}&lt;br /&gt;
{{Flink|void|enable|string}}&lt;br /&gt;
{{Flink|int|end|matcher|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|enthrone_familiar|familiar}}&lt;br /&gt;
{{Flink|string|entity_decode|string}}&lt;br /&gt;
{{Flink|string|entity_encode|string}}&lt;br /&gt;
{{Flink|boolean|entryway}}&lt;br /&gt;
{{Flink|boolean|equip|{{opt|slot}}|item}}&lt;br /&gt;
{{Flink|int|equipped_amount|item}}&lt;br /&gt;
{{Flink|item|equipped_item|slot}}&lt;br /&gt;
{{Flink|int|expected_damage|{{opt|monster}}}}&lt;br /&gt;
{{Flink|float|experience_bonus}}&lt;br /&gt;
{{Flink|float|expression_eval}}&lt;br /&gt;
{{Flink|int [item]|extract_items|string}}&lt;br /&gt;
{{Flink|int|extract_meat|string}}&lt;br /&gt;
&lt;br /&gt;
===f===&lt;br /&gt;
{{Flink|item|familiar_equipment|familiar}}&lt;br /&gt;
{{Flink|item|familiar_equipped_equipment|familiar}}&lt;br /&gt;
{{Flink|int|familiar_weight|familiar}}&lt;br /&gt;
{{Flink|boolean|faxbot|monster}}&lt;br /&gt;
{{Flink|boolean|file_to_map|string|aggregate|{{opt|boolean}}}}&lt;br /&gt;
{{Flink|boolean|find|matcher}}&lt;br /&gt;
{{Flink|int|floor|float}}&lt;br /&gt;
{{Flink|string|form_field|string}}&lt;br /&gt;
{{Flink|string [string]|form_fields}}&lt;br /&gt;
{{Flink|string|format_date_time|string|string|string}}&lt;br /&gt;
{{Flink|boolean|friars_available}}&lt;br /&gt;
{{Flink|int|fullness_limit}}&lt;br /&gt;
&lt;br /&gt;
===g===&lt;br /&gt;
{{Flink|boolean|galaktik_cures_discounted}}&lt;br /&gt;
{{Flink|int|gameday_to_int}}&lt;br /&gt;
{{Flink|string|gameday_to_string}}&lt;br /&gt;
{{Flink|int|gametime_to_int}}&lt;br /&gt;
{{Flink|int|get_auto_attack}}&lt;br /&gt;
{{Flink|int [item]|get_campground}}&lt;br /&gt;
{{Flink|string|get_ccs_action|int}}&lt;br /&gt;
{{Flink|int|get_clan_id}}&lt;br /&gt;
{{Flink|string|get_clan_name}}&lt;br /&gt;
{{Flink|string|get_counters|string|int|int}}&lt;br /&gt;
{{Flink|string [int]|get_custom_outfits}}&lt;br /&gt;
{{Flink|item|get_dwelling|}}&lt;br /&gt;
{{Flink|string [int]|get_goals}}&lt;br /&gt;
{{Flink|int [item]|get_ingredients|item}}&lt;br /&gt;
{{Flink|int [item]|get_inventory}}&lt;br /&gt;
{{Flink|monster [int]|get_monsters|location}}&lt;br /&gt;
{{Flink|string [int]|get_moods}}&lt;br /&gt;
{{Flink|string [int]|get_outfits}}&lt;br /&gt;
{{Flink|string|get_path}}&lt;br /&gt;
{{Flink|string|get_path_full}}&lt;br /&gt;
{{Flink|string|get_path_variables}}&lt;br /&gt;
{{Flink|string|get_player_id|string}}&lt;br /&gt;
{{Flink|int|get_power|item}}&lt;br /&gt;
{{Flink|string|get_property|string}}&lt;br /&gt;
{{Flink|int [item]|get_related|item|string}}&lt;br /&gt;
{{Flink|int|get_revision}}&lt;br /&gt;
{{Flink|int [item]|get_shop}}&lt;br /&gt;
{{Flink|string|get_version}}&lt;br /&gt;
{{flink|boolean|gnomads_available}}&lt;br /&gt;
{{flink|boolean|goal_exists|string}}&lt;br /&gt;
{{Flink|string|group|matcher|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|group_count|matcher}}&lt;br /&gt;
{{Flink|string [int, int]|group_string|string|string}}&lt;br /&gt;
{{Flink|item|guardians}}&lt;br /&gt;
{{Flink|boolean|guild_store_available}}&lt;br /&gt;
&lt;br /&gt;
===h===&lt;br /&gt;
{{Flink|boolean|have_bartender}}&lt;br /&gt;
{{Flink|boolean|have_chef}}&lt;br /&gt;
{{Flink|boolean|have_display}}&lt;br /&gt;
{{Flink|int|have_effect|effect}}&lt;br /&gt;
{{Flink|boolean|have_equipped|item}}&lt;br /&gt;
{{Flink|boolean|have_familiar|familiar}}&lt;br /&gt;
{{Flink|boolean|have_mushroom_plot}}&lt;br /&gt;
{{Flink|boolean|have_outfit|string}}&lt;br /&gt;
{{Flink|boolean|have_shop}}&lt;br /&gt;
{{Flink|boolean|have_skill|skill}}&lt;br /&gt;
{{Flink|boolean|hedgemaze}}&lt;br /&gt;
{{Flink|boolean|hermit|int|item}}&lt;br /&gt;
{{flink|boolean|hidden_temple_unlocked}}&lt;br /&gt;
{{Flink|boolean|hippy_stone_broken}}&lt;br /&gt;
{{Flink|boolean|hippy_store_available}}&lt;br /&gt;
{{Flink|float|historical_age|item}}&lt;br /&gt;
{{Flink|int|historical_price|item}}&lt;br /&gt;
&lt;br /&gt;
===i===&lt;br /&gt;
{{Flink|monster|image_to_monster|strict_string}}&lt;br /&gt;
{{Flink|boolean|in_bad_moon}}&lt;br /&gt;
{{Flink|boolean|in_hardcore}}&lt;br /&gt;
{{Flink|boolean|in_moxie_sign}}&lt;br /&gt;
{{Flink|boolean|in_muscle_sign}}&lt;br /&gt;
{{Flink|boolean|in_mysticality_sign}}&lt;br /&gt;
{{Flink|string|inaccessible_reason|coinmaster|}}&lt;br /&gt;
{{Flink|int|index_of|string|string|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|inebriety_limit}}&lt;br /&gt;
{{Flink|float|initiative_modifier}}&lt;br /&gt;
{{Flink|buffer|insert|buffer|int|string}}&lt;br /&gt;
{{Flink|boolean|is_accessible|coinmaster}}&lt;br /&gt;
{{Flink|boolean|is_coinmaster_item|item}}&lt;br /&gt;
{{Flink|boolean|is_discardable|item}}&lt;br /&gt;
{{Flink|boolean|is_displayable|item}}&lt;br /&gt;
{{Flink|boolean|is_giftable|item}}&lt;br /&gt;
{{Flink|boolean|is_goal|item}}&lt;br /&gt;
{{Flink|boolean|is_integer|string}}&lt;br /&gt;
{{Flink|boolean|is_npc_item|item}}&lt;br /&gt;
{{Flink|boolean|is_online|string}}&lt;br /&gt;
{{Flink|boolean|is_tradeable|item}}&lt;br /&gt;
{{Flink|boolean|is_trendy|any}}&lt;br /&gt;
{{Flink|boolean|is_wearing_outfit|string}}&lt;br /&gt;
{{Flink|int|item_amount|item}}&lt;br /&gt;
{{Flink|float|item_drop_modifier}}&lt;br /&gt;
{{Flink|int [item]|item_drops|{{opt|monster}}}}&lt;br /&gt;
{{Flink|record [int]|item_drops_array|{{opt|monster}}}}&lt;br /&gt;
{{Flink|string|item_type|item}}&lt;br /&gt;
===j===&lt;br /&gt;
{{flink|int|jump_chance|{{opt|monster}}|{{opt|int}}|{{opt|int}}}}&lt;br /&gt;
{{flink|int|jump_chance|location|{{opt|int}}|{{opt|int}}}}&lt;br /&gt;
&lt;br /&gt;
===k===&lt;br /&gt;
{{flink|boolean|knoll_available}}&lt;br /&gt;
===l===&lt;br /&gt;
{{Flink|int|last_index_of|string|string|{{opt|int}}}}&lt;br /&gt;
{{Flink|string|last_item_message}}&lt;br /&gt;
{{Flink|monster|last_monster}}&lt;br /&gt;
{{Flink|string|last_skill_message}}&lt;br /&gt;
{{Flink|int|length|string}}&lt;br /&gt;
{{Flink|buffer|load_html|string}}&lt;br /&gt;
{{Flink|void|lock_familiar_equipment|boolean}}&lt;br /&gt;
{{Flink|void|logprint|string}}&lt;br /&gt;
===m===&lt;br /&gt;
{{Flink|string|make_url|string|boolean|boolean}}&lt;br /&gt;
{{Flink|int|mall_price|item}}&lt;br /&gt;
{{Flink|int|mana_cost_modifier}}&lt;br /&gt;
{{Flink|boolean|map_to_file|aggregate|string|{{opt|boolean}}}}&lt;br /&gt;
{{Flink|float|max|float|float}}&lt;br /&gt;
{{Flink|int|max|int|int}}&lt;br /&gt;
{{Flink|boolean|maximize|string|boolean}}&lt;br /&gt;
{{Flink|boolean|maximize|string|int|int|boolean}}&lt;br /&gt;
{{Flink|record [int]|maximize|string|int|int|boolean|boolean}}&lt;br /&gt;
{{Flink|int|meat_drop|{{opt|monster}}}}&lt;br /&gt;
{{Flink|float|meat_drop_modifier}}&lt;br /&gt;
{{Flink|float|min|float|float}}&lt;br /&gt;
{{Flink|int|min|int|int}}&lt;br /&gt;
{{Flink|item|minstrel_instrument}}&lt;br /&gt;
{{Flink|int|minstrel_level}}&lt;br /&gt;
{{Flink|boolean|minstrel_quest}}&lt;br /&gt;
{{Flink|int|mmg_bet_amount|int}}&lt;br /&gt;
{{Flink|string|mmg_bet_owner|int}}&lt;br /&gt;
{{Flink|int|mmg_bet_owner_id|int}}&lt;br /&gt;
{{Flink|string|mmg_bet_taker}}&lt;br /&gt;
{{Flink|string|mmg_bet_taker_id}}&lt;br /&gt;
{{Flink|int|mmg_bet_winnings}}&lt;br /&gt;
{{Flink|int|mmg_make_bet|int|boolean}}&lt;br /&gt;
{{Flink|int [int]|mmg_my_bets}}&lt;br /&gt;
{{Flink|int [int]|mmg_offered_bets}}&lt;br /&gt;
{{Flink|boolean|mmg_retract_bet|int}}&lt;br /&gt;
{{Flink|void|mmg_search|int|int}}&lt;br /&gt;
{{Flink|int|mmg_take_bet|int|boolean}}&lt;br /&gt;
{{Flink|void|mmg_visit}}&lt;br /&gt;
{{Flink|int|mmg_wait_event|int}}&lt;br /&gt;
{{Flink|float|modifier_eval|string}}&lt;br /&gt;
{{Flink|int|monster_attack|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_defense|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_initiative|{{opt|monster}}}}&lt;br /&gt;
{{Flink|element|monster_element|{{opt|monster}}}}&lt;br /&gt;
{{Flink|float|monster_eval|string}}&lt;br /&gt;
{{Flink|int|monster_hp|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_level_adjustment}}&lt;br /&gt;
{{Flink|phylum|monster_phylum|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|moon_light}}&lt;br /&gt;
{{Flink|int|moon_phase}}&lt;br /&gt;
{{Flink|int|mp_cost|skill}}&lt;br /&gt;
{{Flink|int|my_adventures}}&lt;br /&gt;
{{Flink|int|my_ascensions}}&lt;br /&gt;
{{Flink|int|my_basestat|stat}}&lt;br /&gt;
{{Flink|int|my_buffedstat|stat}}&lt;br /&gt;
{{Flink|class|my_class}}&lt;br /&gt;
{{Flink|int|my_closet_meat}}&lt;br /&gt;
{{Flink|string|my_companion}}&lt;br /&gt;
{{Flink|int|my_daycount|}}&lt;br /&gt;
{{Flink|int|my_discomomentum}}&lt;br /&gt;
{{Flink|familiar|my_effective_familiar}}&lt;br /&gt;
{{Flink|int [effect]|my_effects}}&lt;br /&gt;
{{Flink|familiar|my_enthroned_familiar}}&lt;br /&gt;
{{Flink|familiar|my_familiar}}&lt;br /&gt;
{{Flink|int|my_fullness}}&lt;br /&gt;
{{Flink|int|my_fury}}&lt;br /&gt;
{{Flink|string|my_hash}}&lt;br /&gt;
{{Flink|int|my_hp}}&lt;br /&gt;
{{Flink|string|my_id}}&lt;br /&gt;
{{Flink|int|my_inebriety}}&lt;br /&gt;
{{Flink|int|my_level}}&lt;br /&gt;
{{Flink|location|my_location}}&lt;br /&gt;
{{Flink|int|my_maxhp}}&lt;br /&gt;
{{Flink|int|my_maxfury}}&lt;br /&gt;
{{Flink|int|my_maxmp}}&lt;br /&gt;
{{Flink|int|my_meat}}&lt;br /&gt;
{{Flink|int|my_mp}}&lt;br /&gt;
{{Flink|string|my_name}}&lt;br /&gt;
{{flink|string|my_path}}&lt;br /&gt;
{{Flink|stat|my_primestat}}&lt;br /&gt;
{{flink|string|my_sign}}&lt;br /&gt;
{{flink|int|my_soulsauce}}&lt;br /&gt;
{{Flink|int|my_spleen_use}}&lt;br /&gt;
{{Flink|int|my_storage_meat}}&lt;br /&gt;
{{Flink|int|my_turncount}}&lt;br /&gt;
&lt;br /&gt;
===n===&lt;br /&gt;
{{Flink|float|now_to_string|string}}&lt;br /&gt;
{{Flink|int|npc_price|item}}&lt;br /&gt;
{{Flink|float|numeric_modifier|string|{{opt|string}}}}&lt;br /&gt;
{{Flink|float|numeric_modifier|item|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|effect|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|skill|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|familiar|string|int|item}}&lt;br /&gt;
&lt;br /&gt;
===o===&lt;br /&gt;
{{Flink|boolean|outfit|string}}&lt;br /&gt;
{{Flink|item [int]|outfit_pieces|string}}&lt;br /&gt;
{{Flink|boolean|overdrink|int|item}}&lt;br /&gt;
&lt;br /&gt;
===p===&lt;br /&gt;
{{Flink|void|print|string|{{opt|string}}}}&lt;br /&gt;
{{Flink|void|print_html|string}}&lt;br /&gt;
{{Flink|int|pulls_remaining}}&lt;br /&gt;
{{Flink|boolean|put_closet|int|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|put_display|int|item}}&lt;br /&gt;
{{Flink|boolean|put_shop|int|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|boolean|put_stash|int|item}}&lt;br /&gt;
{{Flink|int|pvp_attacks_left}}&lt;br /&gt;
===r===&lt;br /&gt;
{{Flink|int|random|int}}&lt;br /&gt;
{{Flink|int|raw_damage_absorption}}&lt;br /&gt;
{{Flink|void|refresh_shop}}&lt;br /&gt;
{{Flink|void|refresh_stash}}&lt;br /&gt;
{{Flink|void|refresh_status}}&lt;br /&gt;
{{Flink|void|remove_item_condition|int|item}}&lt;br /&gt;
{{Flink|boolean|replace|buffer|int|int|string}}&lt;br /&gt;
{{Flink|string|replace_all|matcher|string}}&lt;br /&gt;
{{Flink|string|replace_first|matcher|string}}&lt;br /&gt;
{{Flink|buffer|replace_string|buffer|string|string}}&lt;br /&gt;
{{Flink|buffer|replace_string|string|string|string}}&lt;br /&gt;
{{Flink|matcher|reset|matcher|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|restore_hp|int}}&lt;br /&gt;
{{Flink|boolean|restore_mp|int}}&lt;br /&gt;
{{Flink|boolean|retrieve_item|int|item}}&lt;br /&gt;
{{Flink|int|round|float}}&lt;br /&gt;
{{Flink|buffer|run_combat}}&lt;br /&gt;
{{Flink|buffer|runaway}}&lt;br /&gt;
&lt;br /&gt;
===s===&lt;br /&gt;
{{Flink|boolean|sell|coinmaster|int|item}}&lt;br /&gt;
{{Flink|int|sell_price|coinmaster|item}}&lt;br /&gt;
{{Flink|boolean|sells_item|coinmaster|item}}&lt;br /&gt;
{{Flink|string [int]|session_logs|{{opt|string}}|int}}&lt;br /&gt;
{{Flink|void|set_auto_attack|int}}&lt;br /&gt;
{{Flink|void|set_length|buffer|int}}&lt;br /&gt;
{{Flink|void|set_location|location}}&lt;br /&gt;
{{Flink|void|set_property|string|string}}&lt;br /&gt;
{{Flink|int|shop_amount|item}}&lt;br /&gt;
{{Flink|int|shop_price|item}}&lt;br /&gt;
{{Flink|int|soulsauce_cost|skill}}&lt;br /&gt;
{{Flink|int|spleen_limit}}&lt;br /&gt;
{{Flink|string [int]|split_string|string|{{opt|string}}}}&lt;br /&gt;
{{Flink|float|square_root|float}}&lt;br /&gt;
{{Flink|int|start|matcher|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|stash_amount|item}}&lt;br /&gt;
{{Flink|stat|stat_bonus_today}}&lt;br /&gt;
{{Flink|stat|stat_bonus_tomorrow}}&lt;br /&gt;
{{Flink|stat|stat_modifier|effect|string}}&lt;br /&gt;
{{Flink|buffer|steal}}&lt;br /&gt;
{{Flink|int|stills_available}}&lt;br /&gt;
{{Flink|int|storage_amount|item}}&lt;br /&gt;
{{Flink|string|string_modifier|string}}&lt;br /&gt;
{{Flink|string|string_modifier|string|string}}&lt;br /&gt;
{{Flink|skill|stun_skill}}&lt;br /&gt;
{{Flink|string|substring|string|int|{{opt|int}}}}&lt;br /&gt;
&lt;br /&gt;
===t===&lt;br /&gt;
{{Flink|boolean|take_closet|int|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|take_display|int|item}}&lt;br /&gt;
{{Flink|boolean|take_shop|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|boolean|take_stash|int|item}}&lt;br /&gt;
{{Flink|boolean|take_storage|int|item}}&lt;br /&gt;
{{Flink|int|tavern|{{opt|string}}}}&lt;br /&gt;
{{Flink|buffer|throw_item|item}}&lt;br /&gt;
{{Flink|buffer|throw_items|item|item}}&lt;br /&gt;
{{Flink|buffer|time_to_string}}&lt;br /&gt;
{{Flink|boolean|to_boolean|any}}&lt;br /&gt;
{{Flink|class|to_class|string}}&lt;br /&gt;
{{Flink|coinmaster|to_coinmaster|string}}&lt;br /&gt;
{{Flink|effect|to_effect|int}}&lt;br /&gt;
{{Flink|effect|to_effect|string}}&lt;br /&gt;
{{Flink|effect|to_effect|skill}}&lt;br /&gt;
{{Flink|element|to_element|string}}&lt;br /&gt;
{{Flink|familiar|to_familiar|int}}&lt;br /&gt;
{{Flink|familiar|to_familiar|string}}&lt;br /&gt;
{{Flink|float|to_float|any}}&lt;br /&gt;
{{Flink|int|to_int|any}}&lt;br /&gt;
{{Flink|item|to_item|string}}&lt;br /&gt;
{{Flink|item|to_item|int}}&lt;br /&gt;
{{Flink|item|to_item|string|int}}&lt;br /&gt;
{{Flink|string|to_json|null}}&lt;br /&gt;
{{Flink|location|to_location|string}}&lt;br /&gt;
{{Flink|location|to_location|int}}&lt;br /&gt;
{{Flink|string|to_lower_case|string}}&lt;br /&gt;
{{Flink|monster|to_monster|string}}&lt;br /&gt;
{{Flink|phylum|to_phylum|string}}&lt;br /&gt;
{{Flink|string|to_plural|item}}&lt;br /&gt;
{{Flink|skill|to_skill|int}}&lt;br /&gt;
{{Flink|skill|to_skill|string}}&lt;br /&gt;
{{Flink|skill|to_skill|effect}}&lt;br /&gt;
{{Flink|slot|to_slot|item}}&lt;br /&gt;
{{Flink|stat|to_stat|string}}&lt;br /&gt;
{{Flink|string|to_string|any}}&lt;br /&gt;
{{Flink|string|to_upper_case|string}}&lt;br /&gt;
{{Flink|string|to_url|location}}&lt;br /&gt;
{{Flink|string|today_to_string}}&lt;br /&gt;
{{Flink|int|truncate|float}}&lt;br /&gt;
{{Flink|int|turns_per_cast|skill}}&lt;br /&gt;
{{Flink|int|turns_played}}&lt;br /&gt;
&lt;br /&gt;
===u===&lt;br /&gt;
{{Flink|string|url_decode|string}}&lt;br /&gt;
{{Flink|string|url_encode|string}}&lt;br /&gt;
{{Flink|boolean|use|int|item}}&lt;br /&gt;
{{Flink|boolean|use_familiar|familiar}}&lt;br /&gt;
{{Flink|boolean|use_skill|int|skill|{{opt|string}}}}&lt;br /&gt;
{{Flink|buffer|use_skill|skill}}&lt;br /&gt;
{{Flink|boolean|user_confirm|string}}&lt;br /&gt;
{{Flink|boolean|user_confirm|string|int|boolean}}&lt;br /&gt;
&lt;br /&gt;
===v===&lt;br /&gt;
{{Flink|boolean|visit|coinmaster}}&lt;br /&gt;
{{Flink|buffer|visit_url|string}}&lt;br /&gt;
{{Flink|buffer|visit_url|string|boolean}}&lt;br /&gt;
{{Flink|buffer|visit_url|string|boolean|boolean}}&lt;br /&gt;
===w===&lt;br /&gt;
{{Flink|void|wait|int}}&lt;br /&gt;
{{Flink|void|waitq|int}}&lt;br /&gt;
{{Flink|int|weapon_hands|item}}&lt;br /&gt;
{{Flink|stat|weapon_type|item}}&lt;br /&gt;
{{Flink|int|weight_adjustment}}&lt;br /&gt;
{{Flink|boolean|white_citadel_available}}&lt;br /&gt;
{{Flink|boolean [string]|who_clan}}&lt;br /&gt;
{{Flink|boolean|will_usually_dodge}}&lt;br /&gt;
{{Flink|boolean|will_usually_miss}}&lt;br /&gt;
{{Flink|void|write|string}}&lt;br /&gt;
{{Flink|void|writeln|string}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=My_soulsauce&amp;diff=8337</id>
		<title>My soulsauce</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=My_soulsauce&amp;diff=8337"/>
		<updated>2014-10-23T13:57:53Z</updated>

		<summary type="html">&lt;p&gt;Ulti: Created page with &amp;quot;{{ #vardefine:name|my_soulsauce}}{{ #vardefine:return_type|int}}{{  FunctionPage|  name={{#var:name}}|  function1={{Function| name={{#var:name}}| aggregate={{#var:aggregate}}|...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|my_soulsauce}}{{&lt;br /&gt;
#vardefine:return_type|int}}{{&lt;br /&gt;
&lt;br /&gt;
FunctionPage|&lt;br /&gt;
&lt;br /&gt;
name={{#var:name}}|&lt;br /&gt;
&lt;br /&gt;
function1={{Function|&lt;br /&gt;
name={{#var:name}}|&lt;br /&gt;
aggregate={{#var:aggregate}}|&lt;br /&gt;
return_type={{#var:return_type}}|&lt;br /&gt;
return_also={{#var:return_also}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=Returns your current Soulsauce as an int.|&lt;br /&gt;
see_also={{SeeAlso|Soulsauce_cost}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Ash_Functions]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:Categories&amp;diff=8333</id>
		<title>Category:Categories</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:Categories&amp;diff=8333"/>
		<updated>2014-10-19T17:17:55Z</updated>

		<summary type="html">&lt;p&gt;Ulti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A category containing all other categories to make navigation easier.&amp;lt;br&amp;gt;&lt;br /&gt;
For a full list of categories used on this wiki, refer to &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:Special:AllPages|namespace=14}} Special:AllPages&amp;amp;namespace=14]&amp;lt;/span&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:Templates&amp;diff=8336</id>
		<title>Category:Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:Templates&amp;diff=8336"/>
		<updated>2014-10-19T17:15:59Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added a link to the Special:AllPages page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A category containing all other template categories to make navigation easier.&amp;lt;br&amp;gt;&lt;br /&gt;
For a full list of templates used on this wiki, refer to &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:Special:AllPages|namespace=10}} Special:AllPages&amp;amp;namespace=10]&amp;lt;/span&amp;gt;.&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:Categories&amp;diff=8332</id>
		<title>Category:Categories</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:Categories&amp;diff=8332"/>
		<updated>2014-10-19T17:14:08Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added a link to the Special:AllPages page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A category containing all other categories to make navigation easier.&amp;lt;br&amp;gt;&lt;br /&gt;
For a full list of categories used on this wiki, refer to &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:Special:AllPages|namespace=14}} Special:AllPages&amp;amp;namespace=14]&amp;lt;/span&amp;gt;.&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:CLI_Commands&amp;diff=6581</id>
		<title>Category:CLI Commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:CLI_Commands&amp;diff=6581"/>
		<updated>2014-10-19T16:54:38Z</updated>

		<summary type="html">&lt;p&gt;Ulti: Undo revision 11319 by Ulti (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of CLI Commands&lt;br /&gt;
[[Category:Categories]]&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:CLI_Commands&amp;diff=6580</id>
		<title>Category:CLI Commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:CLI_Commands&amp;diff=6580"/>
		<updated>2014-10-19T16:49:55Z</updated>

		<summary type="html">&lt;p&gt;Ulti: Undo revision 11318 by Ulti (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of CLI Commands&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:CLI_Commands&amp;diff=6579</id>
		<title>Category:CLI Commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:CLI_Commands&amp;diff=6579"/>
		<updated>2014-10-19T16:48:50Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added scripting category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of CLI Commands&lt;br /&gt;
[[Category:Categories]]&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:Scripting&amp;diff=6960</id>
		<title>Category:Scripting</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:Scripting&amp;diff=6960"/>
		<updated>2014-10-19T16:46:43Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Helpful pages for scripting in ASH or CLI.&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:Templates&amp;diff=8335</id>
		<title>Category:Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:Templates&amp;diff=8335"/>
		<updated>2014-10-19T16:45:07Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A category containing all other template categories to make navigation easier.&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:HTMLform_Templates&amp;diff=7364</id>
		<title>Category:HTMLform Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:HTMLform_Templates&amp;diff=7364"/>
		<updated>2014-10-19T16:43:44Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These templates are for the [[htmlform]] page.&lt;br /&gt;
[[Category:Templates]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:Formatting_Templates&amp;diff=5845</id>
		<title>Category:Formatting Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:Formatting_Templates&amp;diff=5845"/>
		<updated>2014-10-19T16:42:21Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Simple templates to format the wiki without needing to call long style definitions.&lt;br /&gt;
[[Category:Templates]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:Notification_Templates&amp;diff=4902</id>
		<title>Category:Notification Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:Notification_Templates&amp;diff=4902"/>
		<updated>2014-10-19T16:41:41Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These templates are used on a page to help organize and track what information is needed to complete a page.&lt;br /&gt;
[[Category:Templates]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:Basic_Templates&amp;diff=3847</id>
		<title>Category:Basic Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:Basic_Templates&amp;diff=3847"/>
		<updated>2014-10-19T16:40:54Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Basic Templates used on KoLmafia&#039;s wiki.&lt;br /&gt;
[[Category:Templates]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:Templates&amp;diff=8334</id>
		<title>Category:Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:Templates&amp;diff=8334"/>
		<updated>2014-10-19T16:40:00Z</updated>

		<summary type="html">&lt;p&gt;Ulti: Created page with &amp;quot;A category containing all other template categories to make navigation easier.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A category containing all other template categories to make navigation easier.&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:CLI_Commands&amp;diff=6578</id>
		<title>Category:CLI Commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:CLI_Commands&amp;diff=6578"/>
		<updated>2014-10-19T16:38:00Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of CLI Commands&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:Automation&amp;diff=6609</id>
		<title>Category:Automation</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:Automation&amp;diff=6609"/>
		<updated>2014-10-19T16:34:44Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These pages give information about automating turns with mafia.&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:ASH_Function_Libraries&amp;diff=7337</id>
		<title>Category:ASH Function Libraries</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:ASH_Function_Libraries&amp;diff=7337"/>
		<updated>2014-10-19T16:33:55Z</updated>

		<summary type="html">&lt;p&gt;Ulti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sometimes, it isn&#039;t worth doing absolutely everything from scratch, and that&#039;s what libraries are for. Here are a few of the more popular scripting libraries for KoLmafia.&lt;br /&gt;
&lt;br /&gt;
[[Category:Categories]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:ASH_Function_Libraries&amp;diff=7336</id>
		<title>Category:ASH Function Libraries</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:ASH_Function_Libraries&amp;diff=7336"/>
		<updated>2014-10-19T16:33:27Z</updated>

		<summary type="html">&lt;p&gt;Ulti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sometimes, it isn&#039;t worth doing absolutely everything from scratch, and that&#039;s what libraries are for. Here are a few of the more popular scripting libraries for KoLmafia.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Category:Categories&amp;diff=8331</id>
		<title>Category:Categories</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Category:Categories&amp;diff=8331"/>
		<updated>2014-10-19T16:32:03Z</updated>

		<summary type="html">&lt;p&gt;Ulti: Created page with &amp;quot;A category containing all other categories to make navigation easier.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A category containing all other categories to make navigation easier.&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Template:Documentation&amp;diff=8318</id>
		<title>Template:Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Template:Documentation&amp;diff=8318"/>
		<updated>2014-10-19T15:30:30Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{{{SUBJECTPAGENAME}}/doc}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{{{SUBJECTPAGENAME}}/doc}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;[[Category:Basic Templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Template:NavLink&amp;diff=8326</id>
		<title>Template:NavLink</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Template:NavLink&amp;diff=8326"/>
		<updated>2014-10-19T15:27:03Z</updated>

		<summary type="html">&lt;p&gt;Ulti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#ifeq: {{FULLPAGENAMEE}} | {{{1}}} | style=&amp;quot;{{{currentcss|background-color:#e9ebf5;}}}&amp;quot;| style=&amp;quot;{{{css|background-color:white;}}}&amp;quot;}} |&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;[[{{{1}}}|&amp;lt;span style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;{{{2}}}&amp;lt;/span&amp;gt;]]&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation}}[[Category:Basic Templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Template:NavLink/doc&amp;diff=8329</id>
		<title>Template:NavLink/doc</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Template:NavLink/doc&amp;diff=8329"/>
		<updated>2014-10-19T15:22:21Z</updated>

		<summary type="html">&lt;p&gt;Ulti: Created page with &amp;quot;{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;3&amp;quot; |- | {{NavLink|Template:NavLink|NavLink}} | {{NavLink|Template:NavLink/doc|NavLink/doc}} |} The above is an example which renders from: &amp;lt;p...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| {{NavLink|Template:NavLink|NavLink}}&lt;br /&gt;
| {{NavLink|Template:NavLink/doc|NavLink/doc}}&lt;br /&gt;
|}&lt;br /&gt;
The above is an example which renders from:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| {{NavLink|Template:NavLink|NavLink}}&lt;br /&gt;
| {{NavLink|Template:NavLink/doc|NavLink/doc}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Template:NavLink&amp;diff=8325</id>
		<title>Template:NavLink</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Template:NavLink&amp;diff=8325"/>
		<updated>2014-10-19T15:18:03Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added a documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#ifeq: {{FULLPAGENAMEE}} | {{{1}}} | style=&amp;quot;{{{currentcss|background-color:#e9ebf5;}}}&amp;quot;| style=&amp;quot;{{{css|background-color:white;}}}&amp;quot;}} |&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;[[{{{1}}}|&amp;lt;span style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;{{{2}}}&amp;lt;/span&amp;gt;]]&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Template:NavLink&amp;diff=8324</id>
		<title>Template:NavLink</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Template:NavLink&amp;diff=8324"/>
		<updated>2014-10-19T15:05:22Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added currentcss parameter&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq: {{FULLPAGENAMEE}} | {{{1}}} | style=&amp;quot;{{{currentcss|background-color:#e9ebf5;}}}&amp;quot;| style=&amp;quot;{{{css|background-color:white;}}}&amp;quot;}} |&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;[[{{{1}}}|&amp;lt;span style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;{{{2}}}&amp;lt;/span&amp;gt;]]&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Template:NavLink&amp;diff=8323</id>
		<title>Template:NavLink</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Template:NavLink&amp;diff=8323"/>
		<updated>2014-10-19T14:49:45Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added optional css parameter&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq: {{FULLPAGENAMEE}} | {{{1}}} | style=&amp;quot;{{{css|background-color:#e9ebf5;}}}&amp;quot;|}} |&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;[[{{{1}}}|&amp;lt;span style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;{{{2}}}&amp;lt;/span&amp;gt;]]&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=User:Ulti/sandbox&amp;diff=8301</id>
		<title>User:Ulti/sandbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=User:Ulti/sandbox&amp;diff=8301"/>
		<updated>2014-10-19T14:45:35Z</updated>

		<summary type="html">&lt;p&gt;Ulti: added a &amp;quot;for loops&amp;quot; section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{User:Ulti/Nav|active=sandbox}}&lt;br /&gt;
&lt;br /&gt;
  This page is a sandbox used for testing my code before putting it live elsewhere on the wiki&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===migrating to ASH from PHP (work in progress)===&lt;br /&gt;
ASH is basically half-ass Java because of feature limitations made specific for interacting with KoL.&amp;lt;br&amp;gt;&lt;br /&gt;
==Default Function Parameters==&lt;br /&gt;
In PHP you can define default values for your arguments like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function helloWorld($msg=&#039;Hello world!&#039;)&lt;br /&gt;
{&lt;br /&gt;
	return $msg;&lt;br /&gt;
}&lt;br /&gt;
echo helloWorld();//prints &amp;quot;Hello world!&amp;quot; to the browser&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In ASH, default parameters is accomplished like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
string helloWorld(string msg)&lt;br /&gt;
{&lt;br /&gt;
	return msg;&lt;br /&gt;
}&lt;br /&gt;
string hellowWorld()&lt;br /&gt;
{&lt;br /&gt;
	string msg=&#039;Hello world!&#039;;&lt;br /&gt;
	return helloWorld(msg);&lt;br /&gt;
}&lt;br /&gt;
print(helloWorld());//prints &amp;quot;Hello world!&amp;quot; to kolmafia&#039;s command line interface.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Simple For Loops==&lt;br /&gt;
In PHP, you write simple for loops like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for($i=1;$i&amp;lt;=5;$i++)&lt;br /&gt;
{&lt;br /&gt;
	echo &amp;quot;Loop $i&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In Ash you write such loops like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i from 1 to 5&lt;br /&gt;
{&lt;br /&gt;
	print(&#039;Loop &#039;+i);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=User:Ulti/Nav&amp;diff=8314</id>
		<title>User:Ulti/Nav</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=User:Ulti/Nav&amp;diff=8314"/>
		<updated>2014-10-19T14:31:17Z</updated>

		<summary type="html">&lt;p&gt;Ulti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| {{NavLink|User:Ulti|{{User:Ulti/Colorify|U|l|t|i}}}}&lt;br /&gt;
| {{NavLink|User_talk:Ulti|{{User:Ulti/Colorify|T|a|l|k}}}}&lt;br /&gt;
| {{NavLink|User:Ulti/Contribs|{{User:Ulti/Colorify|M|y| C|o|n|t|r|i|b|u|t|i|o|n|s}}}}&lt;br /&gt;
| {{NavLink|User:Ulti/sandbox|{{User:Ulti/Colorify|M|y| S|a|n|d|b|o|x}}}}&lt;br /&gt;
| {{NavLink|User:Ulti/Nav|{{User:Ulti/Colorify|N|a|v| B|a|r}}}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Template:NavLink&amp;diff=8322</id>
		<title>Template:NavLink</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Template:NavLink&amp;diff=8322"/>
		<updated>2014-10-19T14:29:21Z</updated>

		<summary type="html">&lt;p&gt;Ulti: Created page with &amp;quot;{{#ifeq: {{FULLPAGENAMEE}} | {{{1}}} | style=&amp;quot;background-color:#e9ebf5;&amp;quot;|}} |&amp;lt;!-- --&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;&amp;lt;span style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;{{{2}}}&amp;lt;/span&amp;gt;&amp;lt;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq: {{FULLPAGENAMEE}} | {{{1}}} | style=&amp;quot;background-color:#e9ebf5;&amp;quot;|}} |&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;[[{{{1}}}|&amp;lt;span style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;{{{2}}}&amp;lt;/span&amp;gt;]]&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=User:Ulti/Nav&amp;diff=8313</id>
		<title>User:Ulti/Nav</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=User:Ulti/Nav&amp;diff=8313"/>
		<updated>2014-10-19T14:24:53Z</updated>

		<summary type="html">&lt;p&gt;Ulti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| {{User:Ulti/NavLink|User:Ulti|{{User:Ulti/Colorify|U|l|t|i}}}}&lt;br /&gt;
| {{User:Ulti/NavLink|User_talk:Ulti|{{User:Ulti/Colorify|T|a|l|k}}}}&lt;br /&gt;
| {{User:Ulti/NavLink|User:Ulti/Contribs|{{User:Ulti/Colorify|M|y| C|o|n|t|r|i|b|u|t|i|o|n|s}}}}&lt;br /&gt;
| {{User:Ulti/NavLink|User:Ulti/sandbox|{{User:Ulti/Colorify|M|y| S|a|n|d|b|o|x}}}}&lt;br /&gt;
| {{User:Ulti/NavLink|User:Ulti/Nav|{{User:Ulti/Colorify|N|a|v| B|a|r}}}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=User:Ulti/NavLink&amp;diff=8321</id>
		<title>User:Ulti/NavLink</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=User:Ulti/NavLink&amp;diff=8321"/>
		<updated>2014-10-19T14:19:22Z</updated>

		<summary type="html">&lt;p&gt;Ulti: Created page with &amp;quot;{{#ifeq: {{FULLPAGENAMEE}} | {{{1}}} | style=&amp;quot;background-color:#e9ebf5;&amp;quot;|}} |&amp;lt;!-- --&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;&amp;lt;span style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;{{{2}}}&amp;lt;/span&amp;gt;&amp;lt;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq: {{FULLPAGENAMEE}} | {{{1}}} | style=&amp;quot;background-color:#e9ebf5;&amp;quot;|}} |&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;[[{{{1}}}|&amp;lt;span style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;{{{2}}}&amp;lt;/span&amp;gt;]]&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Template:Nowrap/doc&amp;diff=8320</id>
		<title>Template:Nowrap/doc</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Template:Nowrap/doc&amp;diff=8320"/>
		<updated>2014-10-19T14:08:52Z</updated>

		<summary type="html">&lt;p&gt;Ulti: Created page with &amp;quot;&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Template:Anchor/doc&amp;diff=8319</id>
		<title>Template:Anchor/doc</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Template:Anchor/doc&amp;diff=8319"/>
		<updated>2014-10-19T14:05:13Z</updated>

		<summary type="html">&lt;p&gt;Ulti: Created page with &amp;quot;Used for adding an &amp;#039;&amp;#039;&amp;#039;id&amp;#039;&amp;#039;&amp;#039; attribute to a pseudo-section so it can be linked to by a [http://en.wikipedia.org/wiki/Fragment_identifier hash].&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Used for adding an &#039;&#039;&#039;id&#039;&#039;&#039; attribute to a pseudo-section so it can be linked to by a [http://en.wikipedia.org/wiki/Fragment_identifier hash].&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Template:Documentation&amp;diff=8317</id>
		<title>Template:Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Template:Documentation&amp;diff=8317"/>
		<updated>2014-10-19T13:56:10Z</updated>

		<summary type="html">&lt;p&gt;Ulti: Created page with &amp;quot;&amp;lt;includeonly&amp;gt;{{{{SUBJECTPAGENAME}}/doc}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{{{SUBJECTPAGENAME}}/doc}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/noinclude&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{{{SUBJECTPAGENAME}}/doc}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{{{{SUBJECTPAGENAME}}/doc}}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=User:Ulti/Nav&amp;diff=8312</id>
		<title>User:Ulti/Nav</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=User:Ulti/Nav&amp;diff=8312"/>
		<updated>2014-10-15T11:25:56Z</updated>

		<summary type="html">&lt;p&gt;Ulti: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| {{#ifeq: {{{active|none}}} | user | style=&amp;quot;background-color:#e9ebf5;font-weight:normal;&amp;quot;|}} |&amp;lt;!--&lt;br /&gt;
	--&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;[[User:Ulti|&amp;lt;span style=&amp;quot;font-weight:normal&amp;quot;&amp;gt;{{User:Ulti/Colorify|U|l|t|i}}&amp;lt;/span&amp;gt;]]&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| {{#ifeq: {{{active|none}}} | talk | style=&amp;quot;background-color:#e9ebf5;&amp;quot;|}} |&amp;lt;!--&lt;br /&gt;
	--&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;[[User_talk:Ulti|&amp;lt;span style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;{{User:Ulti/Colorify|T|a|l|k}}&amp;lt;/span&amp;gt;]]&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| {{#ifeq: {{{active|none}}} | contribs | style=&amp;quot;background-color:#e9ebf5;&amp;quot;|}} |&amp;lt;!--&lt;br /&gt;
	--&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;[[User:Ulti/Contribs|&amp;lt;span style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;{{User:Ulti/Colorify|M|y| C|o|n|t|r|i|b|u|t|i|o|n|s}}&amp;lt;/span&amp;gt;]]&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| {{#ifeq: {{{active|none}}} | sandbox | style=&amp;quot;background-color:#e9ebf5;&amp;quot;|}} |&amp;lt;!--&lt;br /&gt;
	--&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;[[User:Ulti/sandbox|&amp;lt;span style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;{{User:Ulti/Colorify|M|y| S|a|n|d|b|o|x}}&amp;lt;/span&amp;gt;]]&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| {{#ifeq: {{{active|none}}} | whatlinkshere | style=&amp;quot;background-color:#e9ebf5;&amp;quot;|}} |&amp;lt;!--&lt;br /&gt;
	--&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:User:Ulti/Whatlinkshere|searchdata={{FULLPAGENAMEE}}}} &amp;lt;span style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;{{User:Ulti/Colorify|W|h|a|t| L|i|n|k|s| H|e|r|e}}&amp;lt;/span&amp;gt;]&amp;lt;/span&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| {{#ifeq: {{{active|none}}} | email | style=&amp;quot;background-color:#e9ebf5;&amp;quot;|}} |&amp;lt;!--&lt;br /&gt;
	--&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;[[Special:Emailuser/Ulti|&amp;lt;span style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;{{User:Ulti/Colorify|E|m|a|i|l| M|e}}&amp;lt;/span&amp;gt;]]&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| {{#ifeq: {{FULLPAGENAMEE}} | User:Ulti/Nav | style=&amp;quot;background-color:#e9ebf5;&amp;quot;|}} |&amp;lt;!--&lt;br /&gt;
	--&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;[[User:Ulti/Nav|&amp;lt;span style=&amp;quot;font-weight:normal;&amp;quot;&amp;gt;{{User:Ulti/Colorify|N|a|v| B|a|r}}&amp;lt;/span&amp;gt;]]&amp;lt;nowiki&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ulti</name></author>
	</entry>
</feed>