<?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=Eliteofdelete</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=Eliteofdelete"/>
	<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Special:Contributions/Eliteofdelete"/>
	<updated>2026-05-01T16:04:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Reserved_Words&amp;diff=9220</id>
		<title>Reserved Words</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Reserved_Words&amp;diff=9220"/>
		<updated>2023-05-01T00:54:35Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: /* Complex types */  Added new ones&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;catch&amp;quot;&lt;br /&gt;
*&amp;quot;finally&amp;quot;&lt;br /&gt;
*&amp;quot;static&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Data types==&lt;br /&gt;
===Primitive 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;
&lt;br /&gt;
===Complex types===&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;coinmaster&amp;quot;&lt;br /&gt;
*&amp;quot;phylum&amp;quot;&lt;br /&gt;
*&amp;quot;thrall&amp;quot;&lt;br /&gt;
*&amp;quot;bounty&amp;quot;&lt;br /&gt;
*&amp;quot;servant&amp;quot;&lt;br /&gt;
*&amp;quot;vykea&amp;quot;&lt;br /&gt;
*&amp;quot;path&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&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;
The file [https://github.com/kolmafia/kolmafia/blob/main/src/net/sourceforge/kolmafia/textui/Parser.java &amp;lt;code&amp;gt;Parser.java&amp;lt;/code&amp;gt;] contains the most up-to-date version of this list.&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Reserved_Words&amp;diff=9219</id>
		<title>Reserved Words</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Reserved_Words&amp;diff=9219"/>
		<updated>2023-05-01T00:23:22Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: /* More Information */ fixed the link to point to the new git&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;catch&amp;quot;&lt;br /&gt;
*&amp;quot;finally&amp;quot;&lt;br /&gt;
*&amp;quot;static&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Data types==&lt;br /&gt;
===Primitive 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;
&lt;br /&gt;
===Complex types===&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;coinmaster&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&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;
The file [https://github.com/kolmafia/kolmafia/blob/main/src/net/sourceforge/kolmafia/textui/Parser.java &amp;lt;code&amp;gt;Parser.java&amp;lt;/code&amp;gt;] contains the most up-to-date version of this list.&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Ash_Functions&amp;diff=9218</id>
		<title>Ash Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Ash_Functions&amp;diff=9218"/>
		<updated>2023-04-29T04:46:59Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
Master list of all ASH functions. All functions as of r27333 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;
The CLI command &amp;quot;[[ashref]]&amp;quot; shows every implemented ash function for your mafia version. A guide to add new functions via a script can be found [https://wiki.kolmafia.us/index.php/NewFunctionsScript here.]&lt;br /&gt;
&lt;br /&gt;
===a===&lt;br /&gt;
{{FunctionEmbed|abort|format=signature}}&lt;br /&gt;
{{Flink|boolean [monster]|absorbed_monsters}}&lt;br /&gt;
{{FunctionEmbed|add_item_condition|format=signature}}&lt;br /&gt;
{{Flink|boolean|adv1|location|{{opt|int}}|{{opt|string}}}}&lt;br /&gt;
{{Flink|int|adv_cost|skill}}&lt;br /&gt;
{{Flink|boolean|adventure|int|location|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|adventure|location|int|{{opt|string}}}}&lt;br /&gt;
{{FunctionEmbed|all_monsters_with_id|format=signature}}&lt;br /&gt;
{{Flink|string [0]|all_normal_outfits}}&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|boolean|autosell|item|int}}&lt;br /&gt;
{{Flink|int|autosell_price|item}}&lt;br /&gt;
{{Flink|int|available_amount|item}}&lt;br /&gt;
{{FunctionEmbed|available_choice_options}}&lt;br /&gt;
{{FunctionEmbed|available_choice_select_inputs}}&lt;br /&gt;
{{Flink|string [string]|available_choice_text_inputs|int}}&lt;br /&gt;
{{Flink|int|available_pocket|effect}}&lt;br /&gt;
{{Flink|int|available_pocket|item}}&lt;br /&gt;
{{Flink|int|available_pocket|monster}}&lt;br /&gt;
{{Flink|int|available_pocket|stat}}&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|bjornify_familiar|familiar}}&lt;br /&gt;
{{Flink|boolean|black_market_available}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|effect|string}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|item|string}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|{{opt|string}}|string}}&lt;br /&gt;
{{Flink|int|buffed_hit_stat}}&lt;br /&gt;
{{FunctionEmbed|buffer_to_file|format=signature}}&lt;br /&gt;
{{Flink|boolean|buy|coinmaster|item}}&lt;br /&gt;
{{Flink|boolean|buy|item|{{opt|int}}|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|buy|{{opt|coinmaster}}|int|item}}&lt;br /&gt;
{{Flink|int|buy|int|item|int}}&lt;br /&gt;
{{Flink|int|buy_price|coinmaster|item}}&lt;br /&gt;
{{Flink|boolean|buy_using_storage|int|item}}&lt;br /&gt;
{{Flink|boolean|buy_using_storage|item|int}}&lt;br /&gt;
{{Flink|boolean|buy_using_storage|item}}&lt;br /&gt;
{{Flink|int|buy_using_storage|int|item|int}}&lt;br /&gt;
{{Flink|int|buy_using_storage|item|int|int}}&lt;br /&gt;
{{Flink|boolean|buys_item|coinmaster|item}}&lt;br /&gt;
&lt;br /&gt;
===c===&lt;br /&gt;
{{Flink|boolean|can_adventure|location}}&lt;br /&gt;
{{Flink|boolean|can_drink}}&lt;br /&gt;
{{Flink|boolean|can_eat}}&lt;br /&gt;
{{Flink|boolean|can_equip|familiar|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|can_equip|item}}&lt;br /&gt;
{{Flink|boolean|can_faxbot|monster}}&lt;br /&gt;
{{Flink|boolean|can_interact}}&lt;br /&gt;
{{Flink|boolean|can_still_steal}}&lt;br /&gt;
{{Flink|boolean|canadia_available}}&lt;br /&gt;
{{Flink|item [0]|candy_for_tier|int|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|ceil|float}}&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|boolean|chew|int|item}}&lt;br /&gt;
{{Flink|boolean|chew|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|choice_follows_fight}}&lt;br /&gt;
{{Flink|class|class_modifier|item|string}}&lt;br /&gt;
{{Flink|class|class_modifier|string|string}}&lt;br /&gt;
{{Flink|void|clear|aggregate}}&lt;br /&gt;
{{FunctionEmbed|clear_booze_helper|format=signature}}&lt;br /&gt;
{{FunctionEmbed|clear_food_helper|format=signature}}&lt;br /&gt;
{{FunctionEmbed|cli_execute|format=signature}}&lt;br /&gt;
{{FunctionEmbed|cli_execute_output|format=signature}}&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|combat_skill_available|skill}}&lt;br /&gt;
{{Flink|int|concoction_price|item}}&lt;br /&gt;
{{Flink|int|concoction_price|vykea}}&lt;br /&gt;
{{FunctionEmbed|contains_text|format=signature}}&lt;br /&gt;
{{Flink|void|council}}&lt;br /&gt;
{{Flink|int|count|aggregate}}&lt;br /&gt;
{{Flink|int|craft|string|int|item|item}}&lt;br /&gt;
{{Flink|string|craft_type|item}}&lt;br /&gt;
{{Flink|int|creatable_amount|item}}&lt;br /&gt;
{{Flink|int|creatable_turns|item|{{opt|int}}|{{opt|boolean}}}}&lt;br /&gt;
{{Flink|boolean|create|int|item}}&lt;br /&gt;
{{Flink|boolean|create|item|{{opt|int}}}}&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;
{{Flink|int [string]|current_pvp_stances}}&lt;br /&gt;
{{Flink|int|current_rad_sickness}}&lt;br /&gt;
{{Flink|int|current_round}}&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|int|date_to_timestamp|string|string}}&lt;br /&gt;
{{Flink|int|daycount}}&lt;br /&gt;
{{Flink|void|debugprint|string}}&lt;br /&gt;
{{Flink|buffer|delete|buffer|int|int}}&lt;br /&gt;
{{Flink|effect|desc_to_effect|string}}&lt;br /&gt;
{{Flink|item|desc_to_item|string}}&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;
{{FunctionEmbed|drink|format=signature}}&lt;br /&gt;
{{Flink|boolean|drinksilent|int|item}}&lt;br /&gt;
{{Flink|boolean|drinksilent|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|void|dump|any|{{opt|string}}}}&lt;br /&gt;
&lt;br /&gt;
===e===&lt;br /&gt;
{{FunctionEmbed|eat|format=signature}}&lt;br /&gt;
{{Flink|boolean|eatsilent|int|item}}&lt;br /&gt;
{{Flink|boolean|eatsilent|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|effect|effect_modifier|item|string}}&lt;br /&gt;
{{Flink|effect|effect_modifier|string|string}}&lt;br /&gt;
{{Flink|boolean [int]|effect_pockets}}&lt;br /&gt;
{{Flink|int|eight_bit_points|location|string|float}}&lt;br /&gt;
{{Flink|int|eight_bit_points|location}}&lt;br /&gt;
{{Flink|float|elemental_resistance|monster}}&lt;br /&gt;
{{Flink|float|elemental_resistance|{{opt|element}}}}&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;
{{FunctionEmbed|ends_with|format=signature}}&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|equip|item|{{opt|slot}}}}&lt;br /&gt;
{{Flink|boolean|equip|slot|item}}&lt;br /&gt;
{{Flink|boolean|equip_all_familiars}}&lt;br /&gt;
{{Flink|int|equipped_amount|item|boolean}}&lt;br /&gt;
{{Flink|int|equipped_amount|item}}&lt;br /&gt;
{{Flink|item|equipped_item|slot}}&lt;br /&gt;
{{Flink|boolean|eudora|string}}&lt;br /&gt;
{{Flink|string|eudora}}&lt;br /&gt;
{{Flink|item|eudora_item}}&lt;br /&gt;
{{Flink|string|every_card_name|strict_string}}&lt;br /&gt;
{{Flink|item [string]|expected_cold_medicine_cabinet}}&lt;br /&gt;
{{Flink|int|expected_damage|{{opt|monster}}}}&lt;br /&gt;
{{Flink|float|experience_bonus}}&lt;br /&gt;
{{Flink|float|expression_eval|string}}&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 [familiar]|favorite_familiars}}&lt;br /&gt;
{{Flink|boolean|faxbot|monster|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|fight_follows_choice}}&lt;br /&gt;
{{FunctionEmbed|file_to_array|format=signature}}&lt;br /&gt;
{{FunctionEmbed|file_to_buffer|format=signature}}&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|boolean|florist_available}}&lt;br /&gt;
{{Flink|boolean|flush_monster_manuel_cache}}&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|fuel_cost|skill}}&lt;br /&gt;
{{Flink|int|fullness_limit}}&lt;br /&gt;
&lt;br /&gt;
===g===&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|boolean [string]|get_all_properties|string|boolean}}&lt;br /&gt;
{{Flink|int|get_auto_attack}}&lt;br /&gt;
{{Flink|location [0]|get_autumnaton_locations}}&lt;br /&gt;
{{Flink|int [item]|get_campground}}&lt;br /&gt;
{{Flink|string|get_ccs_action|int}}&lt;br /&gt;
{{Flink|int [item]|get_chateau}}&lt;br /&gt;
{{Flink|int|get_clan_id}}&lt;br /&gt;
{{Flink|int [item]|get_clan_lounge}}&lt;br /&gt;
{{Flink|string|get_clan_name}}&lt;br /&gt;
{{Flink|int [string]|get_clan_rumpus}}&lt;br /&gt;
{{Flink|int [item]|get_closet}}&lt;br /&gt;
{{Flink|int|get_counter|string}}&lt;br /&gt;
{{Flink|string|get_counters|string|int|int}}&lt;br /&gt;
{{Flink|string [0]|get_custom_outfits}}&lt;br /&gt;
{{Flink|int [item]|get_display}}&lt;br /&gt;
{{Flink|item|get_dwelling}}&lt;br /&gt;
{{Flink|location [string]|get_fishing_locations}}&lt;br /&gt;
{{Flink|string [location, 3]|get_florist_plants}}&lt;br /&gt;
{{Flink|int [item]|get_free_pulls}}&lt;br /&gt;
{{Flink|int|get_fuel}}&lt;br /&gt;
{{Flink|string [0]|get_goals}}&lt;br /&gt;
{{Flink|boolean|get_ignore_zone_warnings}}&lt;br /&gt;
{{Flink|int [item]|get_ingredients|item}}&lt;br /&gt;
{{Flink|int [item]|get_inventory}}&lt;br /&gt;
{{Flink|boolean [monster]|get_location_monsters|location}}&lt;br /&gt;
{{Flink|boolean [monster]|get_locket_monsters}}&lt;br /&gt;
{{Flink|monster [monster]|get_monster_mapping|{{opt|string}}}}&lt;br /&gt;
{{Flink|monster [0]|get_monsters|location}}&lt;br /&gt;
{{Flink|string [0]|get_moods}}&lt;br /&gt;
{{Flink|string [0]|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|boolean [skill]|get_permed_skills}}&lt;br /&gt;
{{Flink|string|get_player_id|string}}&lt;br /&gt;
{{Flink|string|get_player_name|int}}&lt;br /&gt;
{{Flink|int|get_power|item}}&lt;br /&gt;
{{Flink|string|get_property|string|{{opt|boolean}}}}&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 [0]|get_shop_log}}&lt;br /&gt;
{{Flink|string|file|string|name|int|line [0]|get_stack_trace}}&lt;br /&gt;
{{Flink|int [item]|get_stash}}&lt;br /&gt;
{{Flink|int [item]|get_storage}}&lt;br /&gt;
{{Flink|string|get_version}}&lt;br /&gt;
{{Flink|item|get_workshed}}&lt;br /&gt;
{{Flink|item|get_zap_wand}}&lt;br /&gt;
{{Flink|boolean|git_at_head|string}}&lt;br /&gt;
{{Flink|boolean|git_exists|string}}&lt;br /&gt;
{{Flink|string [0]|git_list}}&lt;br /&gt;
{{Flink|boolean|gnomads_available}}&lt;br /&gt;
{{Flink|boolean|goal_exists|string}}&lt;br /&gt;
{{Flink|string|group|matcher|string}}&lt;br /&gt;
{{Flink|string|group|matcher|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|group_count|matcher}}&lt;br /&gt;
{{Flink|boolean [string]|group_names|matcher}}&lt;br /&gt;
{{Flink|string [int, int]|group_string|string|string}}&lt;br /&gt;
{{Flink|boolean|guild_available}}&lt;br /&gt;
{{Flink|boolean|guild_store_available}}&lt;br /&gt;
&lt;br /&gt;
===h===&lt;br /&gt;
{{Flink|boolean|handling_choice}}&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_servant|servant}}&lt;br /&gt;
{{Flink|boolean|have_shop}}&lt;br /&gt;
{{Flink|boolean|have_skill|skill}}&lt;br /&gt;
{{Flink|boolean|hedge_maze|string}}&lt;br /&gt;
{{Flink|boolean|heist|int|item}}&lt;br /&gt;
{{Flink|boolean|heist|item}}&lt;br /&gt;
{{Flink|item [monster, int]|heist_targets}}&lt;br /&gt;
{{Flink|boolean|hermit|int|item}}&lt;br /&gt;
{{Flink|boolean|hermit|item|int}}&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;
{{FunctionEmbed|historical_age}}&lt;br /&gt;
{{FunctionEmbed|historical_price}}&lt;br /&gt;
{{Flink|string|holiday}}&lt;br /&gt;
{{Flink|int|hp_cost|skill}}&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_casual}}&lt;br /&gt;
{{Flink|boolean|in_hardcore}}&lt;br /&gt;
{{Flink|boolean|in_moxie_sign}}&lt;br /&gt;
{{Flink|boolean|in_multi_fight}}&lt;br /&gt;
{{Flink|boolean|in_muscle_sign}}&lt;br /&gt;
{{Flink|boolean|in_mysticality_sign}}&lt;br /&gt;
{{Flink|boolean|in_terrarium|familiar}}&lt;br /&gt;
{{Flink|string|inaccessible_reason|coinmaster}}&lt;br /&gt;
{{FunctionEmbed|index_of|format=signature}}&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_banished|monster}}&lt;br /&gt;
{{Flink|boolean|is_coinmaster_item|item}}&lt;br /&gt;
{{FunctionEmbed|is_dark_mode}}&lt;br /&gt;
{{Flink|boolean|is_discardable|item}}&lt;br /&gt;
{{Flink|boolean|is_displayable|item}}&lt;br /&gt;
{{Flink|boolean|is_familiar_equipment_locked}}&lt;br /&gt;
{{Flink|boolean|is_giftable|item}}&lt;br /&gt;
{{Flink|boolean|is_goal|item}}&lt;br /&gt;
{{Flink|boolean|is_headless}}&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|item/familiar/skill/string}}&lt;br /&gt;
{{Flink|boolean|is_unrestricted|item/familiar/skill/string}}&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|item int string [int]|item_drops_array|{{opt|monster}}}}&lt;br /&gt;
{{Flink|boolean [int]|item_pockets}}&lt;br /&gt;
{{Flink|string|item_type|item}}&lt;br /&gt;
&lt;br /&gt;
===j===&lt;br /&gt;
{{Flink|boolean [int]|joke_pockets}}&lt;br /&gt;
{{Flink|int|jump_chance|location|{{opt|int}}|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|jump_chance|{{opt|monster}}|{{opt|int}}|{{opt|int}}}}&lt;br /&gt;
&lt;br /&gt;
===k===&lt;br /&gt;
{{Flink|boolean|knoll_available}}&lt;br /&gt;
&lt;br /&gt;
===l===&lt;br /&gt;
{{Flink|int|last_choice}}&lt;br /&gt;
{{Flink|int|last_decision}}&lt;br /&gt;
{{FunctionEmbed|last_index_of|format=signature}}&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|string|leetify|string}}&lt;br /&gt;
{{Flink|int|length|string}}&lt;br /&gt;
{{Flink|int|lightning_cost|skill}}&lt;br /&gt;
{{Flink|string|limit_mode}}&lt;br /&gt;
{{Flink|buffer|load_html|string}}&lt;br /&gt;
{{Flink|void|lock_familiar_equipment|boolean}}&lt;br /&gt;
{{Flink|float|log_n|float|{{opt|float}}}}&lt;br /&gt;
{{Flink|void|logprint|string}}&lt;br /&gt;
&lt;br /&gt;
===m===&lt;br /&gt;
{{Flink|string|make_url|string|boolean|boolean}}&lt;br /&gt;
{{FunctionEmbed|mall_price}}&lt;br /&gt;
{{FunctionEmbed|mall_prices}}&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|string|display|string|command|float|score|effect|effect|item|item|skill|skill [0]|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|int [int]|meat_pockets}}&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|float|modifier_eval|string}}&lt;br /&gt;
{{Flink|boolean|monkey_paw|effect}}&lt;br /&gt;
{{Flink|boolean|monkey_paw|item}}&lt;br /&gt;
{{Flink|boolean|monkey_paw|string}}&lt;br /&gt;
{{Flink|int|monster_attack|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_defense|{{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_factoids_available|monster|boolean}}&lt;br /&gt;
{{Flink|int|monster_hp|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_initiative|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_level_adjustment}}&lt;br /&gt;
{{Flink|string|monster_manuel_text|monster}}&lt;br /&gt;
{{Flink|monster|monster_modifier|effect|string}}&lt;br /&gt;
{{Flink|phylum|monster_phylum|{{opt|monster}}}}&lt;br /&gt;
{{Flink|boolean [int]|monster_pockets}}&lt;br /&gt;
{{Flink|void|mood_execute|int}}&lt;br /&gt;
{{Flink|string [0]|mood_list}}&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_absorbs}}&lt;br /&gt;
{{Flink|int|my_adventures}}&lt;br /&gt;
{{Flink|int|my_ascensions}}&lt;br /&gt;
{{Flink|int|my_audience}}&lt;br /&gt;
{{Flink|int|my_basestat|stat}}&lt;br /&gt;
{{Flink|familiar|my_bjorned_familiar}}&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_garden_type}}&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|int|my_lightning}}&lt;br /&gt;
{{Flink|location|my_location}}&lt;br /&gt;
{{Flink|string|my_mask}}&lt;br /&gt;
{{Flink|int|my_maxfury}}&lt;br /&gt;
{{Flink|int|my_maxhp}}&lt;br /&gt;
{{Flink|int|my_maxmp}}&lt;br /&gt;
{{Flink|int|my_maxpp}}&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|path|my_path}}&lt;br /&gt;
{{Flink|int|my_path_id}}&lt;br /&gt;
{{Flink|familiar|my_poke_fam|int}}&lt;br /&gt;
{{Flink|int|my_pp}}&lt;br /&gt;
{{Flink|stat|my_primestat}}&lt;br /&gt;
{{Flink|int|my_rain}}&lt;br /&gt;
{{Flink|int|my_robot_energy}}&lt;br /&gt;
{{Flink|int|my_robot_scraps}}&lt;br /&gt;
{{Flink|servant|my_servant}}&lt;br /&gt;
{{Flink|int|my_session_adv}}&lt;br /&gt;
{{Flink|int [item]|my_session_items}}&lt;br /&gt;
{{Flink|int|my_session_items|item}}&lt;br /&gt;
{{Flink|int|my_session_meat}}&lt;br /&gt;
{{Flink|int [string]|my_session_results}}&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|thrall|my_thrall}}&lt;br /&gt;
{{Flink|int|my_thunder}}&lt;br /&gt;
{{Flink|int|my_turncount}}&lt;br /&gt;
{{Flink|vykea|my_vykea_companion}}&lt;br /&gt;
{{Flink|int|my_wildfire_water}}&lt;br /&gt;
&lt;br /&gt;
===n===&lt;br /&gt;
{{Flink|int|now_to_int}}&lt;br /&gt;
{{Flink|string|now_to_string|string}}&lt;br /&gt;
{{Flink|int|npc_price|item}}&lt;br /&gt;
{{Flink|string|numberology_prize|int}}&lt;br /&gt;
{{Flink|float|numeric_modifier|effect|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|familiar|string|int|item}}&lt;br /&gt;
{{Flink|float|numeric_modifier|item|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|skill|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|{{opt|string}}|string}}&lt;br /&gt;
&lt;br /&gt;
===o===&lt;br /&gt;
{{Flink|boolean|outfit|string}}&lt;br /&gt;
{{Flink|item [0]|outfit_pieces|string}}&lt;br /&gt;
{{Flink|string|outfit_tattoo|{{opt|string}}}}&lt;br /&gt;
{{Flink|float [item]|outfit_treats|string}}&lt;br /&gt;
{{FunctionEmbed|overdrink|format=signature}}&lt;br /&gt;
&lt;br /&gt;
===p===&lt;br /&gt;
{{Flink|string|path_id_to_name|int}}&lt;br /&gt;
{{Flink|int|path_name_to_id|string}}&lt;br /&gt;
{{Flink|boolean|pick_pocket|int}}&lt;br /&gt;
{{Flink|boolean|pick_pocket|monster}}&lt;br /&gt;
{{Flink|int [effect]|pick_pocket|effect}}&lt;br /&gt;
{{Flink|int [item]|pick_pocket|item}}&lt;br /&gt;
{{Flink|int [stat]|pick_pocket|stat}}&lt;br /&gt;
{{Flink|boolean [int]|picked_pockets}}&lt;br /&gt;
{{Flink|boolean [int]|picked_scraps}}&lt;br /&gt;
{{Flink|int [effect]|pocket_effects|int}}&lt;br /&gt;
{{Flink|int [item]|pocket_items|int}}&lt;br /&gt;
{{Flink|string|pocket_joke|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_meat|int}}&lt;br /&gt;
{{Flink|monster|pocket_monster|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_poem|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_scrap|int}}&lt;br /&gt;
{{Flink|int [stat]|pocket_stats|int}}&lt;br /&gt;
{{Flink|int [int]|poem_pockets}}&lt;br /&gt;
{{Flink|int [int]|potential_pockets|effect/item/monster/stat}}&lt;br /&gt;
{{Flink|boolean|pre_validate_adventure|location}}&lt;br /&gt;
{{Flink|boolean|prepare_for_adventure|location}}&lt;br /&gt;
{{Flink|void|print|{{opt|string}}|{{opt|string}}}}&lt;br /&gt;
{{Flink|void|print_html|string|boolean}}&lt;br /&gt;
{{Flink|void|print_html|string}}&lt;br /&gt;
{{FunctionEmbed|property_default_value|format=signature}}&lt;br /&gt;
{{FunctionEmbed|property_exists|format=signature}}&lt;br /&gt;
{{FunctionEmbed|property_has_default|format=signature}}&lt;br /&gt;
{{Flink|int|pulls_remaining}}&lt;br /&gt;
{{Flink|boolean|put_closet|int|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|put_closet|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|put_display|int|item}}&lt;br /&gt;
{{Flink|boolean|put_display|item|int}}&lt;br /&gt;
{{Flink|boolean|put_shop|int|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|boolean|put_shop_using_storage|int|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|boolean|put_stash|int|item}}&lt;br /&gt;
{{Flink|boolean|put_stash|item|int}}&lt;br /&gt;
{{Flink|int|pvp_attacks_left}}&lt;br /&gt;
&lt;br /&gt;
===r===&lt;br /&gt;
{{Flink|int|rain_cost|skill}}&lt;br /&gt;
{{Flink|int|random|int}}&lt;br /&gt;
{{Flink|int|raw_damage_absorption}}&lt;br /&gt;
{{Flink|buffer|read_ccs|string}}&lt;br /&gt;
{{Flink|void|receive_fax}}&lt;br /&gt;
{{Flink|boolean|refresh_shop}}&lt;br /&gt;
{{Flink|boolean|refresh_stash}}&lt;br /&gt;
{{Flink|boolean|refresh_status}}&lt;br /&gt;
{{Flink|void|remove_item_condition|int|item}}&lt;br /&gt;
{{Flink|void|remove_item_condition|item|int}}&lt;br /&gt;
{{FunctionEmbed|remove_property|format=signature}}&lt;br /&gt;
{{FunctionEmbed|rename_property|format=signature}}&lt;br /&gt;
{{Flink|buffer|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|boolean|reprice_shop|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|matcher|reset|matcher|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean [int]|restoration_pockets}}&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|boolean|retrieve_item|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|retrieve_price|int|item|boolean}}&lt;br /&gt;
{{Flink|int|retrieve_price|int|item}}&lt;br /&gt;
{{Flink|int|retrieve_price|item|int|boolean}}&lt;br /&gt;
{{Flink|int|retrieve_price|item|int}}&lt;br /&gt;
{{Flink|int|retrieve_price|item}}&lt;br /&gt;
{{Flink|int [int]|reverse_numberology|{{opt|int|int}}}}&lt;br /&gt;
{{Flink|int|rollover}}&lt;br /&gt;
{{Flink|int|round|float}}&lt;br /&gt;
{{FunctionEmbed|run_choice|format=signature}}&lt;br /&gt;
{{Flink|buffer|run_combat|{{opt|string}}}}&lt;br /&gt;
{{Flink|buffer|run_turn}}&lt;br /&gt;
{{Flink|buffer|runaway}}&lt;br /&gt;
&lt;br /&gt;
===s===&lt;br /&gt;
{{Flink|int [int]|scrap_pockets}}&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|void|send_fax}}&lt;br /&gt;
{{Flink|string [int]|session_logs|{{opt|string}}|{{opt|string}}|int}}&lt;br /&gt;
{{Flink|void|set_auto_attack|int/string}}&lt;br /&gt;
{{Flink|boolean|set_ccs|string}}&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_limit|item}}&lt;br /&gt;
{{Flink|int|shop_price|item}}&lt;br /&gt;
{{Flink|skill|skill_modifier|item|string}}&lt;br /&gt;
{{Flink|skill|skill_modifier|string|string}}&lt;br /&gt;
{{Flink|int|slash_count|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;
{{FunctionEmbed|starts_with|format=signature}}&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|boolean [int]|stats_pockets}}&lt;br /&gt;
{{Flink|buffer|steal}}&lt;br /&gt;
{{Flink|int|stills_available}}&lt;br /&gt;
{{Flink|void|stop_counter|string}}&lt;br /&gt;
{{Flink|int|storage_amount|item}}&lt;br /&gt;
{{Flink|string|string_modifier|{{opt|string}}|string}}&lt;br /&gt;
{{Flink|skill|stun_skill}}&lt;br /&gt;
{{Flink|string|substring|string|int|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|svn_at_head|string}}&lt;br /&gt;
{{Flink|boolean|svn_exists|string}}&lt;br /&gt;
{{Flink|string [0]|svn_list}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|effect|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|int|effect|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|{{opt|int}}|item|item}}&lt;br /&gt;
{{Flink|item [0]|sweet_synthesis_pair|effect|{{opt|item}}|{{opt|int}}}}&lt;br /&gt;
{{Flink|item [0]|sweet_synthesis_pairing|effect|item|int}}&lt;br /&gt;
{{Flink|item [0]|sweet_synthesis_pairing|effect|item}}&lt;br /&gt;
{{Flink|effect|sweet_synthesis_result|item|item}}&lt;br /&gt;
&lt;br /&gt;
===t===&lt;br /&gt;
{{Flink|boolean|take_closet|int|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|take_closet|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|take_display|int|item}}&lt;br /&gt;
{{Flink|boolean|take_display|item|int}}&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_stash|item|int}}&lt;br /&gt;
{{Flink|boolean|take_storage|int|item}}&lt;br /&gt;
{{Flink|boolean|take_storage|item|int}}&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|int|thunder_cost|skill}}&lt;br /&gt;
{{Flink|string|time_to_string}}&lt;br /&gt;
{{Flink|string|timestamp_to_date|int|string}}&lt;br /&gt;
{{Flink|boolean|to_boolean|any}}&lt;br /&gt;
{{Flink|bounty|to_bounty|strict_string}}&lt;br /&gt;
{{Flink|class|to_class|strict_string/int}}&lt;br /&gt;
{{Flink|coinmaster|to_coinmaster|strict_string}}&lt;br /&gt;
{{Flink|effect|to_effect|int/skill/strict_string}}&lt;br /&gt;
{{Flink|element|to_element|strict_string}}&lt;br /&gt;
{{Flink|familiar|to_familiar|int/strict_string}}&lt;br /&gt;
{{Flink|float|to_float|any}}&lt;br /&gt;
{{Flink|int|to_int|any}}&lt;br /&gt;
{{Flink|item|to_item|int/strict_string}}&lt;br /&gt;
{{Flink|item|to_item|string|int}}&lt;br /&gt;
{{Flink|string|to_json|aggregate}}&lt;br /&gt;
{{Flink|location|to_location|int/strict_string}}&lt;br /&gt;
{{Flink|string|to_lower_case|string}}&lt;br /&gt;
{{Flink|monster|to_monster|int/strict_string}}&lt;br /&gt;
{{Flink|path|to_path|int}}&lt;br /&gt;
{{Flink|path|to_path|strict_string}}&lt;br /&gt;
{{Flink|phylum|to_phylum|strict_string}}&lt;br /&gt;
{{Flink|string|to_plural|item}}&lt;br /&gt;
{{Flink|servant|to_servant|int/strict_string}}&lt;br /&gt;
{{Flink|skill|to_skill|effect/int}}&lt;br /&gt;
{{Flink|skill|to_skill|strict_string|{{opt|strict_string}}}}&lt;br /&gt;
{{Flink|slot|to_slot|item/strict_string}}&lt;br /&gt;
{{Flink|stat|to_stat|strict_string}}&lt;br /&gt;
{{Flink|string|to_string|any}}&lt;br /&gt;
{{Flink|thrall|to_thrall|int/strict_string}}&lt;br /&gt;
{{Flink|string|to_upper_case|string}}&lt;br /&gt;
{{Flink|string|to_url|location}}&lt;br /&gt;
{{Flink|vykea|to_vykea|strict_string}}&lt;br /&gt;
{{Flink|string|to_wiki_url|effect}}&lt;br /&gt;
{{Flink|string|to_wiki_url|item}}&lt;br /&gt;
{{Flink|string|to_wiki_url|monster}}&lt;br /&gt;
{{Flink|string|to_wiki_url|skill}}&lt;br /&gt;
{{Flink|string|to_wiki_url|string}}&lt;br /&gt;
{{Flink|string|today_to_string}}&lt;br /&gt;
{{Flink|int|total_free_rests}}&lt;br /&gt;
{{Flink|int|total_turns_played}}&lt;br /&gt;
{{Flink|boolean|tower_door}}&lt;br /&gt;
{{Flink|void|traceprint|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;
{{Flink|buffer|twiddle}}&lt;br /&gt;
&lt;br /&gt;
===u===&lt;br /&gt;
{{Flink|item|unusual_construct_disc}}&lt;br /&gt;
{{Flink|void|update_candy_prices}}&lt;br /&gt;
{{Flink|string|url|int|revision|string|last_changed_author|int|last_changed_rev|string|last_changed_date|svn_info|string}}&lt;br /&gt;
{{Flink|string|url|string|branch|string|commit|string|last_changed_author|string|last_changed_date|git_info|string}}&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|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|use_familiar|familiar}}&lt;br /&gt;
{{Flink|boolean|use_servant|servant}}&lt;br /&gt;
{{Flink|boolean|use_skill|int|skill|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|use_skill|skill|int|{{opt|string}}}}&lt;br /&gt;
{{Flink|buffer|use_skill|skill}}&lt;br /&gt;
{{Flink|boolean|user_confirm|string|int|boolean}}&lt;br /&gt;
{{Flink|boolean|user_confirm|string}}&lt;br /&gt;
{{Flink|void|user_notify|string|boolean}}&lt;br /&gt;
{{Flink|void|user_notify|string}}&lt;br /&gt;
{{Flink|string|user_prompt|string|aggregate}}&lt;br /&gt;
{{Flink|string|user_prompt|string|int|string}}&lt;br /&gt;
{{Flink|string|user_prompt|string}}&lt;br /&gt;
&lt;br /&gt;
===v===&lt;br /&gt;
{{Flink|boolean|visit|coinmaster}}&lt;br /&gt;
{{FunctionEmbed|visit_url}}&lt;br /&gt;
{{Flink|boolean [string]|voting_booth_initiatives|class|path|int}}&lt;br /&gt;
{{Flink|boolean [string]|voting_booth_initiatives|int|int|int}}&lt;br /&gt;
&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|well_stocked|string|int|int}}&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|boolean|write_ccs|buffer|string}}&lt;br /&gt;
{{Flink|void|writeln|string}}&lt;br /&gt;
&lt;br /&gt;
===x===&lt;br /&gt;
{{Flink|string [0]|xpath|string|string}}&lt;br /&gt;
&lt;br /&gt;
===z===&lt;br /&gt;
{{Flink|item|zap|item}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=NewFunctionsScript&amp;diff=9217</id>
		<title>NewFunctionsScript</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=NewFunctionsScript&amp;diff=9217"/>
		<updated>2023-04-29T04:44:55Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Created page to script adding new functions to wiki.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Guide To Add New Functions To Wiki Via Script =&lt;br /&gt;
&lt;br /&gt;
== 1. Gather Ashref Functions ==&lt;br /&gt;
&lt;br /&gt;
* Open KoLmafia and sign-in.&lt;br /&gt;
&lt;br /&gt;
* Type the following in the CLI&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
debug on&lt;br /&gt;
ashref&lt;br /&gt;
debug off&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create a file called &amp;quot;AshRef Function List.txt&amp;quot; in the KoLmafia folder.&lt;br /&gt;
* Locate the &amp;quot;DEBUG_####.txt&amp;quot; file in KoLmafia folder and open it.&lt;br /&gt;
* Copy paste all the functions found between the two debugs into the &amp;quot;AshRef Function List.txt&amp;quot; text file.&lt;br /&gt;
* See below as an example:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
void &amp;lt;a href=&#039;https://wiki.kolmafia.us/index.php?title=abort&#039;&amp;gt;abort&amp;lt;/a&amp;gt;( string )&lt;br /&gt;
void &amp;lt;a href=&#039;https://wiki.kolmafia.us/index.php?title=abort&#039;&amp;gt;abort&amp;lt;/a&amp;gt;(  )&lt;br /&gt;
boolean [monster] &amp;lt;a href=&#039;https://wiki.kolmafia.us/index.php?title=absorbed_monsters&#039;&amp;gt;absorbed_monsters&amp;lt;/a&amp;gt;(  )&lt;br /&gt;
void &amp;lt;a href=&#039;https://wiki.kolmafia.us/index.php?title=add_item_condition&#039;&amp;gt;add_item_condition&amp;lt;/a&amp;gt;( int, item )&lt;br /&gt;
void &amp;lt;a href=&#039;https://wiki.kolmafia.us/index.php?title=add_item_condition&#039;&amp;gt;add_item_condition&amp;lt;/a&amp;gt;( item, int )&lt;br /&gt;
boolean &amp;lt;a href=&#039;https://wiki.kolmafia.us/index.php?title=adv1&#039;&amp;gt;adv1&amp;lt;/a&amp;gt;( location, int, string )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. Gather Current Wiki Functions ==&lt;br /&gt;
&lt;br /&gt;
* Create a file called &amp;quot;WikiPage.txt&amp;quot; in the KoLmafia folder.&lt;br /&gt;
* Go to the wiki page Ash Functions and click &amp;quot;Edit Source&amp;quot; https://wiki.kolmafia.us/index.php?title=Ash_Functions&amp;amp;action=edit&lt;br /&gt;
* Copy paste the entire edit page into the created &amp;quot;WikiPage.txt&amp;quot;. &lt;br /&gt;
* See below as an example:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
{{TOCright}}&lt;br /&gt;
Master list of all ASH functions. All functions as of r27333 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;
The CLI command &amp;quot;[[ashref]]&amp;quot; shows every implemented ash function for your mafia version.&lt;br /&gt;
&lt;br /&gt;
===a===&lt;br /&gt;
{{FunctionEmbed|abort|format=signature}}&lt;br /&gt;
{{Flink|boolean [monster]|absorbed_monsters}}&lt;br /&gt;
...etc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. Running the Script ==&lt;br /&gt;
&lt;br /&gt;
* Create a new .ash file in the KoLmafia folder (can be named anything)&lt;br /&gt;
* Copy paste the following code into it and run it. &lt;br /&gt;
* It will output a new text file called &amp;quot;NewWikiPage.txt&amp;quot; with the added functions from the ashref function list.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
# Turns the file into a map but keeps any newlines / comments&lt;br /&gt;
string[int] fileToMap (string file) {&lt;br /&gt;
	string[int] out;&lt;br /&gt;
	int ct = 1;&lt;br /&gt;
	matcher finder = create_matcher(&amp;quot;[^\\n]+\\n|[^\\n]+&amp;quot;, file_to_buffer(file));&lt;br /&gt;
	while (find (finder)) {&lt;br /&gt;
		out[ct] = group(finder);&lt;br /&gt;
		ct = ct+1;&lt;br /&gt;
	}&lt;br /&gt;
	return out;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Turns a map of strings into a buffer&lt;br /&gt;
buffer mapToBuffer (string[int] map) {&lt;br /&gt;
	buffer o;&lt;br /&gt;
	foreach k, v in map {&lt;br /&gt;
		o = append(o, v);&lt;br /&gt;
	}&lt;br /&gt;
	return o;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Returns the first capture group found&lt;br /&gt;
 string regexCapture (string regex, string text) {&lt;br /&gt;
	matcher f = create_matcher(regex, text);&lt;br /&gt;
	string o = &amp;quot;&amp;quot;;&lt;br /&gt;
	if (find(f)) {&lt;br /&gt;
		for i from 1 to group_count(f) {&lt;br /&gt;
			o = group(f, i);&lt;br /&gt;
			if (o != &amp;quot;&amp;quot;)&lt;br /&gt;
				return o;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	return o;&lt;br /&gt;
 }&lt;br /&gt;
	&lt;br /&gt;
//Copy Paste the wiki into text file and then call this function, Creates a list of all the functions on the wiki&lt;br /&gt;
string[int] createFunctionListFromWikiPage(string textFile) {&lt;br /&gt;
	buffer file = file_to_buffer (textFile);&lt;br /&gt;
	string[int] wiki; //Wiki is list of functions on wiki while ash is functions from ashref&lt;br /&gt;
	string regex = &amp;quot;(?:Flink\\|[^\\|]+\\|)([\\w\\d]+)|(?:FunctionEmbed\\|)([\\w\\d]+)&amp;quot;;&lt;br /&gt;
	matcher finder = create_matcher(regex, file);&lt;br /&gt;
	int ct = 1;&lt;br /&gt;
	&lt;br /&gt;
	# print(file);&lt;br /&gt;
	while (find (finder)) {&lt;br /&gt;
		if (group(finder, 1) != &amp;quot;&amp;quot;)&lt;br /&gt;
			wiki[ct] = group(finder, 1);&lt;br /&gt;
		else&lt;br /&gt;
			wiki[ct] = group(finder, 2);&lt;br /&gt;
		ct = ct + 1;&lt;br /&gt;
	}&lt;br /&gt;
	# foreach i, func in wiki {print(func, &amp;quot;blue&amp;quot;);}&lt;br /&gt;
	return wiki;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Copy Paste the wiki into text file and then call this function, Creates a list of all the functions on the wiki&lt;br /&gt;
string createFunctionListFromWikiText (string test) {&lt;br /&gt;
	string wiki; //Wiki is functions on wiki &lt;br /&gt;
	string regex = &amp;quot;(?:Flink\\|[^\\|]+\\|)([\\w\\d]+)|(?:FunctionEmbed\\|)([\\w\\d]+)&amp;quot;;&lt;br /&gt;
	matcher finder = create_matcher(regex, test);&lt;br /&gt;
	while (find (finder)) {&lt;br /&gt;
		if (group(finder, 1) != &amp;quot;&amp;quot;)&lt;br /&gt;
			wiki = group(finder, 1);&lt;br /&gt;
		else&lt;br /&gt;
			wiki = group(finder, 2);&lt;br /&gt;
	}&lt;br /&gt;
	return wiki;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Turn debug on and run ashref. Turn debug off and copy paste the ashrefs from the debug file.&lt;br /&gt;
string[int] createFunctionListFromAshRef(string textFile) {	&lt;br /&gt;
	# Creating a list of wiki acceptable functions using the flink notation&lt;br /&gt;
	buffer file = file_to_buffer (textFile);&lt;br /&gt;
	matcher finder = create_matcher(&amp;quot;([\\w\\d]+)\\(&amp;quot;, file);&lt;br /&gt;
	int ct = 1;&lt;br /&gt;
	string[int] ashFuncs;&lt;br /&gt;
	while (find (finder)) {&lt;br /&gt;
		if (group(finder, 1) != &amp;quot;&amp;quot;)&lt;br /&gt;
			ashFuncs[ct] = group(finder, 1);&lt;br /&gt;
		else&lt;br /&gt;
			ashFuncs[ct] = group(finder, 2);&lt;br /&gt;
		ct = ct + 1;&lt;br /&gt;
	}&lt;br /&gt;
	# foreach i, func in ashFuncs {print(func, &amp;quot;blue&amp;quot;);}&lt;br /&gt;
	return ashFuncs;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Use function on ashref textfile (that has had its links replaced)&lt;br /&gt;
string[string] createWikiFlinkFunctions (string textFile){&lt;br /&gt;
	buffer file = file_to_buffer (textFile);&lt;br /&gt;
	string[string] ash; #Map will be key of flinkInfo, val of functionName&lt;br /&gt;
	string regex = &amp;quot;(\\[[^\\]]+\\])|([\\w\\[\\]]+)|([\\(\\)])&amp;quot;;&lt;br /&gt;
	matcher finder = create_matcher(regex, file);&lt;br /&gt;
	string temp = &amp;quot;{{Flink&amp;quot;;&lt;br /&gt;
	string text, capture;&lt;br /&gt;
	while (find (finder)) {&lt;br /&gt;
		text = group(finder);&lt;br /&gt;
		if(contains_text(text, &amp;quot;[&amp;quot;)) #Map parameters&lt;br /&gt;
			temp = temp + &amp;quot; &amp;quot; + text;&lt;br /&gt;
		else if (text == &amp;quot;)&amp;quot;) { #End of function&lt;br /&gt;
			temp = temp + &amp;quot;}}&amp;quot;;&lt;br /&gt;
			capture = regexCapture(&amp;quot;(?:Flink[^\\]]+(?=\\]))\\]\\|([\\w\\d]+)|(?:Flink\\|[^\\|]+\\|)([\\w\\d]+)&amp;quot;, temp);&lt;br /&gt;
			ash[temp] = capture;&lt;br /&gt;
			temp = &amp;quot;{{Flink&amp;quot;; #Prep for next function&lt;br /&gt;
		}&lt;br /&gt;
		else if (text == &amp;quot;(&amp;quot;) {} #Start of inputs&lt;br /&gt;
		else &lt;br /&gt;
			temp = temp + &amp;quot;|&amp;quot; + text; #everything else&lt;br /&gt;
		# foreach i, func in ash {print(func, &amp;quot;blue&amp;quot;);}&lt;br /&gt;
	}&lt;br /&gt;
	# foreach key, val in ash {print (&amp;quot;Key: &amp;quot; + key + &amp;quot;. Val: &amp;quot; + val);}&lt;br /&gt;
	# buffer_to_file(mapToBuffer(mapBufferFile (&amp;quot;WikiPageTest.txt&amp;quot;)), &amp;quot;WikiPageTest2.txt&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
	return ash;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
buffer regexBufferReplace (string regex, string newText, buffer text) {&lt;br /&gt;
	matcher m = create_matcher(regex, text);&lt;br /&gt;
	buffer b;&lt;br /&gt;
	while (m.find()) {&lt;br /&gt;
		append_replacement(m,b , newText);&lt;br /&gt;
	}&lt;br /&gt;
	return append_tail(m, b);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 void main() {&lt;br /&gt;
	print (&amp;quot;Starting to generate the new wiki page from the ashref function list!&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
	string wikiTextFile = &amp;quot;WikiPage.txt&amp;quot;;&lt;br /&gt;
	string ashRefFile = &amp;quot;AshRef Function List.txt&amp;quot;;&lt;br /&gt;
	string newWikiFile = &amp;quot;NewWikiPage.txt&amp;quot;;&lt;br /&gt;
	buffer newWiki, ashRefs, file;&lt;br /&gt;
	record wikiInfo { &lt;br /&gt;
		 string func;&lt;br /&gt;
		 string flink;&lt;br /&gt;
	};&lt;br /&gt;
	wikiInfo[int] wikiFunctions;&lt;br /&gt;
	string temp;&lt;br /&gt;
	string[int] wikiFuncs, wikiFile;&lt;br /&gt;
	boolean[string] ashFuncs;&lt;br /&gt;
	string[string] ashrefFlinkFuncs, completedFuncs;&lt;br /&gt;
	ashRefs = file_to_buffer(ashRefFile);&lt;br /&gt;
	if (contains_text (ashRefs, &amp;quot;&amp;lt;&amp;quot;)) { # Contains hyper links, remove them&lt;br /&gt;
		ashRefs = regexBufferReplace(&amp;quot;&amp;lt;[^\&amp;gt;]+&amp;gt;&amp;quot;, &amp;quot;&amp;quot;, ashRefs);&lt;br /&gt;
		buffer_to_file(ashRefs, ashRefFile);&lt;br /&gt;
	}&lt;br /&gt;
	ashrefFlinkFuncs = createWikiFlinkFunctions(ashRefFile);&lt;br /&gt;
	wikiFile = fileToMap (&amp;quot;WikiPage.txt&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
	# Comb the existing wiki to keep any of the already updated functions. I.e. functions that have FunctionEmbed, opt, /, or any &lt;br /&gt;
	foreach i, line in wikiFile {&lt;br /&gt;
		if (contains_text(line, &amp;quot;FunctionEmbed&amp;quot;) || contains_text(line, &amp;quot;{{opt&amp;quot;) || contains_text(line, &amp;quot;/&amp;quot;) || contains_text(line, &amp;quot;any&amp;quot;)) { #Remove existing entries that have been completed&lt;br /&gt;
			temp = createFunctionListFromWikiText(line);&lt;br /&gt;
			foreach key, func in ashrefFlinkFuncs {		#Also skipping any {{opt functions as I don&#039;t know that info so better to not mess with&lt;br /&gt;
				if(temp == func) {&lt;br /&gt;
					remove ashrefFlinkFuncs[key]; #Remove the current iteration&lt;br /&gt;
					completedFuncs[line] = func; #Replace it with the embed or opt&lt;br /&gt;
					ashFuncs[func] = true;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	# Make sure we didn&#039;t skip/miss any functions that had multiple entries but with different input parameters&lt;br /&gt;
	foreach i, line in wikiFile {&lt;br /&gt;
		temp = createFunctionListFromWikiText(line);&lt;br /&gt;
		if (ashFuncs[temp]) &lt;br /&gt;
			completedFuncs[line] = temp;&lt;br /&gt;
	}&lt;br /&gt;
		&lt;br /&gt;
	# Add the remainning new functions to the completed list&lt;br /&gt;
	foreach key, func in ashrefFlinkFuncs {completedFuncs[key] = func;}&lt;br /&gt;
	&lt;br /&gt;
	# Set the completed list to the new record for ease of sorting&lt;br /&gt;
	foreach k, v in completedFuncs { &lt;br /&gt;
		wikiFunctions[count(wikiFunctions)] = new wikiInfo(v, k);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	# Sort the record by alphabetical&lt;br /&gt;
	sort wikiFunctions by value.flink;	&lt;br /&gt;
	sort wikiFunctions by value.func;&lt;br /&gt;
	&lt;br /&gt;
	# foreach k, v in wikiFunctions { print (&amp;quot;Key: &amp;quot; + v.flink + &amp;quot;. Val: &amp;quot; + v.func);}&lt;br /&gt;
	&lt;br /&gt;
	# Copy text from wikiFile until &amp;quot;===&amp;quot;&lt;br /&gt;
	foreach i, line in wikiFile {&lt;br /&gt;
		if (contains_text(line, &amp;quot;===&amp;quot;))&lt;br /&gt;
			break;&lt;br /&gt;
		else &lt;br /&gt;
			append(newWiki, line);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	# Start adding our alphabetical designations&lt;br /&gt;
	append(newWiki, &amp;quot;===a===&amp;quot;);&lt;br /&gt;
	string alpha = &amp;quot;a&amp;quot;;&lt;br /&gt;
	string wikiText;&lt;br /&gt;
	&lt;br /&gt;
	# Now loop through our wikiFunctions, building the new wiki page&lt;br /&gt;
	foreach k, v in wikiFunctions {&lt;br /&gt;
		append(newWiki, &amp;quot;\n&amp;quot;);&lt;br /&gt;
		temp = substring(v.func, 0, 1);&lt;br /&gt;
		wikiText = regexCapture(&amp;quot;([^\\n]+)&amp;quot;, v.flink);&lt;br /&gt;
		if (temp == alpha)&lt;br /&gt;
			append(newWiki, wikiText);&lt;br /&gt;
		else {&lt;br /&gt;
			append(newWiki, &amp;quot;\n&amp;quot;);&lt;br /&gt;
			append(newWiki, &amp;quot;===&amp;quot; + temp + &amp;quot;===\n&amp;quot;);&lt;br /&gt;
			append(newWiki, wikiText);&lt;br /&gt;
			alpha = temp;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	#Tack on the existing wiki page ending, everything after the last function&lt;br /&gt;
	int ct = count(wikiFile);&lt;br /&gt;
	while (!contains_text(wikiFile[ct], &amp;quot;{{&amp;quot;)) {&lt;br /&gt;
		ct = ct - 1;&lt;br /&gt;
	}&lt;br /&gt;
	ct = ct + 1;&lt;br /&gt;
	for i from ct to count(wikiFile){&lt;br /&gt;
		append(newWiki, wikiFile[i]);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	#Replace any &amp;quot;null&amp;quot; with type of &amp;quot;any&amp;quot;&lt;br /&gt;
	newWiki = regexBufferReplace(&amp;quot;\\|null&amp;quot;, &amp;quot;|any&amp;quot;, newWiki);&lt;br /&gt;
	&lt;br /&gt;
	#Write the newWiki&lt;br /&gt;
	buffer_to_file(newWiki, newWikiFile);&lt;br /&gt;
	print (&amp;quot;Ended. The new wiki page can be found in: &amp;quot; + newWikiFile, &amp;quot;green&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. Sanity Check &amp;amp; Committing ==&lt;br /&gt;
&lt;br /&gt;
* Open the text file &amp;quot;NewWikiPage.txt&amp;quot; found in the KoLMafia folder.&lt;br /&gt;
* Copy paste it into a diff checker (I use https://www.diffchecker.com/)&lt;br /&gt;
* Copy paste the text from the &amp;quot;WikiPage.txt&amp;quot; as the original and the &amp;quot;NewWikiPage.txt&amp;quot; as the new.&lt;br /&gt;
* Review results to make sure it didn&#039;t go crazy.&lt;br /&gt;
* Commit the updated function page to the wiki once everything looks good. &lt;br /&gt;
* Remember to change the revision number to the kolmafia number you used!&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Ash_Functions&amp;diff=9216</id>
		<title>Ash Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Ash_Functions&amp;diff=9216"/>
		<updated>2023-04-27T07:52:25Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Added all functions for r27333. Fixed some syntax. Removed some old functions.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
Master list of all ASH functions. All functions as of r27333 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;
The CLI command &amp;quot;[[ashref]]&amp;quot; shows every implemented ash function for your mafia version.&lt;br /&gt;
&lt;br /&gt;
===a===&lt;br /&gt;
{{FunctionEmbed|abort|format=signature}}&lt;br /&gt;
{{Flink|boolean [monster]|absorbed_monsters}}&lt;br /&gt;
{{FunctionEmbed|add_item_condition|format=signature}}&lt;br /&gt;
{{Flink|boolean|adv1|location|{{opt|int}}|{{opt|string}}}}&lt;br /&gt;
{{Flink|int|adv_cost|skill}}&lt;br /&gt;
{{Flink|boolean|adventure|int|location|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|adventure|location|int|{{opt|string}}}}&lt;br /&gt;
{{FunctionEmbed|all_monsters_with_id|format=signature}}&lt;br /&gt;
{{Flink|string [0]|all_normal_outfits}}&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|boolean|autosell|item|int}}&lt;br /&gt;
{{Flink|int|autosell_price|item}}&lt;br /&gt;
{{Flink|int|available_amount|item}}&lt;br /&gt;
{{FunctionEmbed|available_choice_options}}&lt;br /&gt;
{{FunctionEmbed|available_choice_select_inputs}}&lt;br /&gt;
{{Flink|string [string]|available_choice_text_inputs|int}}&lt;br /&gt;
{{Flink|int|available_pocket|effect}}&lt;br /&gt;
{{Flink|int|available_pocket|item}}&lt;br /&gt;
{{Flink|int|available_pocket|monster}}&lt;br /&gt;
{{Flink|int|available_pocket|stat}}&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|bjornify_familiar|familiar}}&lt;br /&gt;
{{Flink|boolean|black_market_available}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|effect|string}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|item|string}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|{{opt|string}}|string}}&lt;br /&gt;
{{Flink|int|buffed_hit_stat}}&lt;br /&gt;
{{FunctionEmbed|buffer_to_file|format=signature}}&lt;br /&gt;
{{Flink|boolean|buy|coinmaster|item}}&lt;br /&gt;
{{Flink|boolean|buy|item|{{opt|int}}|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|buy|{{opt|coinmaster}}|int|item}}&lt;br /&gt;
{{Flink|int|buy|int|item|int}}&lt;br /&gt;
{{Flink|int|buy_price|coinmaster|item}}&lt;br /&gt;
{{Flink|boolean|buy_using_storage|int|item}}&lt;br /&gt;
{{Flink|boolean|buy_using_storage|item|int}}&lt;br /&gt;
{{Flink|boolean|buy_using_storage|item}}&lt;br /&gt;
{{Flink|int|buy_using_storage|int|item|int}}&lt;br /&gt;
{{Flink|int|buy_using_storage|item|int|int}}&lt;br /&gt;
{{Flink|boolean|buys_item|coinmaster|item}}&lt;br /&gt;
&lt;br /&gt;
===c===&lt;br /&gt;
{{Flink|boolean|can_adventure|location}}&lt;br /&gt;
{{Flink|boolean|can_drink}}&lt;br /&gt;
{{Flink|boolean|can_eat}}&lt;br /&gt;
{{Flink|boolean|can_equip|familiar|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|can_equip|item}}&lt;br /&gt;
{{Flink|boolean|can_faxbot|monster}}&lt;br /&gt;
{{Flink|boolean|can_interact}}&lt;br /&gt;
{{Flink|boolean|can_still_steal}}&lt;br /&gt;
{{Flink|boolean|canadia_available}}&lt;br /&gt;
{{Flink|item [0]|candy_for_tier|int|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|ceil|float}}&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|boolean|chew|int|item}}&lt;br /&gt;
{{Flink|boolean|chew|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|choice_follows_fight}}&lt;br /&gt;
{{Flink|class|class_modifier|item|string}}&lt;br /&gt;
{{Flink|class|class_modifier|string|string}}&lt;br /&gt;
{{Flink|void|clear|aggregate}}&lt;br /&gt;
{{FunctionEmbed|clear_booze_helper|format=signature}}&lt;br /&gt;
{{FunctionEmbed|clear_food_helper|format=signature}}&lt;br /&gt;
{{FunctionEmbed|cli_execute|format=signature}}&lt;br /&gt;
{{FunctionEmbed|cli_execute_output|format=signature}}&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|combat_skill_available|skill}}&lt;br /&gt;
{{Flink|int|concoction_price|item}}&lt;br /&gt;
{{Flink|int|concoction_price|vykea}}&lt;br /&gt;
{{FunctionEmbed|contains_text|format=signature}}&lt;br /&gt;
{{Flink|void|council}}&lt;br /&gt;
{{Flink|int|count|aggregate}}&lt;br /&gt;
{{Flink|int|craft|string|int|item|item}}&lt;br /&gt;
{{Flink|string|craft_type|item}}&lt;br /&gt;
{{Flink|int|creatable_amount|item}}&lt;br /&gt;
{{Flink|int|creatable_turns|item|{{opt|int}}|{{opt|boolean}}}}&lt;br /&gt;
{{Flink|boolean|create|int|item}}&lt;br /&gt;
{{Flink|boolean|create|item|{{opt|int}}}}&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;
{{Flink|int [string]|current_pvp_stances}}&lt;br /&gt;
{{Flink|int|current_rad_sickness}}&lt;br /&gt;
{{Flink|int|current_round}}&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|int|date_to_timestamp|string|string}}&lt;br /&gt;
{{Flink|int|daycount}}&lt;br /&gt;
{{Flink|void|debugprint|string}}&lt;br /&gt;
{{Flink|buffer|delete|buffer|int|int}}&lt;br /&gt;
{{Flink|effect|desc_to_effect|string}}&lt;br /&gt;
{{Flink|item|desc_to_item|string}}&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;
{{FunctionEmbed|drink|format=signature}}&lt;br /&gt;
{{Flink|boolean|drinksilent|int|item}}&lt;br /&gt;
{{Flink|boolean|drinksilent|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|void|dump|any|{{opt|string}}}}&lt;br /&gt;
&lt;br /&gt;
===e===&lt;br /&gt;
{{FunctionEmbed|eat|format=signature}}&lt;br /&gt;
{{Flink|boolean|eatsilent|int|item}}&lt;br /&gt;
{{Flink|boolean|eatsilent|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|effect|effect_modifier|item|string}}&lt;br /&gt;
{{Flink|effect|effect_modifier|string|string}}&lt;br /&gt;
{{Flink|boolean [int]|effect_pockets}}&lt;br /&gt;
{{Flink|int|eight_bit_points|location|string|float}}&lt;br /&gt;
{{Flink|int|eight_bit_points|location}}&lt;br /&gt;
{{Flink|float|elemental_resistance|monster}}&lt;br /&gt;
{{Flink|float|elemental_resistance|{{opt|element}}}}&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;
{{FunctionEmbed|ends_with|format=signature}}&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|equip|item|{{opt|slot}}}}&lt;br /&gt;
{{Flink|boolean|equip|slot|item}}&lt;br /&gt;
{{Flink|boolean|equip_all_familiars}}&lt;br /&gt;
{{Flink|int|equipped_amount|item|boolean}}&lt;br /&gt;
{{Flink|int|equipped_amount|item}}&lt;br /&gt;
{{Flink|item|equipped_item|slot}}&lt;br /&gt;
{{Flink|boolean|eudora|string}}&lt;br /&gt;
{{Flink|string|eudora}}&lt;br /&gt;
{{Flink|item|eudora_item}}&lt;br /&gt;
{{Flink|string|every_card_name|strict_string}}&lt;br /&gt;
{{Flink|item [string]|expected_cold_medicine_cabinet}}&lt;br /&gt;
{{Flink|int|expected_damage|{{opt|monster}}}}&lt;br /&gt;
{{Flink|float|experience_bonus}}&lt;br /&gt;
{{Flink|float|expression_eval|string}}&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 [familiar]|favorite_familiars}}&lt;br /&gt;
{{Flink|boolean|faxbot|monster|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|fight_follows_choice}}&lt;br /&gt;
{{FunctionEmbed|file_to_array|format=signature}}&lt;br /&gt;
{{FunctionEmbed|file_to_buffer|format=signature}}&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|boolean|florist_available}}&lt;br /&gt;
{{Flink|boolean|flush_monster_manuel_cache}}&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|fuel_cost|skill}}&lt;br /&gt;
{{Flink|int|fullness_limit}}&lt;br /&gt;
&lt;br /&gt;
===g===&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|boolean [string]|get_all_properties|string|boolean}}&lt;br /&gt;
{{Flink|int|get_auto_attack}}&lt;br /&gt;
{{Flink|location [0]|get_autumnaton_locations}}&lt;br /&gt;
{{Flink|int [item]|get_campground}}&lt;br /&gt;
{{Flink|string|get_ccs_action|int}}&lt;br /&gt;
{{Flink|int [item]|get_chateau}}&lt;br /&gt;
{{Flink|int|get_clan_id}}&lt;br /&gt;
{{Flink|int [item]|get_clan_lounge}}&lt;br /&gt;
{{Flink|string|get_clan_name}}&lt;br /&gt;
{{Flink|int [string]|get_clan_rumpus}}&lt;br /&gt;
{{Flink|int [item]|get_closet}}&lt;br /&gt;
{{Flink|int|get_counter|string}}&lt;br /&gt;
{{Flink|string|get_counters|string|int|int}}&lt;br /&gt;
{{Flink|string [0]|get_custom_outfits}}&lt;br /&gt;
{{Flink|int [item]|get_display}}&lt;br /&gt;
{{Flink|item|get_dwelling}}&lt;br /&gt;
{{Flink|location [string]|get_fishing_locations}}&lt;br /&gt;
{{Flink|string [location, 3]|get_florist_plants}}&lt;br /&gt;
{{Flink|int [item]|get_free_pulls}}&lt;br /&gt;
{{Flink|int|get_fuel}}&lt;br /&gt;
{{Flink|string [0]|get_goals}}&lt;br /&gt;
{{Flink|boolean|get_ignore_zone_warnings}}&lt;br /&gt;
{{Flink|int [item]|get_ingredients|item}}&lt;br /&gt;
{{Flink|int [item]|get_inventory}}&lt;br /&gt;
{{Flink|boolean [monster]|get_location_monsters|location}}&lt;br /&gt;
{{Flink|boolean [monster]|get_locket_monsters}}&lt;br /&gt;
{{Flink|monster [monster]|get_monster_mapping|{{opt|string}}}}&lt;br /&gt;
{{Flink|monster [0]|get_monsters|location}}&lt;br /&gt;
{{Flink|string [0]|get_moods}}&lt;br /&gt;
{{Flink|string [0]|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|boolean [skill]|get_permed_skills}}&lt;br /&gt;
{{Flink|string|get_player_id|string}}&lt;br /&gt;
{{Flink|string|get_player_name|int}}&lt;br /&gt;
{{Flink|int|get_power|item}}&lt;br /&gt;
{{Flink|string|get_property|string|{{opt|boolean}}}}&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 [0]|get_shop_log}}&lt;br /&gt;
{{Flink|string|file|string|name|int|line [0]|get_stack_trace}}&lt;br /&gt;
{{Flink|int [item]|get_stash}}&lt;br /&gt;
{{Flink|int [item]|get_storage}}&lt;br /&gt;
{{Flink|string|get_version}}&lt;br /&gt;
{{Flink|item|get_workshed}}&lt;br /&gt;
{{Flink|item|get_zap_wand}}&lt;br /&gt;
{{Flink|boolean|git_at_head|string}}&lt;br /&gt;
{{Flink|boolean|git_exists|string}}&lt;br /&gt;
{{Flink|string [0]|git_list}}&lt;br /&gt;
{{Flink|boolean|gnomads_available}}&lt;br /&gt;
{{Flink|boolean|goal_exists|string}}&lt;br /&gt;
{{Flink|string|group|matcher|string}}&lt;br /&gt;
{{Flink|string|group|matcher|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|group_count|matcher}}&lt;br /&gt;
{{Flink|boolean [string]|group_names|matcher}}&lt;br /&gt;
{{Flink|string [int, int]|group_string|string|string}}&lt;br /&gt;
{{Flink|boolean|guild_available}}&lt;br /&gt;
{{Flink|boolean|guild_store_available}}&lt;br /&gt;
&lt;br /&gt;
===h===&lt;br /&gt;
{{Flink|boolean|handling_choice}}&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_servant|servant}}&lt;br /&gt;
{{Flink|boolean|have_shop}}&lt;br /&gt;
{{Flink|boolean|have_skill|skill}}&lt;br /&gt;
{{Flink|boolean|hedge_maze|string}}&lt;br /&gt;
{{Flink|boolean|heist|int|item}}&lt;br /&gt;
{{Flink|boolean|heist|item}}&lt;br /&gt;
{{Flink|item [monster, int]|heist_targets}}&lt;br /&gt;
{{Flink|boolean|hermit|int|item}}&lt;br /&gt;
{{Flink|boolean|hermit|item|int}}&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;
{{FunctionEmbed|historical_age}}&lt;br /&gt;
{{FunctionEmbed|historical_price}}&lt;br /&gt;
{{Flink|string|holiday}}&lt;br /&gt;
{{Flink|int|hp_cost|skill}}&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_casual}}&lt;br /&gt;
{{Flink|boolean|in_hardcore}}&lt;br /&gt;
{{Flink|boolean|in_moxie_sign}}&lt;br /&gt;
{{Flink|boolean|in_multi_fight}}&lt;br /&gt;
{{Flink|boolean|in_muscle_sign}}&lt;br /&gt;
{{Flink|boolean|in_mysticality_sign}}&lt;br /&gt;
{{Flink|boolean|in_terrarium|familiar}}&lt;br /&gt;
{{Flink|string|inaccessible_reason|coinmaster}}&lt;br /&gt;
{{FunctionEmbed|index_of|format=signature}}&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_banished|monster}}&lt;br /&gt;
{{Flink|boolean|is_coinmaster_item|item}}&lt;br /&gt;
{{FunctionEmbed|is_dark_mode}}&lt;br /&gt;
{{Flink|boolean|is_discardable|item}}&lt;br /&gt;
{{Flink|boolean|is_displayable|item}}&lt;br /&gt;
{{Flink|boolean|is_familiar_equipment_locked}}&lt;br /&gt;
{{Flink|boolean|is_giftable|item}}&lt;br /&gt;
{{Flink|boolean|is_goal|item}}&lt;br /&gt;
{{Flink|boolean|is_headless}}&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|item/familiar/skill/string}}&lt;br /&gt;
{{Flink|boolean|is_unrestricted|item/familiar/skill/string}}&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|item int string [int]|item_drops_array|{{opt|monster}}}}&lt;br /&gt;
{{Flink|boolean [int]|item_pockets}}&lt;br /&gt;
{{Flink|string|item_type|item}}&lt;br /&gt;
&lt;br /&gt;
===j===&lt;br /&gt;
{{Flink|boolean [int]|joke_pockets}}&lt;br /&gt;
{{Flink|int|jump_chance|location|{{opt|int}}|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|jump_chance|{{opt|monster}}|{{opt|int}}|{{opt|int}}}}&lt;br /&gt;
&lt;br /&gt;
===k===&lt;br /&gt;
{{Flink|boolean|knoll_available}}&lt;br /&gt;
&lt;br /&gt;
===l===&lt;br /&gt;
{{Flink|int|last_choice}}&lt;br /&gt;
{{Flink|int|last_decision}}&lt;br /&gt;
{{FunctionEmbed|last_index_of|format=signature}}&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|string|leetify|string}}&lt;br /&gt;
{{Flink|int|length|string}}&lt;br /&gt;
{{Flink|int|lightning_cost|skill}}&lt;br /&gt;
{{Flink|string|limit_mode}}&lt;br /&gt;
{{Flink|buffer|load_html|string}}&lt;br /&gt;
{{Flink|void|lock_familiar_equipment|boolean}}&lt;br /&gt;
{{Flink|float|log_n|float|{{opt|float}}}}&lt;br /&gt;
{{Flink|void|logprint|string}}&lt;br /&gt;
&lt;br /&gt;
===m===&lt;br /&gt;
{{Flink|string|make_url|string|boolean|boolean}}&lt;br /&gt;
{{FunctionEmbed|mall_price}}&lt;br /&gt;
{{FunctionEmbed|mall_prices}}&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|string|display|string|command|float|score|effect|effect|item|item|skill|skill [0]|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|int [int]|meat_pockets}}&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|float|modifier_eval|string}}&lt;br /&gt;
{{Flink|boolean|monkey_paw|effect}}&lt;br /&gt;
{{Flink|boolean|monkey_paw|item}}&lt;br /&gt;
{{Flink|boolean|monkey_paw|string}}&lt;br /&gt;
{{Flink|int|monster_attack|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_defense|{{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_factoids_available|monster|boolean}}&lt;br /&gt;
{{Flink|int|monster_hp|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_initiative|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_level_adjustment}}&lt;br /&gt;
{{Flink|string|monster_manuel_text|monster}}&lt;br /&gt;
{{Flink|monster|monster_modifier|effect|string}}&lt;br /&gt;
{{Flink|phylum|monster_phylum|{{opt|monster}}}}&lt;br /&gt;
{{Flink|boolean [int]|monster_pockets}}&lt;br /&gt;
{{Flink|void|mood_execute|int}}&lt;br /&gt;
{{Flink|string [0]|mood_list}}&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_absorbs}}&lt;br /&gt;
{{Flink|int|my_adventures}}&lt;br /&gt;
{{Flink|int|my_ascensions}}&lt;br /&gt;
{{Flink|int|my_audience}}&lt;br /&gt;
{{Flink|int|my_basestat|stat}}&lt;br /&gt;
{{Flink|familiar|my_bjorned_familiar}}&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_garden_type}}&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|int|my_lightning}}&lt;br /&gt;
{{Flink|location|my_location}}&lt;br /&gt;
{{Flink|string|my_mask}}&lt;br /&gt;
{{Flink|int|my_maxfury}}&lt;br /&gt;
{{Flink|int|my_maxhp}}&lt;br /&gt;
{{Flink|int|my_maxmp}}&lt;br /&gt;
{{Flink|int|my_maxpp}}&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|path|my_path}}&lt;br /&gt;
{{Flink|int|my_path_id}}&lt;br /&gt;
{{Flink|familiar|my_poke_fam|int}}&lt;br /&gt;
{{Flink|int|my_pp}}&lt;br /&gt;
{{Flink|stat|my_primestat}}&lt;br /&gt;
{{Flink|int|my_rain}}&lt;br /&gt;
{{Flink|int|my_robot_energy}}&lt;br /&gt;
{{Flink|int|my_robot_scraps}}&lt;br /&gt;
{{Flink|servant|my_servant}}&lt;br /&gt;
{{Flink|int|my_session_adv}}&lt;br /&gt;
{{Flink|int [item]|my_session_items}}&lt;br /&gt;
{{Flink|int|my_session_items|item}}&lt;br /&gt;
{{Flink|int|my_session_meat}}&lt;br /&gt;
{{Flink|int [string]|my_session_results}}&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|thrall|my_thrall}}&lt;br /&gt;
{{Flink|int|my_thunder}}&lt;br /&gt;
{{Flink|int|my_turncount}}&lt;br /&gt;
{{Flink|vykea|my_vykea_companion}}&lt;br /&gt;
{{Flink|int|my_wildfire_water}}&lt;br /&gt;
&lt;br /&gt;
===n===&lt;br /&gt;
{{Flink|int|now_to_int}}&lt;br /&gt;
{{Flink|string|now_to_string|string}}&lt;br /&gt;
{{Flink|int|npc_price|item}}&lt;br /&gt;
{{Flink|string|numberology_prize|int}}&lt;br /&gt;
{{Flink|float|numeric_modifier|effect|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|familiar|string|int|item}}&lt;br /&gt;
{{Flink|float|numeric_modifier|item|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|skill|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|{{opt|string}}|string}}&lt;br /&gt;
&lt;br /&gt;
===o===&lt;br /&gt;
{{Flink|boolean|outfit|string}}&lt;br /&gt;
{{Flink|item [0]|outfit_pieces|string}}&lt;br /&gt;
{{Flink|string|outfit_tattoo|{{opt|string}}}}&lt;br /&gt;
{{Flink|float [item]|outfit_treats|string}}&lt;br /&gt;
{{FunctionEmbed|overdrink|format=signature}}&lt;br /&gt;
&lt;br /&gt;
===p===&lt;br /&gt;
{{Flink|string|path_id_to_name|int}}&lt;br /&gt;
{{Flink|int|path_name_to_id|string}}&lt;br /&gt;
{{Flink|boolean|pick_pocket|int}}&lt;br /&gt;
{{Flink|boolean|pick_pocket|monster}}&lt;br /&gt;
{{Flink|int [effect]|pick_pocket|effect}}&lt;br /&gt;
{{Flink|int [item]|pick_pocket|item}}&lt;br /&gt;
{{Flink|int [stat]|pick_pocket|stat}}&lt;br /&gt;
{{Flink|boolean [int]|picked_pockets}}&lt;br /&gt;
{{Flink|boolean [int]|picked_scraps}}&lt;br /&gt;
{{Flink|int [effect]|pocket_effects|int}}&lt;br /&gt;
{{Flink|int [item]|pocket_items|int}}&lt;br /&gt;
{{Flink|string|pocket_joke|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_meat|int}}&lt;br /&gt;
{{Flink|monster|pocket_monster|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_poem|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_scrap|int}}&lt;br /&gt;
{{Flink|int [stat]|pocket_stats|int}}&lt;br /&gt;
{{Flink|int [int]|poem_pockets}}&lt;br /&gt;
{{Flink|int [int]|potential_pockets|effect/item/monster/stat}}&lt;br /&gt;
{{Flink|boolean|pre_validate_adventure|location}}&lt;br /&gt;
{{Flink|boolean|prepare_for_adventure|location}}&lt;br /&gt;
{{Flink|void|print|{{opt|string}}|{{opt|string}}}}&lt;br /&gt;
{{Flink|void|print_html|string|boolean}}&lt;br /&gt;
{{Flink|void|print_html|string}}&lt;br /&gt;
{{FunctionEmbed|property_default_value|format=signature}}&lt;br /&gt;
{{FunctionEmbed|property_exists|format=signature}}&lt;br /&gt;
{{FunctionEmbed|property_has_default|format=signature}}&lt;br /&gt;
{{Flink|int|pulls_remaining}}&lt;br /&gt;
{{Flink|boolean|put_closet|int|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|put_closet|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|put_display|int|item}}&lt;br /&gt;
{{Flink|boolean|put_display|item|int}}&lt;br /&gt;
{{Flink|boolean|put_shop|int|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|boolean|put_shop_using_storage|int|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|boolean|put_stash|int|item}}&lt;br /&gt;
{{Flink|boolean|put_stash|item|int}}&lt;br /&gt;
{{Flink|int|pvp_attacks_left}}&lt;br /&gt;
&lt;br /&gt;
===r===&lt;br /&gt;
{{Flink|int|rain_cost|skill}}&lt;br /&gt;
{{Flink|int|random|int}}&lt;br /&gt;
{{Flink|int|raw_damage_absorption}}&lt;br /&gt;
{{Flink|buffer|read_ccs|string}}&lt;br /&gt;
{{Flink|void|receive_fax}}&lt;br /&gt;
{{Flink|boolean|refresh_shop}}&lt;br /&gt;
{{Flink|boolean|refresh_stash}}&lt;br /&gt;
{{Flink|boolean|refresh_status}}&lt;br /&gt;
{{Flink|void|remove_item_condition|int|item}}&lt;br /&gt;
{{Flink|void|remove_item_condition|item|int}}&lt;br /&gt;
{{FunctionEmbed|remove_property|format=signature}}&lt;br /&gt;
{{FunctionEmbed|rename_property|format=signature}}&lt;br /&gt;
{{Flink|buffer|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|boolean|reprice_shop|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|matcher|reset|matcher|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean [int]|restoration_pockets}}&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|boolean|retrieve_item|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|retrieve_price|int|item|boolean}}&lt;br /&gt;
{{Flink|int|retrieve_price|int|item}}&lt;br /&gt;
{{Flink|int|retrieve_price|item|int|boolean}}&lt;br /&gt;
{{Flink|int|retrieve_price|item|int}}&lt;br /&gt;
{{Flink|int|retrieve_price|item}}&lt;br /&gt;
{{Flink|int [int]|reverse_numberology|{{opt|int|int}}}}&lt;br /&gt;
{{Flink|int|rollover}}&lt;br /&gt;
{{Flink|int|round|float}}&lt;br /&gt;
{{FunctionEmbed|run_choice|format=signature}}&lt;br /&gt;
{{Flink|buffer|run_combat|{{opt|string}}}}&lt;br /&gt;
{{Flink|buffer|run_turn}}&lt;br /&gt;
{{Flink|buffer|runaway}}&lt;br /&gt;
&lt;br /&gt;
===s===&lt;br /&gt;
{{Flink|int [int]|scrap_pockets}}&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|void|send_fax}}&lt;br /&gt;
{{Flink|string [int]|session_logs|{{opt|string}}|{{opt|string}}|int}}&lt;br /&gt;
{{Flink|void|set_auto_attack|int/string}}&lt;br /&gt;
{{Flink|boolean|set_ccs|string}}&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_limit|item}}&lt;br /&gt;
{{Flink|int|shop_price|item}}&lt;br /&gt;
{{Flink|skill|skill_modifier|item|string}}&lt;br /&gt;
{{Flink|skill|skill_modifier|string|string}}&lt;br /&gt;
{{Flink|int|slash_count|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;
{{FunctionEmbed|starts_with|format=signature}}&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|boolean [int]|stats_pockets}}&lt;br /&gt;
{{Flink|buffer|steal}}&lt;br /&gt;
{{Flink|int|stills_available}}&lt;br /&gt;
{{Flink|void|stop_counter|string}}&lt;br /&gt;
{{Flink|int|storage_amount|item}}&lt;br /&gt;
{{Flink|string|string_modifier|{{opt|string}}|string}}&lt;br /&gt;
{{Flink|skill|stun_skill}}&lt;br /&gt;
{{Flink|string|substring|string|int|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|svn_at_head|string}}&lt;br /&gt;
{{Flink|boolean|svn_exists|string}}&lt;br /&gt;
{{Flink|string [0]|svn_list}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|effect|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|int|effect|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|{{opt|int}}|item|item}}&lt;br /&gt;
{{Flink|item [0]|sweet_synthesis_pair|effect|{{opt|item}}|{{opt|int}}}}&lt;br /&gt;
{{Flink|item [0]|sweet_synthesis_pairing|effect|item|int}}&lt;br /&gt;
{{Flink|item [0]|sweet_synthesis_pairing|effect|item}}&lt;br /&gt;
{{Flink|effect|sweet_synthesis_result|item|item}}&lt;br /&gt;
&lt;br /&gt;
===t===&lt;br /&gt;
{{Flink|boolean|take_closet|int|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|take_closet|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|take_display|int|item}}&lt;br /&gt;
{{Flink|boolean|take_display|item|int}}&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_stash|item|int}}&lt;br /&gt;
{{Flink|boolean|take_storage|int|item}}&lt;br /&gt;
{{Flink|boolean|take_storage|item|int}}&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|int|thunder_cost|skill}}&lt;br /&gt;
{{Flink|string|time_to_string}}&lt;br /&gt;
{{Flink|string|timestamp_to_date|int|string}}&lt;br /&gt;
{{Flink|boolean|to_boolean|any}}&lt;br /&gt;
{{Flink|bounty|to_bounty|strict_string}}&lt;br /&gt;
{{Flink|class|to_class|strict_string/int}}&lt;br /&gt;
{{Flink|coinmaster|to_coinmaster|strict_string}}&lt;br /&gt;
{{Flink|effect|to_effect|int/skill/strict_string}}&lt;br /&gt;
{{Flink|element|to_element|strict_string}}&lt;br /&gt;
{{Flink|familiar|to_familiar|int/strict_string}}&lt;br /&gt;
{{Flink|float|to_float|any}}&lt;br /&gt;
{{Flink|int|to_int|any}}&lt;br /&gt;
{{Flink|item|to_item|int/strict_string}}&lt;br /&gt;
{{Flink|item|to_item|string|int}}&lt;br /&gt;
{{Flink|string|to_json|aggregate}}&lt;br /&gt;
{{Flink|location|to_location|int/strict_string}}&lt;br /&gt;
{{Flink|string|to_lower_case|string}}&lt;br /&gt;
{{Flink|monster|to_monster|int/strict_string}}&lt;br /&gt;
{{Flink|path|to_path|int}}&lt;br /&gt;
{{Flink|path|to_path|strict_string}}&lt;br /&gt;
{{Flink|phylum|to_phylum|strict_string}}&lt;br /&gt;
{{Flink|string|to_plural|item}}&lt;br /&gt;
{{Flink|servant|to_servant|int/strict_string}}&lt;br /&gt;
{{Flink|skill|to_skill|effect/int}}&lt;br /&gt;
{{Flink|skill|to_skill|strict_string|{{opt|strict_string}}}}&lt;br /&gt;
{{Flink|slot|to_slot|item/strict_string}}&lt;br /&gt;
{{Flink|stat|to_stat|strict_string}}&lt;br /&gt;
{{Flink|string|to_string|any}}&lt;br /&gt;
{{Flink|thrall|to_thrall|int/strict_string}}&lt;br /&gt;
{{Flink|string|to_upper_case|string}}&lt;br /&gt;
{{Flink|string|to_url|location}}&lt;br /&gt;
{{Flink|vykea|to_vykea|strict_string}}&lt;br /&gt;
{{Flink|string|to_wiki_url|effect}}&lt;br /&gt;
{{Flink|string|to_wiki_url|item}}&lt;br /&gt;
{{Flink|string|to_wiki_url|monster}}&lt;br /&gt;
{{Flink|string|to_wiki_url|skill}}&lt;br /&gt;
{{Flink|string|to_wiki_url|string}}&lt;br /&gt;
{{Flink|string|today_to_string}}&lt;br /&gt;
{{Flink|int|total_free_rests}}&lt;br /&gt;
{{Flink|int|total_turns_played}}&lt;br /&gt;
{{Flink|boolean|tower_door}}&lt;br /&gt;
{{Flink|void|traceprint|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;
{{Flink|buffer|twiddle}}&lt;br /&gt;
&lt;br /&gt;
===u===&lt;br /&gt;
{{Flink|item|unusual_construct_disc}}&lt;br /&gt;
{{Flink|void|update_candy_prices}}&lt;br /&gt;
{{Flink|string|url|int|revision|string|last_changed_author|int|last_changed_rev|string|last_changed_date|svn_info|string}}&lt;br /&gt;
{{Flink|string|url|string|branch|string|commit|string|last_changed_author|string|last_changed_date|git_info|string}}&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|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|use_familiar|familiar}}&lt;br /&gt;
{{Flink|boolean|use_servant|servant}}&lt;br /&gt;
{{Flink|boolean|use_skill|int|skill|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|use_skill|skill|int|{{opt|string}}}}&lt;br /&gt;
{{Flink|buffer|use_skill|skill}}&lt;br /&gt;
{{Flink|boolean|user_confirm|string|int|boolean}}&lt;br /&gt;
{{Flink|boolean|user_confirm|string}}&lt;br /&gt;
{{Flink|void|user_notify|string|boolean}}&lt;br /&gt;
{{Flink|void|user_notify|string}}&lt;br /&gt;
{{Flink|string|user_prompt|string|aggregate}}&lt;br /&gt;
{{Flink|string|user_prompt|string|int|string}}&lt;br /&gt;
{{Flink|string|user_prompt|string}}&lt;br /&gt;
&lt;br /&gt;
===v===&lt;br /&gt;
{{Flink|boolean|visit|coinmaster}}&lt;br /&gt;
{{FunctionEmbed|visit_url}}&lt;br /&gt;
{{Flink|boolean [string]|voting_booth_initiatives|class|path|int}}&lt;br /&gt;
{{Flink|boolean [string]|voting_booth_initiatives|int|int|int}}&lt;br /&gt;
&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|well_stocked|string|int|int}}&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|boolean|write_ccs|buffer|string}}&lt;br /&gt;
{{Flink|void|writeln|string}}&lt;br /&gt;
&lt;br /&gt;
===x===&lt;br /&gt;
{{Flink|string [0]|xpath|string|string}}&lt;br /&gt;
&lt;br /&gt;
===z===&lt;br /&gt;
{{Flink|item|zap|item}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Ash_Functions&amp;diff=9215</id>
		<title>Ash Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Ash_Functions&amp;diff=9215"/>
		<updated>2023-04-27T07:47:58Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Undo revision 9214 by Eliteofdelete (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
Master list of all ASH functions. All functions as of r20745 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;
The CLI command &amp;quot;[[ashref]]&amp;quot; shows every implemented ash function for your mafia version.&lt;br /&gt;
&lt;br /&gt;
The list is being updated to 27335!  I finished A-G...&lt;br /&gt;
===a===&lt;br /&gt;
{{FunctionEmbed|abort|format=signature}}&lt;br /&gt;
{{Flink|boolean [monster]|absorbed_monsters}}&lt;br /&gt;
{{FunctionEmbed|add_item_condition|format=signature}}&lt;br /&gt;
{{Flink|boolean|adv1|location|{{opt|int}}|{{opt|string}}}}&lt;br /&gt;
{{Flink|int|adv_cost|skill}}&lt;br /&gt;
{{Flink|boolean|adventure|int|location|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|adventure|location|int|{{opt|string}}}}&lt;br /&gt;
{{FunctionEmbed|all_monsters_with_id|format=signature}}&lt;br /&gt;
{{Flink|string [int]|all_normal_outfits}}&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|boolean|autosell|item|int}}&lt;br /&gt;
{{Flink|int|autosell_price|item}}&lt;br /&gt;
{{Flink|int|available_amount|item}}&lt;br /&gt;
{{FunctionEmbed|available_choice_options}}&lt;br /&gt;
{{FunctionEmbed|available_choice_select_inputs}}&lt;br /&gt;
{{Flink|string [string]|available_choice_text_inputs|int}}&lt;br /&gt;
{{Flink|int|available_pocket|monster}}&lt;br /&gt;
{{Flink|int|available_pocket|effect}}&lt;br /&gt;
{{Flink|int|available_pocket|item}}&lt;br /&gt;
{{Flink|int|available_pocket|stat}}&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|bjornify_familiar|familiar}}&lt;br /&gt;
{{Flink|boolean|black_market_available}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|{{opt|string}}|string}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|effect|string}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|item|string}}&lt;br /&gt;
{{Flink|int|buffed_hit_stat}}&lt;br /&gt;
{{FunctionEmbed|buffer_to_file|format=signature}}&lt;br /&gt;
{{Flink|boolean|buy|coinmaster|item}}&lt;br /&gt;
{{Flink|boolean|buy|{{opt|coinmaster}}|int|item}}&lt;br /&gt;
{{Flink|boolean|buy|item|{{opt|int}}|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|buy|int|item|int}}&lt;br /&gt;
{{Flink|int|buy_price|coinmaster|item}}&lt;br /&gt;
{{Flink|boolean|buy_using_storage|int|item}}&lt;br /&gt;
{{Flink|int|buy_using_storage|int|item|int}}&lt;br /&gt;
{{Flink|int|buy_using_storage|item|int|int}}&lt;br /&gt;
{{Flink|boolean|buys_item|coinmaster|item}}&lt;br /&gt;
&lt;br /&gt;
===c===&lt;br /&gt;
{{Flink|boolean|can_adventure|location}}&lt;br /&gt;
{{Flink|boolean|can_drink}}&lt;br /&gt;
{{Flink|boolean|can_eat}}&lt;br /&gt;
{{Flink|boolean|can_equip|familiar|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|can_equip|item}}&lt;br /&gt;
{{Flink|boolean|can_faxbot|monster}}&lt;br /&gt;
{{Flink|boolean|can_interact}}&lt;br /&gt;
{{Flink|boolean|can_still_steal}}&lt;br /&gt;
{{Flink|boolean|canadia_available}}&lt;br /&gt;
{{Flink|item [0]|candy_for_tier|int|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|ceil|float}}&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|boolean|chew|int|item}}&lt;br /&gt;
{{Flink|boolean|chew|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|choice_follows_fight}}&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;
{{FunctionEmbed|clear_booze_helper|format=signature}}&lt;br /&gt;
{{FunctionEmbed|clear_food_helper|format=signature}}&lt;br /&gt;
{{FunctionEmbed|cli_execute|format=signature}}&lt;br /&gt;
{{FunctionEmbed|cli_execute_output|format=signature}}&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;
{{FunctionEmbed|contains_text|format=signature}}&lt;br /&gt;
{{Flink|void|council}}&lt;br /&gt;
{{Flink|int|count|aggregate}}&lt;br /&gt;
{{Flink|int|craft|string|int|item|item}}&lt;br /&gt;
{{Flink|string|craft_type|item}}&lt;br /&gt;
{{Flink|int|creatable_amount|item}}&lt;br /&gt;
{{Flink|int|creatable_turns|item|{{opt|int}}|{{opt|boolean}}}}&lt;br /&gt;
{{Flink|boolean|create|int|item}}&lt;br /&gt;
{{Flink|boolean|create|item|{{opt|int}}}}&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;
{{Flink|int [string]|current_pvp_stances}}&lt;br /&gt;
{{Flink|int|current_rad_sickness}}&lt;br /&gt;
{{Flink|int|current_round}}&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|int|date_to_timestamp|string|string}}&lt;br /&gt;
{{Flink|int|daycount}}&lt;br /&gt;
{{Flink|void|debugprint|string}}&lt;br /&gt;
{{Flink|buffer|delete|buffer|int|int}}&lt;br /&gt;
{{Flink|effect|desc_to_effect|string}}&lt;br /&gt;
{{Flink|item|desc_to_item|string}}&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;
{{FunctionEmbed|drink|format=signature}}&lt;br /&gt;
{{Flink|boolean|drinksilent|int|item}}&lt;br /&gt;
{{Flink|boolean|drinksilent|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|void|dump|any|{{opt|string}}}}&lt;br /&gt;
&lt;br /&gt;
===e===&lt;br /&gt;
{{FunctionEmbed|eat|format=signature}}&lt;br /&gt;
{{Flink|boolean|eatsilent|int|item}}&lt;br /&gt;
{{Flink|boolean|eatsilent|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|effect|effect_modifier|string|string}}&lt;br /&gt;
{{Flink|effect|effect_modifier|item|string}}&lt;br /&gt;
{{Flink|boolean [int]|effect_pockets}}&lt;br /&gt;
{{Flink|int|eight_bit_points|location}}&lt;br /&gt;
{{Flink|int|eight_bit_points |location,string,float}}&lt;br /&gt;
{{Flink|float|elemental_resistance|{{opt|element}}}}&lt;br /&gt;
{{Flink|float|elemental_resistance|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;
{{FunctionEmbed|ends_with|format=signature}}&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|equip|item|{{opt|slot}}}}&lt;br /&gt;
{{Flink|boolean|equip|slot|item}}&lt;br /&gt;
{{Flink|boolean|equip_all_familiars}}&lt;br /&gt;
{{Flink|int|equipped_amount|item}}&lt;br /&gt;
{{Flink|item|equipped_item|slot}}&lt;br /&gt;
{{Flink|string|eudora}}&lt;br /&gt;
{{Flink|boolean|eudora|string}}&lt;br /&gt;
{{Flink|item|eudora_item}}&lt;br /&gt;
{{Flink|string|every_card_name|strict_string}}&lt;br /&gt;
{{Flink|item [string]|expected_cold_medicine_cabinet}}&lt;br /&gt;
{{Flink|int|expected_damage|{{opt|monster}}}}&lt;br /&gt;
{{Flink|float|experience_bonus}}&lt;br /&gt;
{{Flink|float|expression_eval|string}}&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 [familiar]|favorite_familiars|}}&lt;br /&gt;
{{Flink|boolean|faxbot|monster|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|fight_follows_choice}}&lt;br /&gt;
{{FunctionEmbed|file_to_array|format=signature}}&lt;br /&gt;
{{FunctionEmbed|file_to_buffer|format=signature}}&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|boolean|florist_available}}&lt;br /&gt;
{{Flink|boolean|flush_monster_manuel_cache}}&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|fuel_cost|skill}}&lt;br /&gt;
{{Flink|int|fullness_limit}}&lt;br /&gt;
&lt;br /&gt;
===g===&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|boolean [string] |get_all_properties|string|boolean}}&lt;br /&gt;
{{Flink|int|get_auto_attack}}&lt;br /&gt;
{{Flink|location[int]|get_autumnaton_locations}}&lt;br /&gt;
{{Flink|int [item]|get_campground}}&lt;br /&gt;
{{Flink|string |get_ccs_action|int}}&lt;br /&gt;
{{Flink|int [item]|get_chateau}}&lt;br /&gt;
{{Flink|int|get_clan_id}}&lt;br /&gt;
{{Flink|int [item]|get_clan_lounge}}&lt;br /&gt;
{{Flink|string|get_clan_name}}&lt;br /&gt;
{{Flink|int [string]|get_clan_rumpus}}&lt;br /&gt;
{{Flink|int [item]|get_closet}}&lt;br /&gt;
{{Flink|int|get_counter|string|int|int}}&lt;br /&gt;
{{Flink|string|get_counters|string}}&lt;br /&gt;
{{Flink|string [int]|get_custom_outfits}}&lt;br /&gt;
{{Flink|int [item]|get_display}}&lt;br /&gt;
{{Flink|item|get_dwelling}}&lt;br /&gt;
{{Flink|location [string]|get_fishing_locations}}&lt;br /&gt;
{{Flink|string [location, 3]|get_florist_plants}}&lt;br /&gt;
{{Flink|int [item]|get_free_pulls}}&lt;br /&gt;
{{Flink|int|get_fuel}}&lt;br /&gt;
{{Flink|string [int]|get_goals}}&lt;br /&gt;
{{Flink|boolean|get_ignore_zone_warnings}}&lt;br /&gt;
{{Flink|int [item]|get_ingredients|item}}&lt;br /&gt;
{{Flink|int [item]|get_inventory}}&lt;br /&gt;
{{Flink|boolean [monster]|get_location_monsters|location}}&lt;br /&gt;
{{Flink|boolean [monster]|get_locket_monsters}}&lt;br /&gt;
{{Flink|monster [monster]|get_monster_mapping|{{opt|string}}}}&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|boolean [skill]|get_permed_skills}}&lt;br /&gt;
{{Flink|string|get_player_id|string}}&lt;br /&gt;
{{Flink|string|get_player_name|int}}&lt;br /&gt;
{{Flink|int|get_power|item}}&lt;br /&gt;
{{Flink|string|get_property|string|{{opt|boolean}}}}&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 [0]|get_shop_log}}&lt;br /&gt;
{{Flink|string string int [0]|get_stack_trace}}&lt;br /&gt;
{{Flink|int [item]|get_stash}}&lt;br /&gt;
{{Flink|int [item]|get_storage}}&lt;br /&gt;
{{Flink|string|get_version}}&lt;br /&gt;
{{Flink|item|get_workshed}}&lt;br /&gt;
{{Flink|item|get_zap_wand}}&lt;br /&gt;
{{Flink|boolean|git_at_head|string}}&lt;br /&gt;
{{Flink|boolean|git_exists|string}}&lt;br /&gt;
{{Flink|string string string string string|git_info| string}}&lt;br /&gt;
{{Flink|string[0]|git_list}}&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|string|group|matcher|string}}&lt;br /&gt;
{{Flink|int|group_count|matcher}}&lt;br /&gt;
{{Flink|boolean [string]|group_names|matcher}}&lt;br /&gt;
{{Flink|string [int, int]|group_string|string|string}}&lt;br /&gt;
{{Flink|boolean|guild_available}}&lt;br /&gt;
{{Flink|boolean|guild_store_available}}&lt;br /&gt;
&lt;br /&gt;
===h===&lt;br /&gt;
{{Flink|boolean|handling_choice}}&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_servant|servant}}&lt;br /&gt;
{{Flink|boolean|have_shop}}&lt;br /&gt;
{{Flink|boolean|have_skill|skill}}&lt;br /&gt;
{{Flink|boolean|hedge_maze|string}}&lt;br /&gt;
{{Flink|boolean|hermit|int|item}}&lt;br /&gt;
{{Flink|boolean|hermit|item|int}}&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;
{{FunctionEmbed|historical_age}}&lt;br /&gt;
{{FunctionEmbed|historical_price}}&lt;br /&gt;
{{Flink|string|holiday}}&lt;br /&gt;
{{Flink|int|hp_cost|skill}}&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_multi_fight}}&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;
{{FunctionEmbed|index_of|format=signature}}&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_banished|monster}}&lt;br /&gt;
{{Flink|boolean|is_coinmaster_item|item}}&lt;br /&gt;
{{FunctionEmbed|is_dark_mode}}&lt;br /&gt;
{{Flink|boolean|is_discardable|item}}&lt;br /&gt;
{{Flink|boolean|is_displayable|item}}&lt;br /&gt;
{{Flink|boolean|is_familiar_equipment_locked}}&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|item/familiar/skill/string}}&lt;br /&gt;
{{Flink|boolean|is_unrestricted|item/familiar/skill/string}}&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|item int string [int]|item_drops_array|{{opt|monster}}}}&lt;br /&gt;
{{Flink|boolean [int]|item_pockets}}&lt;br /&gt;
{{Flink|string|item_type|item}}&lt;br /&gt;
&lt;br /&gt;
===j===&lt;br /&gt;
{{Flink|boolean [int]|joke_pockets}}&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;
&lt;br /&gt;
===l===&lt;br /&gt;
{{Flink|int|last_choice}}&lt;br /&gt;
{{Flink|int|last_decision}}&lt;br /&gt;
{{FunctionEmbed|last_index_of|format=signature}}&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|string|leetify|string}}&lt;br /&gt;
{{Flink|int|length|string}}&lt;br /&gt;
{{Flink|int|lightning_cost|skill}}&lt;br /&gt;
{{Flink|string|limit_mode}}&lt;br /&gt;
{{Flink|buffer|load_html|string}}&lt;br /&gt;
{{Flink|void|lock_familiar_equipment|boolean}}&lt;br /&gt;
{{Flink|float|log_n|float|{{opt|float}}}}&lt;br /&gt;
{{Flink|void|logprint|string}}&lt;br /&gt;
&lt;br /&gt;
===m===&lt;br /&gt;
{{Flink|string|make_url|string|boolean|boolean}}&lt;br /&gt;
{{FunctionEmbed|mall_price}}&lt;br /&gt;
{{FunctionEmbed|mall_prices}}&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 ...}}&lt;br /&gt;
{{Flink|int|max|int ...}}&lt;br /&gt;
{{Flink|boolean|maximize|string|boolean}}&lt;br /&gt;
{{Flink|boolean|maximize|string|int|int|boolean}}&lt;br /&gt;
{{Flink|{string string float effect item skill} [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|int [int]|meat_pockets}}&lt;br /&gt;
{{Flink|float|min|float ...}}&lt;br /&gt;
{{Flink|int|min|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|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|element|monster_element|{{opt|monster}}}}&lt;br /&gt;
{{Flink|float|monster_eval|string}}&lt;br /&gt;
{{Flink|int|monster_factoids_available|monster|boolean}}&lt;br /&gt;
{{Flink|int|monster_hp|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_initiative|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_level_adjustment}}&lt;br /&gt;
{{Flink|string|monster_manuel_text|monster}}&lt;br /&gt;
{{Flink|phylum|monster_phylum|{{opt|monster}}}}&lt;br /&gt;
{{Flink|boolean [int]|monster_pockets}}&lt;br /&gt;
{{Flink|void|mood_execute|int}}&lt;br /&gt;
{{Flink|string [0]|mood_list}}&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_absorbs}}&lt;br /&gt;
{{Flink|int|my_adventures}}&lt;br /&gt;
{{Flink|int|my_ascensions}}&lt;br /&gt;
{{Flink|int|my_audience}}&lt;br /&gt;
{{Flink|int|my_basestat|stat}}&lt;br /&gt;
{{Flink|familiar|my_bjorned_familiar}}&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_garden_type}}&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|int|my_lightning}}&lt;br /&gt;
{{Flink|location|my_location}}&lt;br /&gt;
{{Flink|string|my_mask}}&lt;br /&gt;
{{Flink|int|my_maxfury}}&lt;br /&gt;
{{Flink|int|my_maxhp}}&lt;br /&gt;
{{Flink|int|my_maxmp}}&lt;br /&gt;
{{Flink|int|my_maxpp}}&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|int|my_path_id}}&lt;br /&gt;
{{Flink|familiar|my_poke_fam|int}}&lt;br /&gt;
{{Flink|int|my_pp}}&lt;br /&gt;
{{Flink|stat|my_primestat}}&lt;br /&gt;
{{Flink|int|my_rain}}&lt;br /&gt;
{{Flink|int|my_robot_energy}}&lt;br /&gt;
{{Flink|int|my_robot_scraps}}&lt;br /&gt;
{{Flink|servant|my_servant}}&lt;br /&gt;
{{Flink|int|my_session_adv}}&lt;br /&gt;
{{Flink|int [item]|my_session_items}}&lt;br /&gt;
{{Flink|int|my_session_items|item}}&lt;br /&gt;
{{Flink|int|my_session_meat}}&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|thrall|my_thrall}}&lt;br /&gt;
{{Flink|int|my_thunder}}&lt;br /&gt;
{{Flink|int|my_turncount}}&lt;br /&gt;
{{Flink|vykea|my_vykea_companion}}&lt;br /&gt;
&lt;br /&gt;
===n===&lt;br /&gt;
{{Flink|int|now_to_int}}&lt;br /&gt;
{{Flink|string|now_to_string|string}}&lt;br /&gt;
{{Flink|int|npc_price|item}}&lt;br /&gt;
{{Flink|string|numberology_prize|int}}&lt;br /&gt;
{{Flink|float|numeric_modifier|effect|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|familiar|string|int|item}}&lt;br /&gt;
{{Flink|float|numeric_modifier|item|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|skill|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|{{opt|string}}|string}}&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|string|outfit_tattoo|{{opt|string}}}}&lt;br /&gt;
{{FunctionEmbed|overdrink|format=signature}}&lt;br /&gt;
&lt;br /&gt;
===p===&lt;br /&gt;
{{Flink|string|path_id_to_name|int}}&lt;br /&gt;
{{Flink|int|path_name_to_id|string}}&lt;br /&gt;
{{Flink|boolean|pick_pocket|monster}}&lt;br /&gt;
{{Flink|int [effect]|pick_pocket|effect}}&lt;br /&gt;
{{Flink|int [item]|pick_pocket|item}}&lt;br /&gt;
{{Flink|int [stat]|pick_pocket|stat}}&lt;br /&gt;
{{Flink|boolean|pick_pocket|int}}&lt;br /&gt;
{{Flink|boolean [int]|picked_pockets}}&lt;br /&gt;
{{Flink|boolean [int]|picked_scraps}}&lt;br /&gt;
{{Flink|int [effect]|pocket_effects|int}}&lt;br /&gt;
{{Flink|int [item]|pocket_items|int}}&lt;br /&gt;
{{Flink|string|pocket_joke|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_meat|int}}&lt;br /&gt;
{{Flink|monster|pocket_monster|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_poem|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_scrap|int}}&lt;br /&gt;
{{Flink|int [stat]|pocket_stats|int}}&lt;br /&gt;
{{Flink|int [int]|poem_pockets}}&lt;br /&gt;
{{Flink|int [int]|potential_pockets|effect/item/monster/stat}}&lt;br /&gt;
{{Flink|void|print|{{opt|string}}|{{opt|string}}}}&lt;br /&gt;
{{Flink|void|print_html|string}}&lt;br /&gt;
{{FunctionEmbed|property_default_value|format=signature}}&lt;br /&gt;
{{FunctionEmbed|property_exists|format=signature}}&lt;br /&gt;
{{FunctionEmbed|property_has_default|format=signature}}&lt;br /&gt;
{{Flink|int|pulls_remaining}}&lt;br /&gt;
{{Flink|boolean|put_closet|int|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|put_closet|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|put_display|int|item}}&lt;br /&gt;
{{Flink|boolean|put_display|item|int}}&lt;br /&gt;
{{Flink|boolean|put_shop|int|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|boolean|put_shop_using_storage|int|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|boolean|put_stash|int|item}}&lt;br /&gt;
{{Flink|boolean|put_stash|item|int}}&lt;br /&gt;
{{Flink|int|pvp_attacks_left}}&lt;br /&gt;
&lt;br /&gt;
===r===&lt;br /&gt;
{{Flink|int|rain_cost|skill}}&lt;br /&gt;
{{Flink|int|random|int}}&lt;br /&gt;
{{Flink|int|raw_damage_absorption}}&lt;br /&gt;
{{Flink|boolean|refresh_shop}}&lt;br /&gt;
{{Flink|boolean|refresh_stash}}&lt;br /&gt;
{{Flink|boolean|refresh_status}}&lt;br /&gt;
{{Flink|void|remove_item_condition|int|item}}&lt;br /&gt;
{{Flink|void|remove_item_condition|item|int}}&lt;br /&gt;
{{FunctionEmbed|remove_property|format=signature}}&lt;br /&gt;
{{FunctionEmbed|rename_property|format=signature}}&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|boolean|reprice_shop|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|matcher|reset|matcher|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean [int]|restoration_pockets}}&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|boolean|retrieve_item|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|int [int]|reverse_numberology|{{opt|int|int}}}}&lt;br /&gt;
{{Flink|int|rollover}}&lt;br /&gt;
{{Flink|int|round|float}}&lt;br /&gt;
{{FunctionEmbed|run_choice|format=signature}}&lt;br /&gt;
{{Flink|buffer|run_combat|{{opt|string}}}}&lt;br /&gt;
{{Flink|buffer|run_turn}}&lt;br /&gt;
{{Flink|buffer|runaway}}&lt;br /&gt;
&lt;br /&gt;
===s===&lt;br /&gt;
{{Flink|int [int]|scrap_pockets}}&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}}|{{opt|string}}|int}}&lt;br /&gt;
{{Flink|void|set_auto_attack|int/string}}&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_limit|item}}&lt;br /&gt;
{{Flink|int|shop_price|item}}&lt;br /&gt;
{{Flink|skill|skill_modifier|item|string}}&lt;br /&gt;
{{Flink|skill|skill_modifier|string|string}}&lt;br /&gt;
{{Flink|int|slash_count|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;
{{FunctionEmbed|starts_with|format=signature}}&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|void|stop_counter|string}}&lt;br /&gt;
{{Flink|int|storage_amount|item}}&lt;br /&gt;
{{Flink|string|string_modifier|{{opt|string}}|string}}&lt;br /&gt;
{{Flink|skill|stun_skill}}&lt;br /&gt;
{{Flink|string|substring|string|int|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|svn_at_head|string}}&lt;br /&gt;
{{Flink|boolean|svn_exists|string}}&lt;br /&gt;
{{Flink|{string int string int string}|svn_info|string}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|effect|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|int|effect|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|{{opt|int}}|item|item}}&lt;br /&gt;
{{Flink|item [0]|sweet_synthesis_pair|effect|{{opt|item}}|{{opt|int}}}}&lt;br /&gt;
{{Flink|effect|sweet_synthesis_result|item|item}}&lt;br /&gt;
&lt;br /&gt;
===t===&lt;br /&gt;
{{Flink|boolean|take_closet|int|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|take_closet|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|take_display|int|item}}&lt;br /&gt;
{{Flink|boolean|take_display|item|int}}&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_stash|item|int}}&lt;br /&gt;
{{Flink|boolean|take_storage|int|item}}&lt;br /&gt;
{{Flink|boolean|take_storage|item|int}}&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|int|thunder_cost|skill}}&lt;br /&gt;
{{Flink|string|time_to_string}}&lt;br /&gt;
{{Flink|string|timestamp_to_date|int|string}}&lt;br /&gt;
{{Flink|boolean|to_boolean|any}}&lt;br /&gt;
{{Flink|bounty|to_bounty|strict_string}}&lt;br /&gt;
{{Flink|class|to_class|strict_string/int}}&lt;br /&gt;
{{Flink|coinmaster|to_coinmaster|strict_string}}&lt;br /&gt;
{{Flink|effect|to_effect|int/skill/strict_string}}&lt;br /&gt;
{{Flink|element|to_element|strict_string}}&lt;br /&gt;
{{Flink|familiar|to_familiar|int/strict_string}}&lt;br /&gt;
{{Flink|float|to_float|any}}&lt;br /&gt;
{{Flink|int|to_int|any}}&lt;br /&gt;
{{Flink|item|to_item|int/strict_string}}&lt;br /&gt;
{{Flink|item|to_item|string|int}}&lt;br /&gt;
{{Flink|string|to_json|aggregate}}&lt;br /&gt;
{{Flink|location|to_location|int/strict_string}}&lt;br /&gt;
{{Flink|string|to_lower_case|string}}&lt;br /&gt;
{{Flink|monster|to_monster|int/strict_string}}&lt;br /&gt;
{{Flink|phylum|to_phylum|string}}&lt;br /&gt;
{{Flink|string|to_plural|item}}&lt;br /&gt;
{{Flink|servant|to_servant|int/strict_string}}&lt;br /&gt;
{{Flink|skill|to_skill|effect/int}}&lt;br /&gt;
{{Flink|skill|to_skill|strict_string|{{opt|strict_string}}}}&lt;br /&gt;
{{Flink|slot|to_slot|item/strict_string}}&lt;br /&gt;
{{Flink|stat|to_stat|strict_string}}&lt;br /&gt;
{{Flink|string|to_string|any}}&lt;br /&gt;
{{Flink|thrall|to_thrall|int/strict_string}}&lt;br /&gt;
{{Flink|string|to_upper_case|string}}&lt;br /&gt;
{{Flink|string|to_url|location}}&lt;br /&gt;
{{Flink|vykea|to_vykea|strict_string}}&lt;br /&gt;
{{Flink|string|today_to_string}}&lt;br /&gt;
{{Flink|int|total_free_rests}}&lt;br /&gt;
{{Flink|int|total_turns_played}}&lt;br /&gt;
{{Flink|boolean|tower_door}}&lt;br /&gt;
{{Flink|void|traceprint|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;
{{Flink|buffer|twiddle}}&lt;br /&gt;
&lt;br /&gt;
===u===&lt;br /&gt;
{{Flink|item|unusual_construct_disc}}&lt;br /&gt;
{{Flink|void|update_candy_prices}}&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|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|use_familiar|familiar}}&lt;br /&gt;
{{Flink|boolean|use_servant|servant}}&lt;br /&gt;
{{Flink|boolean|use_skill|int|skill|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|use_skill|skill|int|{{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;
{{FunctionEmbed|visit_url}}&lt;br /&gt;
{{Flink|boolean [string]|voting_booth_initiatives|class|int|int}}&lt;br /&gt;
{{Flink|boolean [string]|voting_booth_initiatives|int|int|int}}&lt;br /&gt;
&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;
===x===&lt;br /&gt;
{{Flink|string[int]|xpath|string|string}}&lt;br /&gt;
===z===&lt;br /&gt;
{{Flink|item|zap|item}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Ash_Functions&amp;diff=9214</id>
		<title>Ash Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Ash_Functions&amp;diff=9214"/>
		<updated>2023-04-27T06:30:49Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Updated functions based on r27333. This messed up some of the &amp;quot;any&amp;quot; or denoting functions by &amp;quot;/&amp;quot;. However, I recommend converting these to the FunctionEmbed form sooner rather than later.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
Master list of all ASH functions. All functions as of r27333 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;
The CLI command &amp;quot;[[ashref]]&amp;quot; shows every implemented ash function for your mafia version.&lt;br /&gt;
===a===&lt;br /&gt;
{{FunctionEmbed|abort|format=signature}}&lt;br /&gt;
{{Flink|boolean [monster]|absorbed_monsters}}&lt;br /&gt;
{{FunctionEmbed|add_item_condition|format=signature}}&lt;br /&gt;
{{Flink|boolean|adv1|location|{{opt|int}}|{{opt|string}}}}&lt;br /&gt;
{{Flink|int|adv_cost|skill}}&lt;br /&gt;
{{Flink|boolean|adventure|int|location|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|adventure|location|int|{{opt|string}}}}&lt;br /&gt;
{{FunctionEmbed|all_monsters_with_id|format=signature}}&lt;br /&gt;
{{Flink|string [0]|all_normal_outfits}}&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|boolean|autosell|item|int}}&lt;br /&gt;
{{Flink|int|autosell_price|item}}&lt;br /&gt;
{{Flink|int|available_amount|item}}&lt;br /&gt;
{{FunctionEmbed|available_choice_options}}&lt;br /&gt;
{{FunctionEmbed|available_choice_select_inputs}}&lt;br /&gt;
{{Flink|string [string]|available_choice_text_inputs|int}}&lt;br /&gt;
{{Flink|int|available_pocket|effect}}&lt;br /&gt;
{{Flink|int|available_pocket|item}}&lt;br /&gt;
{{Flink|int|available_pocket|monster}}&lt;br /&gt;
{{Flink|int|available_pocket|stat}}&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|bjornify_familiar|familiar}}&lt;br /&gt;
{{Flink|boolean|black_market_available}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|effect|string}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|item|string}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|{{opt|string}}|string}}&lt;br /&gt;
{{Flink|int|buffed_hit_stat}}&lt;br /&gt;
{{FunctionEmbed|buffer_to_file|format=signature}}&lt;br /&gt;
{{Flink|boolean|buy|coinmaster|item}}&lt;br /&gt;
{{Flink|boolean|buy|item|{{opt|int}}|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|buy|{{opt|coinmaster}}|int|item}}&lt;br /&gt;
{{Flink|int|buy|int|item|int}}&lt;br /&gt;
{{Flink|int|buy_price|coinmaster|item}}&lt;br /&gt;
{{Flink|boolean|buy_using_storage|int|item}}&lt;br /&gt;
{{Flink|boolean|buy_using_storage|item|int}}&lt;br /&gt;
{{Flink|boolean|buy_using_storage|item}}&lt;br /&gt;
{{Flink|int|buy_using_storage|int|item|int}}&lt;br /&gt;
{{Flink|int|buy_using_storage|item|int|int}}&lt;br /&gt;
{{Flink|boolean|buys_item|coinmaster|item}}&lt;br /&gt;
&lt;br /&gt;
===c===&lt;br /&gt;
{{Flink|boolean|can_adventure|location}}&lt;br /&gt;
{{Flink|boolean|can_drink}}&lt;br /&gt;
{{Flink|boolean|can_eat}}&lt;br /&gt;
{{Flink|boolean|can_equip|familiar|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|can_equip|item}}&lt;br /&gt;
{{Flink|boolean|can_faxbot|monster}}&lt;br /&gt;
{{Flink|boolean|can_interact}}&lt;br /&gt;
{{Flink|boolean|can_still_steal}}&lt;br /&gt;
{{Flink|boolean|canadia_available}}&lt;br /&gt;
{{Flink|item [0]|candy_for_tier|int|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|ceil|float}}&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|boolean|chew|int|item}}&lt;br /&gt;
{{Flink|boolean|chew|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|choice_follows_fight}}&lt;br /&gt;
{{Flink|class|class_modifier|item|string}}&lt;br /&gt;
{{Flink|class|class_modifier|string|string}}&lt;br /&gt;
{{Flink|void|clear|aggregate}}&lt;br /&gt;
{{FunctionEmbed|clear_booze_helper|format=signature}}&lt;br /&gt;
{{FunctionEmbed|clear_food_helper|format=signature}}&lt;br /&gt;
{{FunctionEmbed|cli_execute|format=signature}}&lt;br /&gt;
{{FunctionEmbed|cli_execute_output|format=signature}}&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|combat_skill_available|skill}}&lt;br /&gt;
{{Flink|int|concoction_price|item}}&lt;br /&gt;
{{Flink|int|concoction_price|vykea}}&lt;br /&gt;
{{FunctionEmbed|contains_text|format=signature}}&lt;br /&gt;
{{Flink|void|council}}&lt;br /&gt;
{{Flink|int|count|aggregate}}&lt;br /&gt;
{{Flink|int|craft|string|int|item|item}}&lt;br /&gt;
{{Flink|string|craft_type|item}}&lt;br /&gt;
{{Flink|int|creatable_amount|item}}&lt;br /&gt;
{{Flink|int|creatable_turns|item|{{opt|int}}|{{opt|boolean}}}}&lt;br /&gt;
{{Flink|boolean|create|int|item}}&lt;br /&gt;
{{Flink|boolean|create|item|{{opt|int}}}}&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;
{{Flink|int [string]|current_pvp_stances}}&lt;br /&gt;
{{Flink|int|current_rad_sickness}}&lt;br /&gt;
{{Flink|int|current_round}}&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|int|date_to_timestamp|string|string}}&lt;br /&gt;
{{Flink|int|daycount}}&lt;br /&gt;
{{Flink|void|debugprint|string}}&lt;br /&gt;
{{Flink|buffer|delete|buffer|int|int}}&lt;br /&gt;
{{Flink|effect|desc_to_effect|string}}&lt;br /&gt;
{{Flink|item|desc_to_item|string}}&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;
{{FunctionEmbed|drink|format=signature}}&lt;br /&gt;
{{Flink|boolean|drinksilent|int|item}}&lt;br /&gt;
{{Flink|boolean|drinksilent|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|void|dump|any|{{opt|string}}}}&lt;br /&gt;
&lt;br /&gt;
===e===&lt;br /&gt;
{{FunctionEmbed|eat|format=signature}}&lt;br /&gt;
{{Flink|boolean|eatsilent|int|item}}&lt;br /&gt;
{{Flink|boolean|eatsilent|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|effect|effect_modifier|item|string}}&lt;br /&gt;
{{Flink|effect|effect_modifier|string|string}}&lt;br /&gt;
{{Flink|boolean [int]|effect_pockets}}&lt;br /&gt;
{{Flink|int|eight_bit_points|location|string|float}}&lt;br /&gt;
{{Flink|int|eight_bit_points|location}}&lt;br /&gt;
{{Flink|float|elemental_resistance|monster}}&lt;br /&gt;
{{Flink|float|elemental_resistance|{{opt|element}}}}&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;
{{FunctionEmbed|ends_with|format=signature}}&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|equip|item|{{opt|slot}}}}&lt;br /&gt;
{{Flink|boolean|equip|slot|item}}&lt;br /&gt;
{{Flink|boolean|equip_all_familiars}}&lt;br /&gt;
{{Flink|int|equipped_amount|item|boolean}}&lt;br /&gt;
{{Flink|int|equipped_amount|item}}&lt;br /&gt;
{{Flink|item|equipped_item|slot}}&lt;br /&gt;
{{Flink|boolean|eudora|string}}&lt;br /&gt;
{{Flink|string|eudora}}&lt;br /&gt;
{{Flink|item|eudora_item}}&lt;br /&gt;
{{Flink|string|every_card_name|strict_string}}&lt;br /&gt;
{{Flink|item [string]|expected_cold_medicine_cabinet}}&lt;br /&gt;
{{Flink|int|expected_damage|{{opt|monster}}}}&lt;br /&gt;
{{Flink|float|experience_bonus}}&lt;br /&gt;
{{Flink|float|expression_eval|string}}&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 [familiar]|favorite_familiars}}&lt;br /&gt;
{{Flink|boolean|faxbot|monster|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|fight_follows_choice}}&lt;br /&gt;
{{FunctionEmbed|file_to_array|format=signature}}&lt;br /&gt;
{{FunctionEmbed|file_to_buffer|format=signature}}&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|boolean|florist_available}}&lt;br /&gt;
{{Flink|boolean|flush_monster_manuel_cache}}&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|fuel_cost|skill}}&lt;br /&gt;
{{Flink|int|fullness_limit}}&lt;br /&gt;
&lt;br /&gt;
===g===&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|boolean [string]|get_all_properties|string|boolean}}&lt;br /&gt;
{{Flink|int|get_auto_attack}}&lt;br /&gt;
{{Flink|location [0]|get_autumnaton_locations}}&lt;br /&gt;
{{Flink|int [item]|get_campground}}&lt;br /&gt;
{{Flink|string|get_ccs_action|int}}&lt;br /&gt;
{{Flink|int [item]|get_chateau}}&lt;br /&gt;
{{Flink|int|get_clan_id}}&lt;br /&gt;
{{Flink|int [item]|get_clan_lounge}}&lt;br /&gt;
{{Flink|string|get_clan_name}}&lt;br /&gt;
{{Flink|int [string]|get_clan_rumpus}}&lt;br /&gt;
{{Flink|int [item]|get_closet}}&lt;br /&gt;
{{Flink|int|get_counter|string}}&lt;br /&gt;
{{Flink|string|get_counters|string|int|int}}&lt;br /&gt;
{{Flink|string [0]|get_custom_outfits}}&lt;br /&gt;
{{Flink|int [item]|get_display}}&lt;br /&gt;
{{Flink|item|get_dwelling}}&lt;br /&gt;
{{Flink|location [string]|get_fishing_locations}}&lt;br /&gt;
{{Flink|string [location, 3]|get_florist_plants}}&lt;br /&gt;
{{Flink|int [item]|get_free_pulls}}&lt;br /&gt;
{{Flink|int|get_fuel}}&lt;br /&gt;
{{Flink|string [0]|get_goals}}&lt;br /&gt;
{{Flink|boolean|get_ignore_zone_warnings}}&lt;br /&gt;
{{Flink|int [item]|get_ingredients|item}}&lt;br /&gt;
{{Flink|int [item]|get_inventory}}&lt;br /&gt;
{{Flink|boolean [monster]|get_location_monsters|location}}&lt;br /&gt;
{{Flink|boolean [monster]|get_locket_monsters}}&lt;br /&gt;
{{Flink|monster [monster]|get_monster_mapping|{{opt|string}}}}&lt;br /&gt;
{{Flink|monster [0]|get_monsters|location}}&lt;br /&gt;
{{Flink|string [0]|get_moods}}&lt;br /&gt;
{{Flink|string [0]|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|boolean [skill]|get_permed_skills}}&lt;br /&gt;
{{Flink|string|get_player_id|string}}&lt;br /&gt;
{{Flink|string|get_player_name|int}}&lt;br /&gt;
{{Flink|int|get_power|item}}&lt;br /&gt;
{{Flink|string|get_property|string|{{opt|boolean}}}}&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 [0]|get_shop_log}}&lt;br /&gt;
{{Flink|string|file|string|name|int|line [0]|get_stack_trace}}&lt;br /&gt;
{{Flink|int [item]|get_stash}}&lt;br /&gt;
{{Flink|int [item]|get_storage}}&lt;br /&gt;
{{Flink|string|get_version}}&lt;br /&gt;
{{Flink|item|get_workshed}}&lt;br /&gt;
{{Flink|item|get_zap_wand}}&lt;br /&gt;
{{Flink|boolean|git_at_head|string}}&lt;br /&gt;
{{Flink|boolean|git_exists|string}}&lt;br /&gt;
{{Flink|string [0]|git_list}}&lt;br /&gt;
{{Flink|boolean|gnomads_available}}&lt;br /&gt;
{{Flink|boolean|goal_exists|string}}&lt;br /&gt;
{{Flink|string|group|matcher|string}}&lt;br /&gt;
{{Flink|string|group|matcher|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|group_count|matcher}}&lt;br /&gt;
{{Flink|boolean [string]|group_names|matcher}}&lt;br /&gt;
{{Flink|string [int, int]|group_string|string|string}}&lt;br /&gt;
{{Flink|boolean|guild_available}}&lt;br /&gt;
{{Flink|boolean|guild_store_available}}&lt;br /&gt;
&lt;br /&gt;
===h===&lt;br /&gt;
{{Flink|boolean|handling_choice}}&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_servant|servant}}&lt;br /&gt;
{{Flink|boolean|have_shop}}&lt;br /&gt;
{{Flink|boolean|have_skill|skill}}&lt;br /&gt;
{{Flink|boolean|hedge_maze|string}}&lt;br /&gt;
{{Flink|boolean|heist|int|item}}&lt;br /&gt;
{{Flink|boolean|heist|item}}&lt;br /&gt;
{{Flink|item [monster, int]|heist_targets}}&lt;br /&gt;
{{Flink|boolean|hermit|int|item}}&lt;br /&gt;
{{Flink|boolean|hermit|item|int}}&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;
{{FunctionEmbed|historical_age}}&lt;br /&gt;
{{FunctionEmbed|historical_price}}&lt;br /&gt;
{{Flink|string|holiday}}&lt;br /&gt;
{{Flink|int|hp_cost|skill}}&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_casual}}&lt;br /&gt;
{{Flink|boolean|in_hardcore}}&lt;br /&gt;
{{Flink|boolean|in_moxie_sign}}&lt;br /&gt;
{{Flink|boolean|in_multi_fight}}&lt;br /&gt;
{{Flink|boolean|in_muscle_sign}}&lt;br /&gt;
{{Flink|boolean|in_mysticality_sign}}&lt;br /&gt;
{{Flink|boolean|in_terrarium|familiar}}&lt;br /&gt;
{{Flink|string|inaccessible_reason|coinmaster}}&lt;br /&gt;
{{FunctionEmbed|index_of|format=signature}}&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_banished|monster}}&lt;br /&gt;
{{Flink|boolean|is_coinmaster_item|item}}&lt;br /&gt;
{{FunctionEmbed|is_dark_mode}}&lt;br /&gt;
{{Flink|boolean|is_discardable|item}}&lt;br /&gt;
{{Flink|boolean|is_displayable|item}}&lt;br /&gt;
{{Flink|boolean|is_familiar_equipment_locked}}&lt;br /&gt;
{{Flink|boolean|is_giftable|item}}&lt;br /&gt;
{{Flink|boolean|is_goal|item}}&lt;br /&gt;
{{Flink|boolean|is_headless}}&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|familiar}}&lt;br /&gt;
{{Flink|boolean|is_trendy|item}}&lt;br /&gt;
{{Flink|boolean|is_trendy|skill}}&lt;br /&gt;
{{Flink|boolean|is_trendy|string}}&lt;br /&gt;
{{Flink|boolean|is_unrestricted|familiar}}&lt;br /&gt;
{{Flink|boolean|is_unrestricted|item}}&lt;br /&gt;
{{Flink|boolean|is_unrestricted|skill}}&lt;br /&gt;
{{Flink|boolean|is_unrestricted|string}}&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|item int string [int]|item_drops_array|{{opt|monster}}}}&lt;br /&gt;
{{Flink|boolean [int]|item_pockets}}&lt;br /&gt;
{{Flink|string|item_type|item}}&lt;br /&gt;
&lt;br /&gt;
===j===&lt;br /&gt;
{{Flink|boolean [int]|joke_pockets}}&lt;br /&gt;
{{Flink|int|jump_chance|location|{{opt|int}}|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|jump_chance|{{opt|monster}}|{{opt|int}}|{{opt|int}}}}&lt;br /&gt;
&lt;br /&gt;
===k===&lt;br /&gt;
{{Flink|boolean|knoll_available}}&lt;br /&gt;
&lt;br /&gt;
===l===&lt;br /&gt;
{{Flink|int|last_choice}}&lt;br /&gt;
{{Flink|int|last_decision}}&lt;br /&gt;
{{FunctionEmbed|last_index_of|format=signature}}&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|string|leetify|string}}&lt;br /&gt;
{{Flink|int|length|string}}&lt;br /&gt;
{{Flink|int|lightning_cost|skill}}&lt;br /&gt;
{{Flink|string|limit_mode}}&lt;br /&gt;
{{Flink|buffer|load_html|string}}&lt;br /&gt;
{{Flink|void|lock_familiar_equipment|boolean}}&lt;br /&gt;
{{Flink|float|log_n|float|{{opt|float}}}}&lt;br /&gt;
{{Flink|void|logprint|string}}&lt;br /&gt;
&lt;br /&gt;
===m===&lt;br /&gt;
{{Flink|string|make_url|string|boolean|boolean}}&lt;br /&gt;
{{FunctionEmbed|mall_price}}&lt;br /&gt;
{{FunctionEmbed|mall_prices}}&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|string|display|string|command|float|score|effect|effect|item|item|skill|skill [0]|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|int [int]|meat_pockets}}&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|float|modifier_eval|string}}&lt;br /&gt;
{{Flink|boolean|monkey_paw|effect}}&lt;br /&gt;
{{Flink|boolean|monkey_paw|item}}&lt;br /&gt;
{{Flink|boolean|monkey_paw|string}}&lt;br /&gt;
{{Flink|int|monster_attack|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_defense|{{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_factoids_available|monster|boolean}}&lt;br /&gt;
{{Flink|int|monster_hp|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_initiative|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_level_adjustment}}&lt;br /&gt;
{{Flink|string|monster_manuel_text|monster}}&lt;br /&gt;
{{Flink|monster|monster_modifier|effect|string}}&lt;br /&gt;
{{Flink|phylum|monster_phylum|{{opt|monster}}}}&lt;br /&gt;
{{Flink|boolean [int]|monster_pockets}}&lt;br /&gt;
{{Flink|void|mood_execute|int}}&lt;br /&gt;
{{Flink|string [0]|mood_list}}&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_absorbs}}&lt;br /&gt;
{{Flink|int|my_adventures}}&lt;br /&gt;
{{Flink|int|my_ascensions}}&lt;br /&gt;
{{Flink|int|my_audience}}&lt;br /&gt;
{{Flink|int|my_basestat|stat}}&lt;br /&gt;
{{Flink|familiar|my_bjorned_familiar}}&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_garden_type}}&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|int|my_lightning}}&lt;br /&gt;
{{Flink|location|my_location}}&lt;br /&gt;
{{Flink|string|my_mask}}&lt;br /&gt;
{{Flink|int|my_maxfury}}&lt;br /&gt;
{{Flink|int|my_maxhp}}&lt;br /&gt;
{{Flink|int|my_maxmp}}&lt;br /&gt;
{{Flink|int|my_maxpp}}&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|path|my_path}}&lt;br /&gt;
{{Flink|int|my_path_id}}&lt;br /&gt;
{{Flink|familiar|my_poke_fam|int}}&lt;br /&gt;
{{Flink|int|my_pp}}&lt;br /&gt;
{{Flink|stat|my_primestat}}&lt;br /&gt;
{{Flink|int|my_rain}}&lt;br /&gt;
{{Flink|int|my_robot_energy}}&lt;br /&gt;
{{Flink|int|my_robot_scraps}}&lt;br /&gt;
{{Flink|servant|my_servant}}&lt;br /&gt;
{{Flink|int|my_session_adv}}&lt;br /&gt;
{{Flink|int [item]|my_session_items}}&lt;br /&gt;
{{Flink|int|my_session_items|item}}&lt;br /&gt;
{{Flink|int|my_session_meat}}&lt;br /&gt;
{{Flink|int [string]|my_session_results}}&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|thrall|my_thrall}}&lt;br /&gt;
{{Flink|int|my_thunder}}&lt;br /&gt;
{{Flink|int|my_turncount}}&lt;br /&gt;
{{Flink|vykea|my_vykea_companion}}&lt;br /&gt;
{{Flink|int|my_wildfire_water}}&lt;br /&gt;
&lt;br /&gt;
===n===&lt;br /&gt;
{{Flink|int|now_to_int}}&lt;br /&gt;
{{Flink|string|now_to_string|string}}&lt;br /&gt;
{{Flink|int|npc_price|item}}&lt;br /&gt;
{{Flink|string|numberology_prize|int}}&lt;br /&gt;
{{Flink|float|numeric_modifier|effect|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|familiar|string|int|item}}&lt;br /&gt;
{{Flink|float|numeric_modifier|item|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|skill|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|{{opt|string}}|string}}&lt;br /&gt;
&lt;br /&gt;
===o===&lt;br /&gt;
{{Flink|boolean|outfit|string}}&lt;br /&gt;
{{Flink|item [0]|outfit_pieces|string}}&lt;br /&gt;
{{Flink|string|outfit_tattoo|{{opt|string}}}}&lt;br /&gt;
{{Flink|float [item]|outfit_treats|string}}&lt;br /&gt;
{{FunctionEmbed|overdrink|format=signature}}&lt;br /&gt;
&lt;br /&gt;
===p===&lt;br /&gt;
{{Flink|string|path_id_to_name|int}}&lt;br /&gt;
{{Flink|int|path_name_to_id|string}}&lt;br /&gt;
{{Flink|boolean|pick_pocket|int}}&lt;br /&gt;
{{Flink|boolean|pick_pocket|monster}}&lt;br /&gt;
{{Flink|int [effect]|pick_pocket|effect}}&lt;br /&gt;
{{Flink|int [item]|pick_pocket|item}}&lt;br /&gt;
{{Flink|int [stat]|pick_pocket|stat}}&lt;br /&gt;
{{Flink|boolean [int]|picked_pockets}}&lt;br /&gt;
{{Flink|boolean [int]|picked_scraps}}&lt;br /&gt;
{{Flink|int [effect]|pocket_effects|int}}&lt;br /&gt;
{{Flink|int [item]|pocket_items|int}}&lt;br /&gt;
{{Flink|string|pocket_joke|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_meat|int}}&lt;br /&gt;
{{Flink|monster|pocket_monster|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_poem|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_scrap|int}}&lt;br /&gt;
{{Flink|int [stat]|pocket_stats|int}}&lt;br /&gt;
{{Flink|int [int]|poem_pockets}}&lt;br /&gt;
{{Flink|int [int]|potential_pockets|effect}}&lt;br /&gt;
{{Flink|int [int]|potential_pockets|item}}&lt;br /&gt;
{{Flink|int [int]|potential_pockets|monster}}&lt;br /&gt;
{{Flink|int [int]|potential_pockets|stat}}&lt;br /&gt;
{{Flink|boolean|pre_validate_adventure|location}}&lt;br /&gt;
{{Flink|boolean|prepare_for_adventure|location}}&lt;br /&gt;
{{Flink|void|print|{{opt|string}}|{{opt|string}}}}&lt;br /&gt;
{{Flink|void|print_html|string|boolean}}&lt;br /&gt;
{{Flink|void|print_html|string}}&lt;br /&gt;
{{FunctionEmbed|property_default_value|format=signature}}&lt;br /&gt;
{{FunctionEmbed|property_exists|format=signature}}&lt;br /&gt;
{{FunctionEmbed|property_has_default|format=signature}}&lt;br /&gt;
{{Flink|int|pulls_remaining}}&lt;br /&gt;
{{Flink|boolean|put_closet|int|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|put_closet|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|put_display|int|item}}&lt;br /&gt;
{{Flink|boolean|put_display|item|int}}&lt;br /&gt;
{{Flink|boolean|put_shop|int|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|boolean|put_shop_using_storage|int|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|boolean|put_stash|int|item}}&lt;br /&gt;
{{Flink|boolean|put_stash|item|int}}&lt;br /&gt;
{{Flink|int|pvp_attacks_left}}&lt;br /&gt;
&lt;br /&gt;
===r===&lt;br /&gt;
{{Flink|int|rain_cost|skill}}&lt;br /&gt;
{{Flink|int|random|int}}&lt;br /&gt;
{{Flink|int|raw_damage_absorption}}&lt;br /&gt;
{{Flink|buffer|read_ccs|string}}&lt;br /&gt;
{{Flink|void|receive_fax}}&lt;br /&gt;
{{Flink|boolean|refresh_shop}}&lt;br /&gt;
{{Flink|boolean|refresh_stash}}&lt;br /&gt;
{{Flink|boolean|refresh_status}}&lt;br /&gt;
{{Flink|void|remove_item_condition|int|item}}&lt;br /&gt;
{{Flink|void|remove_item_condition|item|int}}&lt;br /&gt;
{{FunctionEmbed|remove_property|format=signature}}&lt;br /&gt;
{{FunctionEmbed|rename_property|format=signature}}&lt;br /&gt;
{{Flink|buffer|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|boolean|reprice_shop|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|matcher|reset|matcher|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean [int]|restoration_pockets}}&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|boolean|retrieve_item|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|retrieve_price|int|item|boolean}}&lt;br /&gt;
{{Flink|int|retrieve_price|int|item}}&lt;br /&gt;
{{Flink|int|retrieve_price|item|int|boolean}}&lt;br /&gt;
{{Flink|int|retrieve_price|item|int}}&lt;br /&gt;
{{Flink|int|retrieve_price|item}}&lt;br /&gt;
{{Flink|int [int]|reverse_numberology|{{opt|int|int}}}}&lt;br /&gt;
{{Flink|int|rollover}}&lt;br /&gt;
{{Flink|int|round|float}}&lt;br /&gt;
{{FunctionEmbed|run_choice|format=signature}}&lt;br /&gt;
{{Flink|buffer|run_combat|{{opt|string}}}}&lt;br /&gt;
{{Flink|buffer|run_turn}}&lt;br /&gt;
{{Flink|buffer|runaway}}&lt;br /&gt;
&lt;br /&gt;
===s===&lt;br /&gt;
{{Flink|int [int]|scrap_pockets}}&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|void|send_fax}}&lt;br /&gt;
{{Flink|string [int]|session_logs|{{opt|string}}|{{opt|string}}|int}}&lt;br /&gt;
{{Flink|void|set_auto_attack|int}}&lt;br /&gt;
{{Flink|void|set_auto_attack|string}}&lt;br /&gt;
{{Flink|boolean|set_ccs|string}}&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_limit|item}}&lt;br /&gt;
{{Flink|int|shop_price|item}}&lt;br /&gt;
{{Flink|skill|skill_modifier|item|string}}&lt;br /&gt;
{{Flink|skill|skill_modifier|string|string}}&lt;br /&gt;
{{Flink|int|slash_count|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;
{{FunctionEmbed|starts_with|format=signature}}&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|boolean [int]|stats_pockets}}&lt;br /&gt;
{{Flink|buffer|steal}}&lt;br /&gt;
{{Flink|int|stills_available}}&lt;br /&gt;
{{Flink|void|stop_counter|string}}&lt;br /&gt;
{{Flink|int|storage_amount|item}}&lt;br /&gt;
{{Flink|string|string_modifier|{{opt|string}}|string}}&lt;br /&gt;
{{Flink|skill|stun_skill}}&lt;br /&gt;
{{Flink|string|substring|string|int|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|svn_at_head|string}}&lt;br /&gt;
{{Flink|boolean|svn_exists|string}}&lt;br /&gt;
{{Flink|string [0]|svn_list}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|effect|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|int|effect|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|{{opt|int}}|item|item}}&lt;br /&gt;
{{Flink|item [0]|sweet_synthesis_pair|effect|{{opt|item}}|{{opt|int}}}}&lt;br /&gt;
{{Flink|item [0]|sweet_synthesis_pairing|effect|item|int}}&lt;br /&gt;
{{Flink|item [0]|sweet_synthesis_pairing|effect|item}}&lt;br /&gt;
{{Flink|effect|sweet_synthesis_result|item|item}}&lt;br /&gt;
&lt;br /&gt;
===t===&lt;br /&gt;
{{Flink|boolean|take_closet|int|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|take_closet|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|take_display|int|item}}&lt;br /&gt;
{{Flink|boolean|take_display|item|int}}&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_stash|item|int}}&lt;br /&gt;
{{Flink|boolean|take_storage|int|item}}&lt;br /&gt;
{{Flink|boolean|take_storage|item|int}}&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|int|thunder_cost|skill}}&lt;br /&gt;
{{Flink|string|time_to_string}}&lt;br /&gt;
{{Flink|string|timestamp_to_date|int|string}}&lt;br /&gt;
{{Flink|boolean|to_boolean|boolean}}&lt;br /&gt;
{{Flink|boolean|to_boolean|int}}&lt;br /&gt;
{{Flink|boolean|to_boolean|strict_string}}&lt;br /&gt;
{{Flink|bounty|to_bounty|strict_string}}&lt;br /&gt;
{{Flink|class|to_class|int}}&lt;br /&gt;
{{Flink|class|to_class|strict_string}}&lt;br /&gt;
{{Flink|coinmaster|to_coinmaster|strict_string}}&lt;br /&gt;
{{Flink|effect|to_effect|int}}&lt;br /&gt;
{{Flink|effect|to_effect|skill}}&lt;br /&gt;
{{Flink|effect|to_effect|strict_string}}&lt;br /&gt;
{{Flink|element|to_element|strict_string}}&lt;br /&gt;
{{Flink|familiar|to_familiar|int}}&lt;br /&gt;
{{Flink|familiar|to_familiar|strict_string}}&lt;br /&gt;
{{Flink|float|to_float|boolean}}&lt;br /&gt;
{{Flink|float|to_float|float}}&lt;br /&gt;
{{Flink|float|to_float|int}}&lt;br /&gt;
{{Flink|float|to_float|strict_string}}&lt;br /&gt;
{{Flink|int|to_int|boolean}}&lt;br /&gt;
{{Flink|int|to_int|class}}&lt;br /&gt;
{{Flink|int|to_int|effect}}&lt;br /&gt;
{{Flink|int|to_int|familiar}}&lt;br /&gt;
{{Flink|int|to_int|float}}&lt;br /&gt;
{{Flink|int|to_int|int}}&lt;br /&gt;
{{Flink|int|to_int|item}}&lt;br /&gt;
{{Flink|int|to_int|location}}&lt;br /&gt;
{{Flink|int|to_int|monster}}&lt;br /&gt;
{{Flink|int|to_int|path}}&lt;br /&gt;
{{Flink|int|to_int|servant}}&lt;br /&gt;
{{Flink|int|to_int|skill}}&lt;br /&gt;
{{Flink|int|to_int|strict_string}}&lt;br /&gt;
{{Flink|int|to_int|thrall}}&lt;br /&gt;
{{Flink|int|to_int|vykea}}&lt;br /&gt;
{{Flink|item|to_item|int}}&lt;br /&gt;
{{Flink|item|to_item|strict_string}}&lt;br /&gt;
{{Flink|item|to_item|string|int}}&lt;br /&gt;
{{Flink|string|to_json|null}}&lt;br /&gt;
{{Flink|location|to_location|int}}&lt;br /&gt;
{{Flink|location|to_location|strict_string}}&lt;br /&gt;
{{Flink|string|to_lower_case|string}}&lt;br /&gt;
{{Flink|monster|to_monster|int}}&lt;br /&gt;
{{Flink|monster|to_monster|strict_string}}&lt;br /&gt;
{{Flink|path|to_path|int}}&lt;br /&gt;
{{Flink|path|to_path|strict_string}}&lt;br /&gt;
{{Flink|phylum|to_phylum|strict_string}}&lt;br /&gt;
{{Flink|string|to_plural|item}}&lt;br /&gt;
{{Flink|servant|to_servant|int}}&lt;br /&gt;
{{Flink|servant|to_servant|strict_string}}&lt;br /&gt;
{{Flink|skill|to_skill|effect/int}}&lt;br /&gt;
{{Flink|skill|to_skill|strict_string|{{opt|strict_string}}}}&lt;br /&gt;
{{Flink|slot|to_slot|item}}&lt;br /&gt;
{{Flink|slot|to_slot|strict_string}}&lt;br /&gt;
{{Flink|stat|to_stat|strict_string}}&lt;br /&gt;
{{Flink|string|to_string|float|string}}&lt;br /&gt;
{{Flink|string|to_string|int|string}}&lt;br /&gt;
{{Flink|string|to_string|string}}&lt;br /&gt;
{{Flink|thrall|to_thrall|int}}&lt;br /&gt;
{{Flink|thrall|to_thrall|strict_string}}&lt;br /&gt;
{{Flink|string|to_upper_case|string}}&lt;br /&gt;
{{Flink|string|to_url|location}}&lt;br /&gt;
{{Flink|vykea|to_vykea|strict_string}}&lt;br /&gt;
{{Flink|string|to_wiki_url|effect}}&lt;br /&gt;
{{Flink|string|to_wiki_url|item}}&lt;br /&gt;
{{Flink|string|to_wiki_url|monster}}&lt;br /&gt;
{{Flink|string|to_wiki_url|skill}}&lt;br /&gt;
{{Flink|string|to_wiki_url|string}}&lt;br /&gt;
{{Flink|string|today_to_string}}&lt;br /&gt;
{{Flink|int|total_free_rests}}&lt;br /&gt;
{{Flink|int|total_turns_played}}&lt;br /&gt;
{{Flink|boolean|tower_door}}&lt;br /&gt;
{{Flink|void|traceprint|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;
{{Flink|buffer|twiddle}}&lt;br /&gt;
&lt;br /&gt;
===u===&lt;br /&gt;
{{Flink|item|unusual_construct_disc}}&lt;br /&gt;
{{Flink|void|update_candy_prices}}&lt;br /&gt;
{{Flink|string|url|int|revision|string|last_changed_author|int|last_changed_rev|string|last_changed_date|svn_info|string}}&lt;br /&gt;
{{Flink|string|url|string|branch|string|commit|string|last_changed_author|string|last_changed_date|git_info|string}}&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|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|use_familiar|familiar}}&lt;br /&gt;
{{Flink|boolean|use_servant|servant}}&lt;br /&gt;
{{Flink|boolean|use_skill|int|skill|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|use_skill|skill|int|{{opt|string}}}}&lt;br /&gt;
{{Flink|buffer|use_skill|skill}}&lt;br /&gt;
{{Flink|boolean|user_confirm|string|int|boolean}}&lt;br /&gt;
{{Flink|boolean|user_confirm|string}}&lt;br /&gt;
{{Flink|void|user_notify|string|boolean}}&lt;br /&gt;
{{Flink|void|user_notify|string}}&lt;br /&gt;
{{Flink|string|user_prompt|string|aggregate}}&lt;br /&gt;
{{Flink|string|user_prompt|string|int|string}}&lt;br /&gt;
{{Flink|string|user_prompt|string}}&lt;br /&gt;
&lt;br /&gt;
===v===&lt;br /&gt;
{{Flink|boolean|visit|coinmaster}}&lt;br /&gt;
{{FunctionEmbed|visit_url}}&lt;br /&gt;
{{Flink|boolean [string]|voting_booth_initiatives|class|path|int}}&lt;br /&gt;
{{Flink|boolean [string]|voting_booth_initiatives|int|int|int}}&lt;br /&gt;
&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|well_stocked|string|int|int}}&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|boolean|write_ccs|buffer|string}}&lt;br /&gt;
{{Flink|void|writeln|string}}&lt;br /&gt;
&lt;br /&gt;
===x===&lt;br /&gt;
{{Flink|string [0]|xpath|string|string}}&lt;br /&gt;
&lt;br /&gt;
===z===&lt;br /&gt;
{{Flink|item|zap|item}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Ash_Functions&amp;diff=9204</id>
		<title>Ash Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Ash_Functions&amp;diff=9204"/>
		<updated>2023-04-27T03:01:30Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: formatting issue&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
Master list of all ASH functions. All functions as of r20745 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;
The CLI command &amp;quot;[[ashref]]&amp;quot; shows every implemented ash function for your mafia version.&lt;br /&gt;
===a===&lt;br /&gt;
{{FunctionEmbed|abort|format=signature}}&lt;br /&gt;
{{FunctionEmbed|add_item_condition|format=signature}}&lt;br /&gt;
{{Flink|boolean|adv1|location|{{opt|int}}|{{opt|string}}}}&lt;br /&gt;
{{Flink|int|adv_cost|skill}}&lt;br /&gt;
{{Flink|boolean|adventure|int|location|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|adventure|location|int|{{opt|string}}}}&lt;br /&gt;
{{FunctionEmbed|all_monsters_with_id|format=signature}}&lt;br /&gt;
{{Flink|string [int]|all_normal_outfits}}&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|boolean|autosell|item|int}}&lt;br /&gt;
{{Flink|int|autosell_price|item}}&lt;br /&gt;
{{Flink|int|available_amount|item}}&lt;br /&gt;
{{FunctionEmbed|available_choice_options}}&lt;br /&gt;
{{FunctionEmbed|available_choice_select_inputs}}&lt;br /&gt;
{{Flink|string [string]|available_choice_text_inputs|int}}&lt;br /&gt;
{{Flink|int|available_pocket|monster}}&lt;br /&gt;
{{Flink|int|available_pocket|effect}}&lt;br /&gt;
{{Flink|int|available_pocket|item}}&lt;br /&gt;
{{Flink|int|available_pocket|stat}}&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|bjornify_familiar|familiar}}&lt;br /&gt;
{{Flink|boolean|black_market_available}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|{{opt|string}}|string}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|effect|string}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|item|string}}&lt;br /&gt;
{{Flink|int|buffed_hit_stat}}&lt;br /&gt;
{{FunctionEmbed|buffer_to_file|format=signature}}&lt;br /&gt;
{{Flink|boolean|buy|coinmaster|item}}&lt;br /&gt;
{{Flink|boolean|buy|{{opt|coinmaster}}|int|item}}&lt;br /&gt;
{{Flink|boolean|buy|item|{{opt|int}}|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|buy|int|item|int}}&lt;br /&gt;
{{Flink|int|buy_price|coinmaster|item}}&lt;br /&gt;
{{Flink|boolean|buy_using_storage|int|item}}&lt;br /&gt;
{{Flink|int|buy_using_storage|int|item|int}}&lt;br /&gt;
{{Flink|int|buy_using_storage|item|int|int}}&lt;br /&gt;
{{Flink|boolean|buys_item|coinmaster|item}}&lt;br /&gt;
&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|familiar|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|can_equip|item}}&lt;br /&gt;
{{Flink|boolean|can_faxbot|monster}}&lt;br /&gt;
{{Flink|boolean|can_interact}}&lt;br /&gt;
{{Flink|boolean|can_still_steal}}&lt;br /&gt;
{{Flink|boolean|canadia_available}}&lt;br /&gt;
{{Flink|item [0]|candy_for_tier|int|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|ceil|float}}&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|boolean|chew|int|item}}&lt;br /&gt;
{{Flink|boolean|chew|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|choice_follows_fight}}&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;
{{FunctionEmbed|clear_booze_helper|format=signature}}&lt;br /&gt;
{{FunctionEmbed|clear_food_helper|format=signature}}&lt;br /&gt;
{{FunctionEmbed|cli_execute|format=signature}}&lt;br /&gt;
{{FunctionEmbed|cli_execute_output|format=signature}}&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;
{{FunctionEmbed|contains_text|format=signature}}&lt;br /&gt;
{{Flink|void|council}}&lt;br /&gt;
{{Flink|int|count|aggregate}}&lt;br /&gt;
{{Flink|int|craft|string|int|item|item}}&lt;br /&gt;
{{Flink|string|craft_type|item}}&lt;br /&gt;
{{Flink|int|creatable_amount|item}}&lt;br /&gt;
{{Flink|int|creatable_turns|item|{{opt|int}}|{{opt|boolean}}}}&lt;br /&gt;
{{Flink|boolean|create|int|item}}&lt;br /&gt;
{{Flink|boolean|create|item|{{opt|int}}}}&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;
{{Flink|int [string]|current_pvp_stances}}&lt;br /&gt;
{{Flink|int|current_rad_sickness}}&lt;br /&gt;
{{Flink|int|current_round}}&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|int|date_to_timestamp|string|string}}&lt;br /&gt;
{{Flink|void|debugprint|string}}&lt;br /&gt;
{{Flink|buffer|delete|buffer|int|int}}&lt;br /&gt;
{{Flink|effect|desc_to_effect|string}}&lt;br /&gt;
{{Flink|item|desc_to_item|string}}&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;
{{FunctionEmbed|drink|format=signature}}&lt;br /&gt;
{{Flink|boolean|drinksilent|int|item}}&lt;br /&gt;
{{Flink|boolean|drinksilent|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|void|dump|any|{{opt|string}}}}&lt;br /&gt;
&lt;br /&gt;
===e===&lt;br /&gt;
{{FunctionEmbed|eat|format=signature}}&lt;br /&gt;
{{Flink|boolean|eatsilent|int|item}}&lt;br /&gt;
{{Flink|boolean|eatsilent|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|effect|effect_modifier|string|string}}&lt;br /&gt;
{{Flink|effect|effect_modifier|item|string}}&lt;br /&gt;
{{Flink|boolean [int]|effect_pockets}}&lt;br /&gt;
{{Flink|float|elemental_resistance|{{opt|element}}}}&lt;br /&gt;
{{Flink|float|elemental_resistance|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;
{{FunctionEmbed|ends_with|format=signature}}&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|equip|item|{{opt|slot}}}}&lt;br /&gt;
{{Flink|boolean|equip|slot|item}}&lt;br /&gt;
{{Flink|boolean|equip_all_familiars}}&lt;br /&gt;
{{Flink|int|equipped_amount|item}}&lt;br /&gt;
{{Flink|item|equipped_item|slot}}&lt;br /&gt;
{{Flink|string|eudora}}&lt;br /&gt;
{{Flink|boolean|eudora|string}}&lt;br /&gt;
{{Flink|string|every_card_name|strict_string}}&lt;br /&gt;
{{Flink|int|expected_damage|{{opt|monster}}}}&lt;br /&gt;
{{Flink|float|experience_bonus}}&lt;br /&gt;
{{Flink|float|expression_eval|string}}&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 [familiar]|favorite_familiars|}}&lt;br /&gt;
{{Flink|boolean|faxbot|monster|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|fight_follows_choice}}&lt;br /&gt;
{{FunctionEmbed|file_to_array|format=signature}}&lt;br /&gt;
{{FunctionEmbed|file_to_buffer|format=signature}}&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|boolean|florist_available}}&lt;br /&gt;
{{Flink|boolean|flush_monster_manuel_cache}}&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|fuel_cost|skill}}&lt;br /&gt;
{{Flink|int|fullness_limit}}&lt;br /&gt;
&lt;br /&gt;
===g===&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|boolean [string] |get_all_properties|string|boolean}}&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 [item]|get_chateau}}&lt;br /&gt;
{{Flink|int|get_clan_id}}&lt;br /&gt;
{{Flink|int [item]|get_clan_lounge}}&lt;br /&gt;
{{Flink|string|get_clan_name}}&lt;br /&gt;
{{Flink|int [string]|get_clan_rumpus}}&lt;br /&gt;
{{Flink|int [item]|get_closet}}&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 [location, 3]|get_florist_plants}}&lt;br /&gt;
{{Flink|int [item]|get_free_pulls}}&lt;br /&gt;
{{Flink|int|get_fuel}}&lt;br /&gt;
{{Flink|string [int]|get_goals}}&lt;br /&gt;
{{Flink|boolean|get_ignore_zone_warnings}}&lt;br /&gt;
{{Flink|int [item]|get_ingredients|item}}&lt;br /&gt;
{{Flink|int [item]|get_inventory}}&lt;br /&gt;
{{Flink|boolean [monster]|get_location_monsters|location}}&lt;br /&gt;
{{Flink|monster [monster]|get_monster_mapping|{{opt|string}}}}&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|string|get_player_name|int}}&lt;br /&gt;
{{Flink|int|get_power|item}}&lt;br /&gt;
{{Flink|string|get_property|string|{{opt|boolean}}}}&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 [0]|get_shop_log}}&lt;br /&gt;
{{Flink|string string int [0]|get_stack_trace}}&lt;br /&gt;
{{Flink|int [item]|get_stash}}&lt;br /&gt;
{{Flink|int [item]|get_storage}}&lt;br /&gt;
{{Flink|string|get_version}}&lt;br /&gt;
{{Flink|string|get_workshed}}&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|string|group|matcher|string}}&lt;br /&gt;
{{Flink|int|group_count|matcher}}&lt;br /&gt;
{{Flink|boolean [string]|group_names|matcher}}&lt;br /&gt;
{{Flink|string [int, int]|group_string|string|string}}&lt;br /&gt;
{{Flink|boolean|guild_available}}&lt;br /&gt;
{{Flink|boolean|guild_store_available}}&lt;br /&gt;
&lt;br /&gt;
===h===&lt;br /&gt;
{{Flink|boolean|handling_choice}}&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_servant|servant}}&lt;br /&gt;
{{Flink|boolean|have_shop}}&lt;br /&gt;
{{Flink|boolean|have_skill|skill}}&lt;br /&gt;
{{Flink|boolean|hedge_maze|string}}&lt;br /&gt;
{{Flink|boolean|hermit|int|item}}&lt;br /&gt;
{{Flink|boolean|hermit|item|int}}&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;
{{FunctionEmbed|historical_age}}&lt;br /&gt;
{{FunctionEmbed|historical_price}}&lt;br /&gt;
{{Flink|string|holiday}}&lt;br /&gt;
{{Flink|int|hp_cost|skill}}&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_multi_fight}}&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;
{{FunctionEmbed|index_of|format=signature}}&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_banished|monster}}&lt;br /&gt;
{{Flink|boolean|is_coinmaster_item|item}}&lt;br /&gt;
{{FunctionEmbed|is_dark_mode}}&lt;br /&gt;
{{Flink|boolean|is_discardable|item}}&lt;br /&gt;
{{Flink|boolean|is_displayable|item}}&lt;br /&gt;
{{Flink|boolean|is_familiar_equipment_locked}}&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|item/familiar/skill/string}}&lt;br /&gt;
{{Flink|boolean|is_unrestricted|item/familiar/skill/string}}&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|item int string [int]|item_drops_array|{{opt|monster}}}}&lt;br /&gt;
{{Flink|boolean [int]|item_pockets}}&lt;br /&gt;
{{Flink|string|item_type|item}}&lt;br /&gt;
&lt;br /&gt;
===j===&lt;br /&gt;
{{Flink|boolean [int]|joke_pockets}}&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;
&lt;br /&gt;
===l===&lt;br /&gt;
{{Flink|int|last_choice}}&lt;br /&gt;
{{Flink|int|last_decision}}&lt;br /&gt;
{{FunctionEmbed|last_index_of|format=signature}}&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|string|leetify|string}}&lt;br /&gt;
{{Flink|int|length|string}}&lt;br /&gt;
{{Flink|int|lightning_cost|skill}}&lt;br /&gt;
{{Flink|string|limit_mode}}&lt;br /&gt;
{{Flink|buffer|load_html|string}}&lt;br /&gt;
{{Flink|void|lock_familiar_equipment|boolean}}&lt;br /&gt;
{{Flink|float|log_n|float|{{opt|float}}}}&lt;br /&gt;
{{Flink|void|logprint|string}}&lt;br /&gt;
&lt;br /&gt;
===m===&lt;br /&gt;
{{Flink|string|make_url|string|boolean|boolean}}&lt;br /&gt;
{{FunctionEmbed|mall_price}}&lt;br /&gt;
{{FunctionEmbed|mall_prices}}&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 ...}}&lt;br /&gt;
{{Flink|int|max|int ...}}&lt;br /&gt;
{{Flink|boolean|maximize|string|boolean}}&lt;br /&gt;
{{Flink|boolean|maximize|string|int|int|boolean}}&lt;br /&gt;
{{Flink|{string string float effect item skill} [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|int [int]|meat_pockets}}&lt;br /&gt;
{{Flink|float|min|float ...}}&lt;br /&gt;
{{Flink|int|min|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|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|element|monster_element|{{opt|monster}}}}&lt;br /&gt;
{{Flink|float|monster_eval|string}}&lt;br /&gt;
{{Flink|int|monster_factoids_available|monster|boolean}}&lt;br /&gt;
{{Flink|int|monster_hp|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_initiative|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_level_adjustment}}&lt;br /&gt;
{{Flink|string|monster_manuel_text|monster}}&lt;br /&gt;
{{Flink|phylum|monster_phylum|{{opt|monster}}}}&lt;br /&gt;
{{Flink|boolean [int]|monster_pockets}}&lt;br /&gt;
{{Flink|void|mood_execute|int}}&lt;br /&gt;
{{Flink|string [0]|mood_list}}&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_absorbs}}&lt;br /&gt;
{{Flink|int|my_adventures}}&lt;br /&gt;
{{Flink|int|my_ascensions}}&lt;br /&gt;
{{Flink|int|my_audience}}&lt;br /&gt;
{{Flink|int|my_basestat|stat}}&lt;br /&gt;
{{Flink|familiar|my_bjorned_familiar}}&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_garden_type}}&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|int|my_lightning}}&lt;br /&gt;
{{Flink|location|my_location}}&lt;br /&gt;
{{Flink|string|my_mask}}&lt;br /&gt;
{{Flink|int|my_maxfury}}&lt;br /&gt;
{{Flink|int|my_maxhp}}&lt;br /&gt;
{{Flink|int|my_maxmp}}&lt;br /&gt;
{{Flink|int|my_maxpp}}&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|int|my_path_id}}&lt;br /&gt;
{{Flink|familiar|my_poke_fam|int}}&lt;br /&gt;
{{Flink|int|my_pp}}&lt;br /&gt;
{{Flink|stat|my_primestat}}&lt;br /&gt;
{{Flink|int|my_rain}}&lt;br /&gt;
{{Flink|int|my_robot_energy}}&lt;br /&gt;
{{Flink|int|my_robot_scraps}}&lt;br /&gt;
{{Flink|servant|my_servant}}&lt;br /&gt;
{{Flink|int|my_session_adv}}&lt;br /&gt;
{{Flink|int [item]|my_session_items}}&lt;br /&gt;
{{Flink|int|my_session_items|item}}&lt;br /&gt;
{{Flink|int|my_session_meat}}&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|thrall|my_thrall}}&lt;br /&gt;
{{Flink|int|my_thunder}}&lt;br /&gt;
{{Flink|int|my_turncount}}&lt;br /&gt;
{{Flink|vykea|my_vykea_companion}}&lt;br /&gt;
&lt;br /&gt;
===n===&lt;br /&gt;
{{Flink|int|now_to_int}}&lt;br /&gt;
{{Flink|string|now_to_string|string}}&lt;br /&gt;
{{Flink|int|npc_price|item}}&lt;br /&gt;
{{Flink|string|numberology_prize|int}}&lt;br /&gt;
{{Flink|float|numeric_modifier|effect|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|familiar|string|int|item}}&lt;br /&gt;
{{Flink|float|numeric_modifier|item|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|skill|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|{{opt|string}}|string}}&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|string|outfit_tattoo|{{opt|string}}}}&lt;br /&gt;
{{FunctionEmbed|overdrink|format=signature}}&lt;br /&gt;
&lt;br /&gt;
===p===&lt;br /&gt;
{{Flink|string|path_id_to_name|int}}&lt;br /&gt;
{{Flink|int|path_name_to_id|string}}&lt;br /&gt;
{{Flink|boolean|pick_pocket|monster}}&lt;br /&gt;
{{Flink|int [effect]|pick_pocket|effect}}&lt;br /&gt;
{{Flink|int [item]|pick_pocket|item}}&lt;br /&gt;
{{Flink|int [stat]|pick_pocket|stat}}&lt;br /&gt;
{{Flink|boolean|pick_pocket|int}}&lt;br /&gt;
{{Flink|boolean [int]|picked_pockets}}&lt;br /&gt;
{{Flink|boolean [int]|picked_scraps}}&lt;br /&gt;
{{Flink|int [effect]|pocket_effects|int}}&lt;br /&gt;
{{Flink|int [item]|pocket_items|int}}&lt;br /&gt;
{{Flink|string|pocket_joke|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_meat|int}}&lt;br /&gt;
{{Flink|monster|pocket_monster|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_poem|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_scrap|int}}&lt;br /&gt;
{{Flink|int [stat]|pocket_stats|int}}&lt;br /&gt;
{{Flink|int [int]|poem_pockets}}&lt;br /&gt;
{{Flink|int [int]|potential_pockets|effect/item/monster/stat}}&lt;br /&gt;
{{Flink|void|print|{{opt|string}}|{{opt|string}}}}&lt;br /&gt;
{{Flink|void|print_html|string}}&lt;br /&gt;
{{FunctionEmbed|property_default_value|format=signature}}&lt;br /&gt;
{{FunctionEmbed|property_exists|format=signature}}&lt;br /&gt;
{{FunctionEmbed|property_has_default|format=signature}}&lt;br /&gt;
{{Flink|int|pulls_remaining}}&lt;br /&gt;
{{Flink|boolean|put_closet|int|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|put_closet|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|put_display|int|item}}&lt;br /&gt;
{{Flink|boolean|put_display|item|int}}&lt;br /&gt;
{{Flink|boolean|put_shop|int|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|boolean|put_shop_using_storage|int|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|boolean|put_stash|int|item}}&lt;br /&gt;
{{Flink|boolean|put_stash|item|int}}&lt;br /&gt;
{{Flink|int|pvp_attacks_left}}&lt;br /&gt;
&lt;br /&gt;
===r===&lt;br /&gt;
{{Flink|int|rain_cost|skill}}&lt;br /&gt;
{{Flink|int|random|int}}&lt;br /&gt;
{{Flink|int|raw_damage_absorption}}&lt;br /&gt;
{{Flink|boolean|refresh_shop}}&lt;br /&gt;
{{Flink|boolean|refresh_stash}}&lt;br /&gt;
{{Flink|boolean|refresh_status}}&lt;br /&gt;
{{Flink|void|remove_item_condition|int|item}}&lt;br /&gt;
{{Flink|void|remove_item_condition|item|int}}&lt;br /&gt;
{{FunctionEmbed|remove_property|format=signature}}&lt;br /&gt;
{{FunctionEmbed|rename_property|format=signature}}&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|boolean|reprice_shop|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|matcher|reset|matcher|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean [int]|restoration_pockets}}&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|boolean|retrieve_item|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|int [int]|reverse_numberology|{{opt|int|int}}}}&lt;br /&gt;
{{Flink|int|rollover}}&lt;br /&gt;
{{Flink|int|round|float}}&lt;br /&gt;
{{FunctionEmbed|run_choice|format=signature}}&lt;br /&gt;
{{Flink|buffer|run_combat|{{opt|string}}}}&lt;br /&gt;
{{Flink|buffer|run_turn}}&lt;br /&gt;
{{Flink|buffer|runaway}}&lt;br /&gt;
&lt;br /&gt;
===s===&lt;br /&gt;
{{Flink|int [int]|scrap_pockets}}&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}}|{{opt|string}}|int}}&lt;br /&gt;
{{Flink|void|set_auto_attack|int/string}}&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_limit|item}}&lt;br /&gt;
{{Flink|int|shop_price|item}}&lt;br /&gt;
{{Flink|skill|skill_modifier|item|string}}&lt;br /&gt;
{{Flink|skill|skill_modifier|string|string}}&lt;br /&gt;
{{Flink|int|slash_count|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;
{{FunctionEmbed|starts_with|format=signature}}&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|void|stop_counter|string}}&lt;br /&gt;
{{Flink|int|storage_amount|item}}&lt;br /&gt;
{{Flink|string|string_modifier|{{opt|string}}|string}}&lt;br /&gt;
{{Flink|skill|stun_skill}}&lt;br /&gt;
{{Flink|string|substring|string|int|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|svn_at_head|string}}&lt;br /&gt;
{{Flink|boolean|svn_exists|string}}&lt;br /&gt;
{{Flink|{string int string int string}|svn_info|string}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|effect|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|int|effect|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|{{opt|int}}|item|item}}&lt;br /&gt;
{{Flink|item [0]|sweet_synthesis_pair|effect|{{opt|item}}|{{opt|int}}}}&lt;br /&gt;
{{Flink|effect|sweet_synthesis_result|item|item}}&lt;br /&gt;
&lt;br /&gt;
===t===&lt;br /&gt;
{{Flink|boolean|take_closet|int|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|take_closet|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|take_display|int|item}}&lt;br /&gt;
{{Flink|boolean|take_display|item|int}}&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_stash|item|int}}&lt;br /&gt;
{{Flink|boolean|take_storage|int|item}}&lt;br /&gt;
{{Flink|boolean|take_storage|item|int}}&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|int|thunder_cost|skill}}&lt;br /&gt;
{{Flink|string|time_to_string}}&lt;br /&gt;
{{Flink|string|timestamp_to_date|int|string}}&lt;br /&gt;
{{Flink|boolean|to_boolean|any}}&lt;br /&gt;
{{Flink|bounty|to_bounty|strict_string}}&lt;br /&gt;
{{Flink|class|to_class|strict_string/int}}&lt;br /&gt;
{{Flink|coinmaster|to_coinmaster|strict_string}}&lt;br /&gt;
{{Flink|effect|to_effect|int/skill/strict_string}}&lt;br /&gt;
{{Flink|element|to_element|strict_string}}&lt;br /&gt;
{{Flink|familiar|to_familiar|int/strict_string}}&lt;br /&gt;
{{Flink|float|to_float|any}}&lt;br /&gt;
{{Flink|int|to_int|any}}&lt;br /&gt;
{{Flink|item|to_item|int/strict_string}}&lt;br /&gt;
{{Flink|item|to_item|string|int}}&lt;br /&gt;
{{Flink|string|to_json|aggregate}}&lt;br /&gt;
{{Flink|location|to_location|int/strict_string}}&lt;br /&gt;
{{Flink|string|to_lower_case|string}}&lt;br /&gt;
{{Flink|monster|to_monster|int/strict_string}}&lt;br /&gt;
{{Flink|phylum|to_phylum|string}}&lt;br /&gt;
{{Flink|string|to_plural|item}}&lt;br /&gt;
{{Flink|servant|to_servant|int/strict_string}}&lt;br /&gt;
{{Flink|skill|to_skill|effect/int}}&lt;br /&gt;
{{Flink|skill|to_skill|strict_string|{{opt|strict_string}}}}&lt;br /&gt;
{{Flink|slot|to_slot|item/strict_string}}&lt;br /&gt;
{{Flink|stat|to_stat|strict_string}}&lt;br /&gt;
{{Flink|string|to_string|any}}&lt;br /&gt;
{{Flink|thrall|to_thrall|int/strict_string}}&lt;br /&gt;
{{Flink|string|to_upper_case|string}}&lt;br /&gt;
{{Flink|string|to_url|location}}&lt;br /&gt;
{{Flink|vykea|to_vykea|strict_string}}&lt;br /&gt;
{{Flink|string|today_to_string}}&lt;br /&gt;
{{Flink|int|total_free_rests}}&lt;br /&gt;
{{Flink|int|total_turns_played}}&lt;br /&gt;
{{Flink|boolean|tower_door}}&lt;br /&gt;
{{Flink|void|traceprint|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;
{{Flink|buffer|twiddle}}&lt;br /&gt;
&lt;br /&gt;
===u===&lt;br /&gt;
{{Flink|item|unusual_construct_disc}}&lt;br /&gt;
{{Flink|void|update_candy_prices}}&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|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|use_familiar|familiar}}&lt;br /&gt;
{{Flink|boolean|use_servant|servant}}&lt;br /&gt;
{{Flink|boolean|use_skill|int|skill|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|use_skill|skill|int|{{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;
{{FunctionEmbed|visit_url}}&lt;br /&gt;
{{Flink|boolean [string]|voting_booth_initiatives|class|int|int}}&lt;br /&gt;
{{Flink|boolean [string]|voting_booth_initiatives|int|int|int}}&lt;br /&gt;
&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;
===x===&lt;br /&gt;
{{Flink|string[int]|xpath|string|string}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=File_to_array&amp;diff=9202</id>
		<title>File to array</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=File_to_array&amp;diff=9202"/>
		<updated>2023-04-24T06:38:37Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Fix link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;{{{{{format|Function2}}}&lt;br /&gt;
|name=file_to_array&lt;br /&gt;
|function1.return_type={{type|string}} &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;{{type|int}}&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|function1.description=Reads data from a text file and returns a map of strings containing each line.&lt;br /&gt;
|function1.param1=filename&lt;br /&gt;
|function1.param1.type=string&lt;br /&gt;
|function1.param2.optional=&lt;br /&gt;
|function1.param2.default=&lt;br /&gt;
|function1.param1.description=Path to the text file&lt;br /&gt;
|description=&amp;lt;p&amp;gt;The returned value is actually a map of strings, one string for each line. Like &amp;lt;code&amp;gt;[[file_to_map|file_to_map()]]&amp;lt;/code&amp;gt;, empty lines and those starting with a &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; are ignored.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This function was added in [https://kolmafia.us/threads/file_to_string-or-file_to_map-string-string-or-session_logs-string-int-int.22940/#post-148463 r18740].&amp;lt;/p&amp;gt;&lt;br /&gt;
|code1={{CodeSample&lt;br /&gt;
  |title=Code Samples&lt;br /&gt;
  |description=Reads a data file into a map of strings and prints each line&lt;br /&gt;
  |code=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;d&amp;quot;&amp;gt;&lt;br /&gt;
string [int] lines = file_to_array(&amp;quot;mydata.txt&amp;quot;);&lt;br /&gt;
foreach line_no, line in lines {&lt;br /&gt;
  print(`{line_no}: {line}`);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
  |moreinfo=&lt;br /&gt;
}}&lt;br /&gt;
|see_also={{SeeAlso|buffer_to_file|file_to_buffer|file_to_map|map_to_file}}&lt;br /&gt;
|{{{1|}}}&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
[[Category:Miscellaneous Functions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Ash_Functions&amp;diff=9201</id>
		<title>Ash Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Ash_Functions&amp;diff=9201"/>
		<updated>2023-04-23T10:11:17Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
Master list of all ASH functions. All functions as of r20745 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;
The CLI command &amp;quot;[[ashref]]&amp;quot; shows every implemented ash function for your mafia version.&lt;br /&gt;
===a===&lt;br /&gt;
{{FunctionEmbed|abort|format=signature}}&lt;br /&gt;
{{FunctionEmbed|add_item_condition|format=signature}}&lt;br /&gt;
{{Flink|boolean|adv1|location|{{opt|int}}|{{opt|string}}}}&lt;br /&gt;
{{Flink|int|adv_cost|skill}}&lt;br /&gt;
{{Flink|boolean|adventure|int|location|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|adventure|location|int|{{opt|string}}}}&lt;br /&gt;
{{FunctionEmbed|all_monsters_with_id|format=signature}}&lt;br /&gt;
{{Flink|string [int]|all_normal_outfits}}&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|boolean|autosell|item|int}}&lt;br /&gt;
{{Flink|int|autosell_price|item}}&lt;br /&gt;
{{Flink|int|available_amount|item}}&lt;br /&gt;
{{FunctionEmbed|available_choice_options}}&lt;br /&gt;
{{FunctionEmbed|available_choice_select_inputs}}&lt;br /&gt;
{{Flink|string [string]|available_choice_text_inputs|int}}&lt;br /&gt;
{{Flink|int|available_pocket|monster}}&lt;br /&gt;
{{Flink|int|available_pocket|effect}}&lt;br /&gt;
{{Flink|int|available_pocket|item}}&lt;br /&gt;
{{Flink|int|available_pocket|stat}}&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|bjornify_familiar|familiar}}&lt;br /&gt;
{{Flink|boolean|black_market_available}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|{{opt|string}}|string}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|effect|string}}&lt;br /&gt;
{{Flink|boolean|boolean_modifier|item|string}}&lt;br /&gt;
{{Flink|int|buffed_hit_stat}}&lt;br /&gt;
{{FunctionEmbed|buffer_to_file|format=signature}}&lt;br /&gt;
{{Flink|boolean|buy|coinmaster|item}}&lt;br /&gt;
{{Flink|boolean|buy|{{opt|coinmaster}}|int|item}}&lt;br /&gt;
{{Flink|boolean|buy|item|{{opt|int}}|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|buy|int|item|int}}&lt;br /&gt;
{{Flink|int|buy_price|coinmaster|item}}&lt;br /&gt;
{{Flink|boolean|buy_using_storage|int|item}}&lt;br /&gt;
{{Flink|int|buy_using_storage|int|item|int}}&lt;br /&gt;
{{Flink|int|buy_using_storage|item|int|int}}&lt;br /&gt;
{{Flink|boolean|buys_item|coinmaster|item}}&lt;br /&gt;
&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|familiar|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|can_equip|item}}&lt;br /&gt;
{{Flink|boolean|can_faxbot|monster}}&lt;br /&gt;
{{Flink|boolean|can_interact}}&lt;br /&gt;
{{Flink|boolean|can_still_steal}}&lt;br /&gt;
{{Flink|boolean|canadia_available}}&lt;br /&gt;
{{Flink|item [0]|candy_for_tier|int|{{opt|int}}}}&lt;br /&gt;
{{Flink|int|ceil|float}}&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|boolean|chew|int|item}}&lt;br /&gt;
{{Flink|boolean|chew|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|choice_follows_fight}}&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;
{{FunctionEmbed|clear_booze_helper|format=signature}}&lt;br /&gt;
{{FunctionEmbed|clear_food_helper|format=signature}}&lt;br /&gt;
{{FunctionEmbed|cli_execute|format=signature}}&lt;br /&gt;
{{FunctionEmbed|cli_execute_output|format=signature}}&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;
{{FunctionEmbed|contains_text|format=signature}}&lt;br /&gt;
{{Flink|void|council}}&lt;br /&gt;
{{Flink|int|count|aggregate}}&lt;br /&gt;
{{Flink|int|craft|string|int|item|item}}&lt;br /&gt;
{{Flink|string|craft_type|item}}&lt;br /&gt;
{{Flink|int|creatable_amount|item}}&lt;br /&gt;
{{Flink|int|creatable_turns|item|{{opt|int}}|{{opt|boolean}}}}&lt;br /&gt;
{{Flink|boolean|create|int|item}}&lt;br /&gt;
{{Flink|boolean|create|item|{{opt|int}}}}&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;
{{Flink|int [string]|current_pvp_stances}}&lt;br /&gt;
{{Flink|int|current_rad_sickness}}&lt;br /&gt;
{{Flink|int|current_round}}&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|int|date_to_timestamp|string|string}}&lt;br /&gt;
{{Flink|void|debugprint|string}}&lt;br /&gt;
{{Flink|buffer|delete|buffer|int|int}}&lt;br /&gt;
{{Flink|effect|desc_to_effect|string}}&lt;br /&gt;
{{Flink|item|desc_to_item|string}}&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;
{{FunctionEmbed|drink|format=signature}}&lt;br /&gt;
{{Flink|boolean|drinksilent|int|item}}&lt;br /&gt;
{{Flink|boolean|drinksilent|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|void|dump|any|{{opt|string}}}}&lt;br /&gt;
&lt;br /&gt;
===e===&lt;br /&gt;
{{FunctionEmbed|eat|format=signature}}&lt;br /&gt;
{{Flink|boolean|eatsilent|int|item}}&lt;br /&gt;
{{Flink|boolean|eatsilent|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|effect|effect_modifier|string|string}}&lt;br /&gt;
{{Flink|effect|effect_modifier|item|string}}&lt;br /&gt;
{{Flink|boolean [int]|effect_pockets}}&lt;br /&gt;
{{Flink|float|elemental_resistance|{{opt|element}}}}&lt;br /&gt;
{{Flink|float|elemental_resistance|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;
{{FunctionEmbed|ends_with|format=signature}}&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|equip|item|{{opt|slot}}}}&lt;br /&gt;
{{Flink|boolean|equip|slot|item}}&lt;br /&gt;
{{Flink|boolean|equip_all_familiars}}&lt;br /&gt;
{{Flink|int|equipped_amount|item}}&lt;br /&gt;
{{Flink|item|equipped_item|slot}}&lt;br /&gt;
{{Flink|string|eudora}}&lt;br /&gt;
{{Flink|boolean|eudora|string}}&lt;br /&gt;
{{Flink|string|every_card_name|strict_string}}&lt;br /&gt;
{{Flink|int|expected_damage|{{opt|monster}}}}&lt;br /&gt;
{{Flink|float|experience_bonus}}&lt;br /&gt;
{{Flink|float|expression_eval|string}}&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 [familiar]|favorite_familiars|}}&lt;br /&gt;
{{Flink|boolean|faxbot|monster|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|fight_follows_choice}}&lt;br /&gt;
{{FunctionEmbed|file_to_array|format=signature}}&lt;br /&gt;
{{FunctionEmbed|file_to_buffer|format=signature}}&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|boolean|florist_available}}&lt;br /&gt;
{{Flink|boolean|flush_monster_manuel_cache}}&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|fuel_cost|skill}}&lt;br /&gt;
{{Flink|int|fullness_limit}}&lt;br /&gt;
&lt;br /&gt;
===g===&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|boolean [string] |get_all_properties|string|boolean}}&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 [item]|get_chateau}}&lt;br /&gt;
{{Flink|int|get_clan_id}}&lt;br /&gt;
{{Flink|int [item]|get_clan_lounge}}&lt;br /&gt;
{{Flink|string|get_clan_name}}&lt;br /&gt;
{{Flink|int [string]|get_clan_rumpus}}&lt;br /&gt;
{{Flink|int [item]|get_closet}}&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 [location, 3]|get_florist_plants}}&lt;br /&gt;
{{Flink|int [item]|get_free_pulls}}&lt;br /&gt;
{{Flink|int|get_fuel}}&lt;br /&gt;
{{Flink|string [int]|get_goals}}&lt;br /&gt;
{{Flink|boolean|get_ignore_zone_warnings}}&lt;br /&gt;
{{Flink|int [item]|get_ingredients|item}}&lt;br /&gt;
{{Flink|int [item]|get_inventory}}&lt;br /&gt;
{{Flink|boolean [monster]|get_location_monsters|location}}&lt;br /&gt;
{{Flink|monster [monster]|get_monster_mapping|{{opt|string}}}}&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|string|get_player_name|int}}&lt;br /&gt;
{{Flink|int|get_power|item}}&lt;br /&gt;
{{Flink|string|get_property|string|{{opt|boolean}}}}&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 [0]|get_shop_log}}&lt;br /&gt;
{{Flink|string string int [0]|get_stack_trace}}&lt;br /&gt;
{{Flink|int [item]|get_stash}}&lt;br /&gt;
{{Flink|int [item]|get_storage}}&lt;br /&gt;
{{Flink|string|get_version}}&lt;br /&gt;
{{Flink|string|get_workshed}}&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|string|group|matcher|string}}&lt;br /&gt;
{{Flink|int|group_count|matcher}}&lt;br /&gt;
{{Flink|boolean [string]|group_names|matcher}}&lt;br /&gt;
{{Flink|string [int, int]|group_string|string|string}}&lt;br /&gt;
{{Flink|boolean|guild_available}}&lt;br /&gt;
{{Flink|boolean|guild_store_available}}&lt;br /&gt;
&lt;br /&gt;
===h===&lt;br /&gt;
{{Flink|boolean|handling_choice}}&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_servant|servant}}&lt;br /&gt;
{{Flink|boolean|have_shop}}&lt;br /&gt;
{{Flink|boolean|have_skill|skill}}&lt;br /&gt;
{{Flink|boolean|hedge_maze|string}}&lt;br /&gt;
{{Flink|boolean|hermit|int|item}}&lt;br /&gt;
{{Flink|boolean|hermit|item|int}}&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;
{{FunctionEmbed|historical_age}}&lt;br /&gt;
{{FunctionEmbed|historical_price}}&lt;br /&gt;
{{Flink|string|holiday}}&lt;br /&gt;
{{Flink|int|hp_cost|skill}}&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_multi_fight}}&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;
{{FunctionEmbed|index_of|format=signature}}&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_banished|monster}}&lt;br /&gt;
{{Flink|boolean|is_coinmaster_item|item}}&lt;br /&gt;
{{FunctionEmbed|is_dark_mode}}&lt;br /&gt;
{{Flink|boolean|is_discardable|item}}&lt;br /&gt;
{{Flink|boolean|is_displayable|item}}&lt;br /&gt;
{{Flink|boolean|is_familiar_equipment_locked}}&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|item/familiar/skill/string}}&lt;br /&gt;
{{Flink|boolean|is_unrestricted|item/familiar/skill/string}}&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|item int string [int]|item_drops_array|{{opt|monster}}}}&lt;br /&gt;
{{Flink|boolean [int]|item_pockets}}&lt;br /&gt;
{{Flink|string|item_type|item}}&lt;br /&gt;
&lt;br /&gt;
===j===&lt;br /&gt;
{{Flink|boolean [int]|joke_pockets}}&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;
&lt;br /&gt;
===l===&lt;br /&gt;
{{Flink|int|last_choice}}&lt;br /&gt;
{{Flink|int|last_decision}}&lt;br /&gt;
{{FunctionEmbed|last_index_of|format=signature}}&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|string|leetify|string}}&lt;br /&gt;
{{Flink|int|length|string}}&lt;br /&gt;
{{Flink|int|lightning_cost|skill}}&lt;br /&gt;
{{Flink|string|limit_mode}}&lt;br /&gt;
{{Flink|buffer|load_html|string}}&lt;br /&gt;
{{Flink|void|lock_familiar_equipment|boolean}}&lt;br /&gt;
{{Flink|float|log_n|float|{{opt|float}}}}&lt;br /&gt;
{{Flink|void|logprint|string}}&lt;br /&gt;
&lt;br /&gt;
===m===&lt;br /&gt;
{{Flink|string|make_url|string|boolean|boolean}}&lt;br /&gt;
{{FunctionEmbed|mall_price}}&lt;br /&gt;
{{FunctionEmbed|mall_prices}}&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 ...}}&lt;br /&gt;
{{Flink|int|max|int ...}}&lt;br /&gt;
{{Flink|boolean|maximize|string|boolean}}&lt;br /&gt;
{{Flink|boolean|maximize|string|int|int|boolean}}&lt;br /&gt;
{{Flink|{string string float effect item skill} [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|int [int]|meat_pockets}}&lt;br /&gt;
{{Flink|float|min|float ...}}&lt;br /&gt;
{{Flink|int|min|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|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|element|monster_element|{{opt|monster}}}}&lt;br /&gt;
{{Flink|float|monster_eval|string}}&lt;br /&gt;
{{Flink|int|monster_factoids_available|monster|boolean}}&lt;br /&gt;
{{Flink|int|monster_hp|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_initiative|{{opt|monster}}}}&lt;br /&gt;
{{Flink|int|monster_level_adjustment}}&lt;br /&gt;
{{Flink|string|monster_manuel_text|monster}}&lt;br /&gt;
{{Flink|phylum|monster_phylum|{{opt|monster}}}}&lt;br /&gt;
{{Flink|boolean [int]|monster_pockets}}&lt;br /&gt;
{{Flink|void|mood_execute|int}}&lt;br /&gt;
{{Flink|string [0]|mood_list}}&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_absorbs}}&lt;br /&gt;
{{Flink|int|my_adventures}}&lt;br /&gt;
{{Flink|int|my_ascensions}}&lt;br /&gt;
{{Flink|int|my_audience}}&lt;br /&gt;
{{Flink|int|my_basestat|stat}}&lt;br /&gt;
{{Flink|familiar|my_bjorned_familiar}}&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_garden_type}}&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|int|my_lightning}}&lt;br /&gt;
{{Flink|location|my_location}}&lt;br /&gt;
{{Flink|string|my_mask}}&lt;br /&gt;
{{Flink|int|my_maxfury}}&lt;br /&gt;
{{Flink|int|my_maxhp}}&lt;br /&gt;
{{Flink|int|my_maxmp}}&lt;br /&gt;
{{Flink|int|my_maxpp}}&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|int|my_path_id}}&lt;br /&gt;
{{Flink|familiar|my_poke_fam|int}}&lt;br /&gt;
{{Flink|int|my_pp}}&lt;br /&gt;
{{Flink|stat|my_primestat}}&lt;br /&gt;
{{Flink|int|my_rain}}&lt;br /&gt;
{{Flink|int|my_robot_energy}}&lt;br /&gt;
{{Flink|int|my_robot_scraps}}&lt;br /&gt;
{{Flink|servant|my_servant}}&lt;br /&gt;
{{Flink|int|my_session_adv}}&lt;br /&gt;
{{Flink|int [item]|my_session_items}}&lt;br /&gt;
{{Flink|int|my_session_items|item}}&lt;br /&gt;
{{Flink|int|my_session_meat}}&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|thrall|my_thrall}}&lt;br /&gt;
{{Flink|int|my_thunder}}&lt;br /&gt;
{{Flink|int|my_turncount}}&lt;br /&gt;
{{Flink|vykea|my_vykea_companion}}&lt;br /&gt;
&lt;br /&gt;
===n===&lt;br /&gt;
{{Flink|int|now_to_int}}&lt;br /&gt;
{{Flink|string|now_to_string|string}}&lt;br /&gt;
{{Flink|int|npc_price|item}}&lt;br /&gt;
{{Flink|string|numberology_prize|int}}&lt;br /&gt;
{{Flink|float|numeric_modifier|effect|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|familiar|string|int|item}}&lt;br /&gt;
{{Flink|float|numeric_modifier|item|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|skill|string}}&lt;br /&gt;
{{Flink|float|numeric_modifier|{{opt|string}}|string}}&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|string|outfit_tattoo|{{opt|string}}}}&lt;br /&gt;
{{FunctionEmbed|overdrink|format=signature}}&lt;br /&gt;
&lt;br /&gt;
===p===&lt;br /&gt;
{{Flink|string|path_id_to_name|int}}&lt;br /&gt;
{{Flink|int|path_name_to_id|string}}&lt;br /&gt;
{{Flink|boolean|pick_pocket|monster}}&lt;br /&gt;
{{Flink|int [effect]|pick_pocket|effect}}&lt;br /&gt;
{{Flink|int [item]|pick_pocket|item}}&lt;br /&gt;
{{Flink|int [stat]|pick_pocket|stat}}&lt;br /&gt;
{{Flink|boolean|pick_pocket|int}}&lt;br /&gt;
{{Flink|boolean [int]|picked_pockets}}&lt;br /&gt;
{{Flink|boolean [int]|picked_scraps}}&lt;br /&gt;
{{Flink|int [effect]|pocket_effects|int}}&lt;br /&gt;
{{Flink|int [item]|pocket_items|int}}&lt;br /&gt;
{{Flink|string|pocket_joke|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_meat|int}}&lt;br /&gt;
{{Flink|monster|pocket_monster|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_poem|int}}&lt;br /&gt;
{{Flink|string [int]|pocket_scrap|int}}&lt;br /&gt;
{{Flink|int [stat]|pocket_stats|int}}&lt;br /&gt;
{{Flink|int [int]|poem_pockets}}&lt;br /&gt;
{{Flink|int [int]|potential_pockets|effect/item/monster/stat}}&lt;br /&gt;
{{Flink|void|print|{{opt|string}}|{{opt|string}}}}&lt;br /&gt;
{{Flink|void|print_html|string}}&lt;br /&gt;
{{FunctionEmbed|property_default_value|format=signature}}&lt;br /&gt;
{{FunctionEmbed|property_exists|format=signature}}&lt;br /&gt;
{{FunctionEmbed|property_has_default|format=signature}}&lt;br /&gt;
{{Flink|int|pulls_remaining}}&lt;br /&gt;
{{Flink|boolean|put_closet|int|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|put_closet|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|put_display|int|item}}&lt;br /&gt;
{{Flink|boolean|put_display|item|int}}&lt;br /&gt;
{{Flink|boolean|put_shop|int|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|boolean|put_shop_using_storage|int|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|boolean|put_stash|int|item}}&lt;br /&gt;
{{Flink|boolean|put_stash|item|int}}&lt;br /&gt;
{{Flink|int|pvp_attacks_left}}&lt;br /&gt;
&lt;br /&gt;
===r===&lt;br /&gt;
{{Flink|int|rain_cost|skill}}&lt;br /&gt;
{{Flink|int|random|int}}&lt;br /&gt;
{{Flink|int|raw_damage_absorption}}&lt;br /&gt;
{{Flink|boolean|refresh_shop}}&lt;br /&gt;
{{Flink|boolean|refresh_stash}}&lt;br /&gt;
{{Flink|boolean|refresh_status}}&lt;br /&gt;
{{Flink|void|remove_item_condition|int|item}}&lt;br /&gt;
{{Flink|void|remove_item_condition|item|int}}&lt;br /&gt;
{{FunctionEmbed|remove_property|format=signature}}&lt;br /&gt;
{{FunctionEmbed|rename_property|format=signature}}&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|boolean|reprice_shop|int|{{opt|int}}|item}}&lt;br /&gt;
{{Flink|matcher|reset|matcher|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean [int]|restoration_pockets}}&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|boolean|retrieve_item|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|int [int]|reverse_numberology|{{opt|int|int}}}}&lt;br /&gt;
{{Flink|int|rollover}}&lt;br /&gt;
{{Flink|int|round|float}}&lt;br /&gt;
{{FunctionEmbed|run_choice|format=signature}}&lt;br /&gt;
{{Flink|buffer|run_combat|{{opt|string}}}}&lt;br /&gt;
{{Flink|buffer|run_turn}}&lt;br /&gt;
{{Flink|buffer|runaway}}&lt;br /&gt;
&lt;br /&gt;
===s===&lt;br /&gt;
{{Flink|int [int]|scrap_pockets}}&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}}|{{opt|string}}|int}}&lt;br /&gt;
{{Flink|void|set_auto_attack|int/string}}&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_limit|item}}&lt;br /&gt;
{{Flink|int|shop_price|item}}&lt;br /&gt;
{{Flink|skill|skill_modifier|item|string}}&lt;br /&gt;
{{Flink|skill|skill_modifier|string|string}}&lt;br /&gt;
{{Flink|int|slash_count|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;
{{FunctionEmbed|starts_with|format=signature}}&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|void|stop_counter|string}}&lt;br /&gt;
{{Flink|int|storage_amount|item}}&lt;br /&gt;
{{Flink|string|string_modifier|{{opt|string}}|string}}&lt;br /&gt;
{{Flink|skill|stun_skill}}&lt;br /&gt;
{{Flink|string|substring|string|int|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|svn_at_head|string}}&lt;br /&gt;
{{Flink|boolean|svn_exists|string}}&lt;br /&gt;
{{Flink|{string int string int string}|svn_info|string}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|effect|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|int|effect|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|sweet_synthesis|{{opt|int}}|item|item}}&lt;br /&gt;
{{Flink|item [0]|sweet_synthesis_pair|effect|{{opt|item}}|{{opt|int}}}}&lt;br /&gt;
{{Flink|effect|sweet_synthesis_result|item|item}}&lt;br /&gt;
&lt;br /&gt;
===t===&lt;br /&gt;
{{Flink|boolean|take_closet|int|{{opt|item}}}}&lt;br /&gt;
{{Flink|boolean|take_closet|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|take_display|int|item}}&lt;br /&gt;
{{Flink|boolean|take_display|item|int}}&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_stash|item|int}}&lt;br /&gt;
{{Flink|boolean|take_storage|int|item}}&lt;br /&gt;
{{Flink|boolean|take_storage|item|int}}&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|int|thunder_cost|skill}}&lt;br /&gt;
{{Flink|string|time_to_string}}&lt;br /&gt;
{{Flink|string|timestamp_to_date|int|string}}&lt;br /&gt;
{{Flink|boolean|to_boolean|any}}&lt;br /&gt;
{{Flink|bounty|to_bounty|strict_string}}&lt;br /&gt;
{{Flink|class|to_class|strict_string/int}}&lt;br /&gt;
{{Flink|coinmaster|to_coinmaster|strict_string}}&lt;br /&gt;
{{Flink|effect|to_effect|int/skill/strict_string}}&lt;br /&gt;
{{Flink|element|to_element|strict_string}}&lt;br /&gt;
{{Flink|familiar|to_familiar|int/strict_string}}&lt;br /&gt;
{{Flink|float|to_float|any}}&lt;br /&gt;
{{Flink|int|to_int|any}}&lt;br /&gt;
{{Flink|item|to_item|int/strict_string}}&lt;br /&gt;
{{Flink|item|to_item|string|int}}&lt;br /&gt;
{{Flink|string|to_json|aggregate}}&lt;br /&gt;
{{Flink|location|to_location|int/strict_string}}&lt;br /&gt;
{{Flink|string|to_lower_case|string}}&lt;br /&gt;
{{Flink|monster|to_monster|int/strict_string}}&lt;br /&gt;
{{Flink|phylum|to_phylum|string}}&lt;br /&gt;
{{Flink|string|to_plural|item}}&lt;br /&gt;
{{Flink|servant|to_servant|int/strict_string}}&lt;br /&gt;
{{Flink|skill|to_skill|effect/int}}&lt;br /&gt;
{{Flink|skill|to_skill|strict_string|{{opt|strict_string}}}}&lt;br /&gt;
{{Flink|slot|to_slot|item/strict_string}}&lt;br /&gt;
{{Flink|stat|to_stat|strict_string}}&lt;br /&gt;
{{Flink|string|to_string|any}}&lt;br /&gt;
{{Flink|thrall|to_thrall|int/strict_string}}&lt;br /&gt;
{{Flink|string|to_upper_case|string}}&lt;br /&gt;
{{Flink|string|to_url|location}}&lt;br /&gt;
{{Flink|vykea|to_vykea|strict_string}}&lt;br /&gt;
{{Flink|string|today_to_string}}&lt;br /&gt;
{{Flink|int|total_free_rests}}&lt;br /&gt;
{{Flink|int|total_turns_played}}&lt;br /&gt;
{{Flink|boolean|tower_door}}&lt;br /&gt;
{{Flink|void|traceprint|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;
{{Flink|buffer|twiddle}}&lt;br /&gt;
&lt;br /&gt;
===u===&lt;br /&gt;
{{Flink|item|unusual_construct_disc}}&lt;br /&gt;
{{Flink|void|update_candy_prices}}&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|item|{{opt|int}}}}&lt;br /&gt;
{{Flink|boolean|use_familiar|familiar}}&lt;br /&gt;
{{Flink|boolean|use_servant|servant}}&lt;br /&gt;
{{Flink|boolean|use_skill|int|skill|{{opt|string}}}}&lt;br /&gt;
{{Flink|boolean|use_skill|skill|int|{{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;
{{FunctionEmbed|visit_url}}&lt;br /&gt;
{{Flink|boolean [string]|voting_booth_initiatives|class|int|int}}&lt;br /&gt;
{{Flink|boolean [string]|voting_booth_initiatives|int|int|int}}&lt;br /&gt;
&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;
===x===&lt;br /&gt;
{{Flink|string[int]|xpath|string|string}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Available_choice_select_inputs&amp;diff=9200</id>
		<title>Available choice select inputs</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Available_choice_select_inputs&amp;diff=9200"/>
		<updated>2023-04-23T10:08:25Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;{{{{{format|Function2}}}&lt;br /&gt;
|name=available_choice_select_inputs&lt;br /&gt;
|function1.return_type={{type|string}}{{opt|{{type|string}}, {{type|string}}}}&lt;br /&gt;
|function1.description=For the specified decision, returns a map from NAME to a map from VALUE to DESCRIPTION.&lt;br /&gt;
|function1.param1=decision&lt;br /&gt;
|function1.param1.type=int&lt;br /&gt;
|function1.param1.default=&lt;br /&gt;
|function1.param1.description=&lt;br /&gt;
|description=This function was added in [https://sourceforge.net/p/kolmafia/code/19543 r19543] and explained by Veracity in the [https://kolmafia.us/threads/allow-property-choiceadventurexxx-url.24195/#post-154288 following post].&lt;br /&gt;
|code1={{CodeSample&lt;br /&gt;
  |title=Code Samples&lt;br /&gt;
  |description= Running the following Code on the [https://kol.coldfront.net/thekolwiki/index.php/The_Exploaded_Battlefield Exploaded Battlefield] choice:&lt;br /&gt;
  |code=&lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;d&amp;quot;&amp;gt;&lt;br /&gt;
foreach decision, description in available_choice_options() {&lt;br /&gt;
   print( &amp;quot;Choice &amp;quot; + decision + &amp;quot;: &amp;quot; + description );&lt;br /&gt;
   string[string][string] selects = available_choice_select_inputs( decision );&lt;br /&gt;
   foreach name in selects {&lt;br /&gt;
      string[string] mapping = selects[name];&lt;br /&gt;
      print( &amp;quot;  select = &amp;quot; + name + &amp;quot; (&amp;quot; + count(mapping) + &amp;quot; options)&amp;quot; );&lt;br /&gt;
         foreach value, desc in mapping {&lt;br /&gt;
	        print( &amp;quot;    &amp;quot; + value + &amp;quot; =&amp;gt; &amp;quot; + desc );&lt;br /&gt;
         }&lt;br /&gt;
   }&lt;br /&gt;
   string[string] texts = available_choice_text_inputs( decision );&lt;br /&gt;
      foreach text, desc in texts {&lt;br /&gt;
         print( &amp;quot;  text = &amp;quot; + text );&lt;br /&gt;
      }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
  |moreinfo= Will give the following output: &amp;lt;pre&amp;gt;Choice 1: Toss!&lt;br /&gt;
  select = tossid (24 options)&lt;br /&gt;
    0 =&amp;gt; --- select an item ---&lt;br /&gt;
    10179 =&amp;gt; plain snowcone (12) (5 casualties)&lt;br /&gt;
    161 =&amp;gt; ghuol egg (2) (5 casualties)&lt;br /&gt;
    1769 =&amp;gt; fricasseed brains (5 casualties)&lt;br /&gt;
    1776 =&amp;gt; stale baguette (5 casualties)&lt;br /&gt;
    1778 =&amp;gt; ancient frozen dinner (6 casualties)&lt;br /&gt;
    1952 =&amp;gt; desiccated apricot (5 casualties)&lt;br /&gt;
    1954 =&amp;gt; dehydrated caviar (5 casualties)&lt;br /&gt;
    2063 =&amp;gt; blackberry (2) (5 casualties)&lt;br /&gt;
    2843 =&amp;gt; dire fudgesicle (2) (5 casualties)&lt;br /&gt;
    330 =&amp;gt; glass of goat&#039;s milk (5 casualties)&lt;br /&gt;
    3555 =&amp;gt; sea carrot (5 casualties)&lt;br /&gt;
    471 =&amp;gt; hot wing (6) (5 casualties)&lt;br /&gt;
    6416 =&amp;gt; mana curds (10 casualties)&lt;br /&gt;
    6422 =&amp;gt; vampire chowder (10 casualties)&lt;br /&gt;
    669 =&amp;gt; ghuol guolash (18 casualties)&lt;br /&gt;
    6705 =&amp;gt; jungle floor wax (6 casualties)&lt;br /&gt;
    672 =&amp;gt; cranberries (3) (5 casualties)&lt;br /&gt;
    7368 =&amp;gt; extra-flat panini (2) (8 casualties)&lt;br /&gt;
    7375 =&amp;gt; actual tapas (5 casualties)&lt;br /&gt;
    8412 =&amp;gt; succulent marrow (3) (6 casualties)&lt;br /&gt;
    8413 =&amp;gt; salacious crumbs (5) (6 casualties)&lt;br /&gt;
    8526 =&amp;gt; pink slime (2) (5 casualties)&lt;br /&gt;
    9953 =&amp;gt; PB&amp;amp;J with the crusts cut off (4) (5 casualties)&lt;br /&gt;
Choice 2: Never Mind&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|see_also={{SeeAlso|available_choice_options|available_choice_text_inputs}}&lt;br /&gt;
|cli_equiv=&lt;br /&gt;
|more_info=&lt;br /&gt;
|special=&lt;br /&gt;
|{{{1|}}}&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
[[Category:Adventuring]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Available_choice_select_inputs&amp;diff=9199</id>
		<title>Available choice select inputs</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Available_choice_select_inputs&amp;diff=9199"/>
		<updated>2023-04-23T10:08:06Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;{{{{{format|Function2}}}&lt;br /&gt;
|name=available_choice_select_inputs&lt;br /&gt;
|function1.return_type={{type|string}}{{opt|{{type|string}}, {{type|string}}}}&lt;br /&gt;
|function1.description=For the specified decision, returns a map from NAME to a map from VALUE to DESCRIPTION.&lt;br /&gt;
|function1.param1=decision&lt;br /&gt;
|function1.param1.type=int&lt;br /&gt;
|function1.param1.default=&lt;br /&gt;
|function1.param1.description=&lt;br /&gt;
|description=This function was added in [https://sourceforge.net/p/kolmafia/code/19543 r19543] and explained by Veracity in the [https://kolmafia.us/threads/allow-property-choiceadventurexxx-url.24195/#post-154288 following post].&lt;br /&gt;
|code1={{CodeSample&lt;br /&gt;
  |title=Code Samples&lt;br /&gt;
  |description= Running the following Code on the [https://kol.coldfront.net/thekolwiki/index.php/The_Exploaded_Battlefield Exploaded Battlefield] choice:&lt;br /&gt;
  |code=&lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;d&amp;quot;&amp;gt;&lt;br /&gt;
foreach decision, description in available_choice_options() {&lt;br /&gt;
   print( &amp;quot;Choice &amp;quot; + decision + &amp;quot;: &amp;quot; + description );&lt;br /&gt;
   string[string][string] selects = available_choice_select_inputs( decision );&lt;br /&gt;
   foreach name in selects {&lt;br /&gt;
      string[string] mapping = selects[name];&lt;br /&gt;
      print( &amp;quot;  select = &amp;quot; + name + &amp;quot; (&amp;quot; + count(mapping) + &amp;quot; options)&amp;quot; );&lt;br /&gt;
         foreach value, desc in mapping {&lt;br /&gt;
	        print( &amp;quot;    &amp;quot; + value + &amp;quot; =&amp;gt; &amp;quot; + desc );&lt;br /&gt;
         }&lt;br /&gt;
   }&lt;br /&gt;
   string[string] texts = available_choice_text_inputs( decision );&lt;br /&gt;
      foreach text, desc in texts {&lt;br /&gt;
         print( &amp;quot;  text = &amp;quot; + text );&lt;br /&gt;
      }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
  |moreinfo= Will give the following output: &amp;lt;pre&amp;gt;Choice 1: Toss!&lt;br /&gt;
  select = tossid (24 options)&lt;br /&gt;
    0 =&amp;gt; --- select an item ---&lt;br /&gt;
    10179 =&amp;gt; plain snowcone (12) (5 casualties)&lt;br /&gt;
    161 =&amp;gt; ghuol egg (2) (5 casualties)&lt;br /&gt;
    1769 =&amp;gt; fricasseed brains (5 casualties)&lt;br /&gt;
    1776 =&amp;gt; stale baguette (5 casualties)&lt;br /&gt;
    1778 =&amp;gt; ancient frozen dinner (6 casualties)&lt;br /&gt;
    1952 =&amp;gt; desiccated apricot (5 casualties)&lt;br /&gt;
    1954 =&amp;gt; dehydrated caviar (5 casualties)&lt;br /&gt;
    2063 =&amp;gt; blackberry (2) (5 casualties)&lt;br /&gt;
    2843 =&amp;gt; dire fudgesicle (2) (5 casualties)&lt;br /&gt;
    330 =&amp;gt; glass of goat&#039;s milk (5 casualties)&lt;br /&gt;
    3555 =&amp;gt; sea carrot (5 casualties)&lt;br /&gt;
    471 =&amp;gt; hot wing (6) (5 casualties)&lt;br /&gt;
    6416 =&amp;gt; mana curds (10 casualties)&lt;br /&gt;
    6422 =&amp;gt; vampire chowder (10 casualties)&lt;br /&gt;
    669 =&amp;gt; ghuol guolash (18 casualties)&lt;br /&gt;
    6705 =&amp;gt; jungle floor wax (6 casualties)&lt;br /&gt;
    672 =&amp;gt; cranberries (3) (5 casualties)&lt;br /&gt;
    7368 =&amp;gt; extra-flat panini (2) (8 casualties)&lt;br /&gt;
    7375 =&amp;gt; actual tapas (5 casualties)&lt;br /&gt;
    8412 =&amp;gt; succulent marrow (3) (6 casualties)&lt;br /&gt;
    8413 =&amp;gt; salacious crumbs (5) (6 casualties)&lt;br /&gt;
    8526 =&amp;gt; pink slime (2) (5 casualties)&lt;br /&gt;
    9953 =&amp;gt; PB&amp;amp;J with the crusts cut off (4) (5 casualties)&lt;br /&gt;
Choice 2: Never Mind&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|see_also={{SeeAlso|available_choice_options|available_choice_text_inputs}}&lt;br /&gt;
|cli_equiv=&lt;br /&gt;
|more_info=&lt;br /&gt;
|special=&lt;br /&gt;
|needscode=no&lt;br /&gt;
|{{{1|}}}&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
[[Category:Adventuring]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Available_choice_select_inputs&amp;diff=9198</id>
		<title>Available choice select inputs</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Available_choice_select_inputs&amp;diff=9198"/>
		<updated>2023-04-23T10:07:21Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;{{{{{format|Function2}}}&lt;br /&gt;
|name=available_choice_select_inputs&lt;br /&gt;
|function1.return_type={{type|string}}{{opt|{{type|string}}, {{type|string}}}}&lt;br /&gt;
|function1.description=For the specified decision, returns a map from NAME to a map from VALUE to DESCRIPTION.&lt;br /&gt;
|function1.param1=decision&lt;br /&gt;
|function1.param1.type=int&lt;br /&gt;
|function1.param1.default=&lt;br /&gt;
|function1.param1.description=&lt;br /&gt;
|description=This function was added in [https://sourceforge.net/p/kolmafia/code/19543 r19543] and explained by Veracity in the [https://kolmafia.us/threads/allow-property-choiceadventurexxx-url.24195/#post-154288 following post].&lt;br /&gt;
|code1={{CodeSample&lt;br /&gt;
  |title=Code Samples&lt;br /&gt;
  |description= Running the following Code on the [https://kol.coldfront.net/thekolwiki/index.php/The_Exploaded_Battlefield Exploaded Battlefield] choice:&lt;br /&gt;
  |code=&lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;d&amp;quot;&amp;gt;&lt;br /&gt;
foreach decision, description in available_choice_options() {&lt;br /&gt;
   print( &amp;quot;Choice &amp;quot; + decision + &amp;quot;: &amp;quot; + description );&lt;br /&gt;
   string[string][string] selects = available_choice_select_inputs( decision );&lt;br /&gt;
   foreach name in selects {&lt;br /&gt;
      string[string] mapping = selects[name];&lt;br /&gt;
      print( &amp;quot;  select = &amp;quot; + name + &amp;quot; (&amp;quot; + count(mapping) + &amp;quot; options)&amp;quot; );&lt;br /&gt;
         foreach value, desc in mapping {&lt;br /&gt;
	        print( &amp;quot;    &amp;quot; + value + &amp;quot; =&amp;gt; &amp;quot; + desc );&lt;br /&gt;
         }&lt;br /&gt;
   }&lt;br /&gt;
   string[string] texts = available_choice_text_inputs( decision );&lt;br /&gt;
      foreach text, desc in texts {&lt;br /&gt;
         print( &amp;quot;  text = &amp;quot; + text );&lt;br /&gt;
      }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
  |moreinfo= Will give the following output: &amp;lt;pre&amp;gt;Choice 1: Toss!&lt;br /&gt;
  select = tossid (24 options)&lt;br /&gt;
    0 =&amp;gt; --- select an item ---&lt;br /&gt;
    10179 =&amp;gt; plain snowcone (12) (5 casualties)&lt;br /&gt;
    161 =&amp;gt; ghuol egg (2) (5 casualties)&lt;br /&gt;
    1769 =&amp;gt; fricasseed brains (5 casualties)&lt;br /&gt;
    1776 =&amp;gt; stale baguette (5 casualties)&lt;br /&gt;
    1778 =&amp;gt; ancient frozen dinner (6 casualties)&lt;br /&gt;
    1952 =&amp;gt; desiccated apricot (5 casualties)&lt;br /&gt;
    1954 =&amp;gt; dehydrated caviar (5 casualties)&lt;br /&gt;
    2063 =&amp;gt; blackberry (2) (5 casualties)&lt;br /&gt;
    2843 =&amp;gt; dire fudgesicle (2) (5 casualties)&lt;br /&gt;
    330 =&amp;gt; glass of goat&#039;s milk (5 casualties)&lt;br /&gt;
    3555 =&amp;gt; sea carrot (5 casualties)&lt;br /&gt;
    471 =&amp;gt; hot wing (6) (5 casualties)&lt;br /&gt;
    6416 =&amp;gt; mana curds (10 casualties)&lt;br /&gt;
    6422 =&amp;gt; vampire chowder (10 casualties)&lt;br /&gt;
    669 =&amp;gt; ghuol guolash (18 casualties)&lt;br /&gt;
    6705 =&amp;gt; jungle floor wax (6 casualties)&lt;br /&gt;
    672 =&amp;gt; cranberries (3) (5 casualties)&lt;br /&gt;
    7368 =&amp;gt; extra-flat panini (2) (8 casualties)&lt;br /&gt;
    7375 =&amp;gt; actual tapas (5 casualties)&lt;br /&gt;
    8412 =&amp;gt; succulent marrow (3) (6 casualties)&lt;br /&gt;
    8413 =&amp;gt; salacious crumbs (5) (6 casualties)&lt;br /&gt;
    8526 =&amp;gt; pink slime (2) (5 casualties)&lt;br /&gt;
    9953 =&amp;gt; PB&amp;amp;J with the crusts cut off (4) (5 casualties)&lt;br /&gt;
Choice 2: Never Mind&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|see_also={{SeeAlso|available_choice_options|available_choice_text_inputs}}&lt;br /&gt;
|cli_equiv=&lt;br /&gt;
|more_info=&lt;br /&gt;
|special=&lt;br /&gt;
|needscode=yes&lt;br /&gt;
|{{{1|}}}&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
[[Category:Adventuring]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Available_choice_select_inputs&amp;diff=9197</id>
		<title>Available choice select inputs</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Available_choice_select_inputs&amp;diff=9197"/>
		<updated>2023-04-23T10:00:44Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;{{{{{format|Function2}}}&lt;br /&gt;
|name=available_choice_select_inputs&lt;br /&gt;
|function1.return_type={{type|string}}{{opt|{{type|string}}, {{type|string}}}}&lt;br /&gt;
|function1.description=For the specified decision, returns a map from NAME to a map from VALUE to DESCRIPTION.&lt;br /&gt;
|function1.param1=decision&lt;br /&gt;
|function1.param1.type=int&lt;br /&gt;
|function1.param1.default=&lt;br /&gt;
|function1.param1.description=&lt;br /&gt;
|description=This function was added in [https://sourceforge.net/p/kolmafia/code/19543 r19543] and explained by Veracity in the [https://kolmafia.us/threads/allow-property-choiceadventurexxx-url.24195/#post-154288 following post].&lt;br /&gt;
|code1={{CodeSample&lt;br /&gt;
  |title=Code Samples&lt;br /&gt;
  |description= Running the following Code on the Exploaded Battlefield choice:&lt;br /&gt;
  |code=&lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;d&amp;quot;&amp;gt;&lt;br /&gt;
foreach decision, description in available_choice_options() {&lt;br /&gt;
   print( &amp;quot;Choice &amp;quot; + decision + &amp;quot;: &amp;quot; + description );&lt;br /&gt;
   string[string][string] selects = available_choice_select_inputs( decision );&lt;br /&gt;
   foreach name in selects {&lt;br /&gt;
      string[string] mapping = selects[name];&lt;br /&gt;
      print( &amp;quot;  select = &amp;quot; + name + &amp;quot; (&amp;quot; + count(mapping) + &amp;quot; options)&amp;quot; );&lt;br /&gt;
         foreach value, desc in mapping {&lt;br /&gt;
	        print( &amp;quot;    &amp;quot; + value + &amp;quot; =&amp;gt; &amp;quot; + desc );&lt;br /&gt;
         }&lt;br /&gt;
   }&lt;br /&gt;
   string[string] texts = available_choice_text_inputs( decision );&lt;br /&gt;
      foreach text, desc in texts {&lt;br /&gt;
         print( &amp;quot;  text = &amp;quot; + text );&lt;br /&gt;
      }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
  |moreinfo= Will give the following output: &amp;lt;pre&amp;gt;Choice 1: Toss!&lt;br /&gt;
  select = tossid (24 options)&lt;br /&gt;
    0 =&amp;gt; --- select an item ---&lt;br /&gt;
    10179 =&amp;gt; plain snowcone (12) (5 casualties)&lt;br /&gt;
    161 =&amp;gt; ghuol egg (2) (5 casualties)&lt;br /&gt;
    1769 =&amp;gt; fricasseed brains (5 casualties)&lt;br /&gt;
    1776 =&amp;gt; stale baguette (5 casualties)&lt;br /&gt;
    1778 =&amp;gt; ancient frozen dinner (6 casualties)&lt;br /&gt;
    1952 =&amp;gt; desiccated apricot (5 casualties)&lt;br /&gt;
    1954 =&amp;gt; dehydrated caviar (5 casualties)&lt;br /&gt;
    2063 =&amp;gt; blackberry (2) (5 casualties)&lt;br /&gt;
    2843 =&amp;gt; dire fudgesicle (2) (5 casualties)&lt;br /&gt;
    330 =&amp;gt; glass of goat&#039;s milk (5 casualties)&lt;br /&gt;
    3555 =&amp;gt; sea carrot (5 casualties)&lt;br /&gt;
    471 =&amp;gt; hot wing (6) (5 casualties)&lt;br /&gt;
    6416 =&amp;gt; mana curds (10 casualties)&lt;br /&gt;
    6422 =&amp;gt; vampire chowder (10 casualties)&lt;br /&gt;
    669 =&amp;gt; ghuol guolash (18 casualties)&lt;br /&gt;
    6705 =&amp;gt; jungle floor wax (6 casualties)&lt;br /&gt;
    672 =&amp;gt; cranberries (3) (5 casualties)&lt;br /&gt;
    7368 =&amp;gt; extra-flat panini (2) (8 casualties)&lt;br /&gt;
    7375 =&amp;gt; actual tapas (5 casualties)&lt;br /&gt;
    8412 =&amp;gt; succulent marrow (3) (6 casualties)&lt;br /&gt;
    8413 =&amp;gt; salacious crumbs (5) (6 casualties)&lt;br /&gt;
    8526 =&amp;gt; pink slime (2) (5 casualties)&lt;br /&gt;
    9953 =&amp;gt; PB&amp;amp;J with the crusts cut off (4) (5 casualties)&lt;br /&gt;
Choice 2: Never Mind&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|see_also={{SeeAlso|available_choice_options|available_choice_text_inputs}}&lt;br /&gt;
|cli_equiv=&lt;br /&gt;
|more_info=&lt;br /&gt;
|special=&lt;br /&gt;
|needscode=yes&lt;br /&gt;
|{{{1|}}}&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
[[Category:Adventuring]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Available_choice_select_inputs&amp;diff=9196</id>
		<title>Available choice select inputs</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Available_choice_select_inputs&amp;diff=9196"/>
		<updated>2023-04-23T09:09:32Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Undo revision 9195 by Eliteofdelete (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;{{{{{format|Function2}}}&lt;br /&gt;
|name=available_choice_select_inputs&lt;br /&gt;
|function1.return_type={{type|string}}&lt;br /&gt;
|function1.description=Does something?&lt;br /&gt;
|function1.param1=idk&lt;br /&gt;
|function1.param1.type=int&lt;br /&gt;
|function1.param1.default=&lt;br /&gt;
|function1.param1.description=&lt;br /&gt;
|description=This was added in XXX.&lt;br /&gt;
|code1={{CodeSample&lt;br /&gt;
  |title=Code Samples&lt;br /&gt;
  |description=&lt;br /&gt;
  |code=&lt;br /&gt;
  |moreinfo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|see_also={{SeeAlso|}}&lt;br /&gt;
|cli_equiv=&lt;br /&gt;
|more_info=&lt;br /&gt;
|special=&lt;br /&gt;
|needscode=yes&lt;br /&gt;
|{{{1|}}}&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
[[Category:Adventuring]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Available_choice_select_inputs&amp;diff=9195</id>
		<title>Available choice select inputs</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Available_choice_select_inputs&amp;diff=9195"/>
		<updated>2023-04-23T09:07:05Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Available_choice_select_inputs&amp;diff=9194</id>
		<title>Available choice select inputs</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Available_choice_select_inputs&amp;diff=9194"/>
		<updated>2023-04-23T09:06:03Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;{{{{{format|Function2}}}&lt;br /&gt;
|name=available_choice_select_inputs&lt;br /&gt;
|function1.return_type={{type|string}}&lt;br /&gt;
|function1.description=Does something?&lt;br /&gt;
|function1.param1=idk&lt;br /&gt;
|function1.param1.type=int&lt;br /&gt;
|function1.param1.default=&lt;br /&gt;
|function1.param1.description=&lt;br /&gt;
|description=This was added in XXX.&lt;br /&gt;
|code1={{CodeSample&lt;br /&gt;
  |title=Code Samples&lt;br /&gt;
  |description=&lt;br /&gt;
  |code=&lt;br /&gt;
  |moreinfo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
|see_also={{SeeAlso|}}&lt;br /&gt;
|cli_equiv=&lt;br /&gt;
|more_info=&lt;br /&gt;
|special=&lt;br /&gt;
|needscode=yes&lt;br /&gt;
|{{{1|}}}&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
[[Category:Adventuring]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Available_choice_select_inputs&amp;diff=9193</id>
		<title>Available choice select inputs</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Available_choice_select_inputs&amp;diff=9193"/>
		<updated>2023-04-23T09:01:04Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Created page with &amp;quot;&amp;lt;onlyinclude&amp;gt;{{{{{format|Function2}}} |name=available_choice_select_inputs |function1.return_type={{type|string}} |function1.description=Does something? |function1.param1=idk...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;{{{{{format|Function2}}}&lt;br /&gt;
|name=available_choice_select_inputs&lt;br /&gt;
|function1.return_type={{type|string}}&lt;br /&gt;
|function1.description=Does something?&lt;br /&gt;
|function1.param1=idk&lt;br /&gt;
|function1.param1.type=int&lt;br /&gt;
|function1.param1.optional=no&lt;br /&gt;
|function1.param1.default=&lt;br /&gt;
|function1.param1.description=&lt;br /&gt;
|description=This was added in XXX.&lt;br /&gt;
|code1={{CodeSample&lt;br /&gt;
  |title=Code Samples&lt;br /&gt;
  |description=&lt;br /&gt;
  |code=&lt;br /&gt;
  |moreinfo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
|see_also={{SeeAlso|}}&lt;br /&gt;
|cli_equiv=&lt;br /&gt;
|more_info=&lt;br /&gt;
|special=&lt;br /&gt;
|needscode=yes&lt;br /&gt;
|{{{1|}}}&lt;br /&gt;
}}&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add an appropriate function subcategory here, e.g. [[Category:Adventuring]],&lt;br /&gt;
     then delete this comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_effect&amp;diff=5777</id>
		<title>To effect</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_effect&amp;diff=5777"/>
		<updated>2019-09-22T00:35:28Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_effect}}{{&lt;br /&gt;
#vardefine:return_type|effect}}{{&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|int|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function3={{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|skill|convert}}|&lt;br /&gt;
p1desc={{Pspan|convert}} is the int, string or skill to convert|&lt;br /&gt;
}}|&lt;br /&gt;
function_description=When supplied an int or string, returns the effect that corresponds to the specified parameter {{pspan|convert}}. When supplied a skill, this returns the effect that is given when the skill {{pspan|convert}} is cast on a player.&amp;lt;br&amp;gt;Note: This function can not return effects of items. For that, use [https://wiki.kolmafia.us/index.php?title=Effect_modifier effect_modifer()]. If you are attempting to see the duration of an effect, use [https://wiki.kolmafia.us/index.php?title=Numeric_modifier numeric_modifier(item, &amp;quot;effect duration&amp;quot;)].|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_effect operations.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
//int&lt;br /&gt;
print(to_effect(100), &amp;quot;green&amp;quot;);&lt;br /&gt;
//strings&lt;br /&gt;
print(to_effect(&amp;quot;Smooth&amp;quot;), &amp;quot;green&amp;quot;);&lt;br /&gt;
print(to_effect(&amp;quot;Smooth Move&amp;quot;), &amp;quot;green&amp;quot;);&lt;br /&gt;
//skills&lt;br /&gt;
print(to_effect($skill[Disco Aerobics]), &amp;quot;green&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=For more info about effects from numbers and skills, see [http://kol.coldfront.net/thekolwiki/index.php/Effects Effects].&lt;br /&gt;
&amp;lt;br&amp;gt;It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Stabilizing Oiliness&lt;br /&gt;
Hella Smooth&lt;br /&gt;
Smooth Movements&lt;br /&gt;
Disco State of Mind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{CodeSample|&lt;br /&gt;
description=&amp;lt;br&amp;gt;Following example tells which buffs you are missing but could have.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
void buffs_check() {&lt;br /&gt;
int amount;&lt;br /&gt;
boolean have_buff;&lt;br /&gt;
boolean[skill] active_buffs, bot_buffs, castable_buffs;&lt;br /&gt;
   foreach it in $skills[] {&lt;br /&gt;
      amount = have_effect(to_effect(it));&lt;br /&gt;
      if (amount == 0)&lt;br /&gt;
         have_buff = false;&lt;br /&gt;
      else have_buff = true;&lt;br /&gt;
      &lt;br /&gt;
      if (have_buff) //Currently have the effect active&lt;br /&gt;
         active_buffs[it]=have_buff;&lt;br /&gt;
      if (it.buff == true &amp;amp;&amp;amp; !have_buff &amp;amp;&amp;amp; it.class != $class[none] &amp;amp;&amp;amp; it.level != -1 &amp;amp;&amp;amp; it.dailylimit == -1 &amp;amp;&amp;amp; it != $skill[Spiky Shell] &amp;amp;&amp;amp; it != $skill[Antibiotic Saucesphere]) //buff bot buffs&lt;br /&gt;
         bot_buffs[it]=have_buff;&lt;br /&gt;
      if (have_skill(it) &amp;amp;&amp;amp; it.combat != true &amp;amp;&amp;amp; !have_buff &amp;amp;&amp;amp; to_effect(it) != $effect[none]) //buffs you can cast on yourself&lt;br /&gt;
         castable_buffs[it]=have_buff;&lt;br /&gt;
   }&lt;br /&gt;
   print(&amp;quot;You currently have the following buffs active:&amp;quot;, &amp;quot;red&amp;quot;);&lt;br /&gt;
   foreach it in active_buffs&lt;br /&gt;
      print(&amp;quot;&amp;quot;+it+&amp;quot;&amp;quot;, &amp;quot;green&amp;quot;);   &lt;br /&gt;
   print(&amp;quot;&amp;quot;);&lt;br /&gt;
   print(&amp;quot;You could get the following buffs from a buff bot:&amp;quot;, &amp;quot;red&amp;quot;);&lt;br /&gt;
   foreach it in bot_buffs&lt;br /&gt;
      print(&amp;quot;&amp;quot;+it+&amp;quot;&amp;quot;, &amp;quot;blue&amp;quot;);   &lt;br /&gt;
   print(&amp;quot;&amp;quot;);&lt;br /&gt;
   print(&amp;quot;You could cast the following buffs on yourself:&amp;quot;, &amp;quot;red&amp;quot;);&lt;br /&gt;
   foreach it in castable_buffs&lt;br /&gt;
      print(&amp;quot;&amp;quot;+it+&amp;quot;&amp;quot;, &amp;quot;purple&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
buffs_check();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
special=If {{pspan|convert}} is an effect that cannot be given by use of a skill, and is supplied as such, or no match is found for a supplied string or int type, this function returns $effect[ none ].|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_effect&amp;diff=5776</id>
		<title>To effect</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_effect&amp;diff=5776"/>
		<updated>2019-09-21T22:02:38Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Added information to find effects of items.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_effect}}{{&lt;br /&gt;
#vardefine:return_type|effect}}{{&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|int|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function3={{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|skill|convert}}|&lt;br /&gt;
p1desc={{Pspan|convert}} is the int, string or skill to convert|&lt;br /&gt;
}}|&lt;br /&gt;
function_description=When supplied an int or string, returns the effect that corresponds to the specified parameter {{pspan|convert}}. When supplied a skill, this returns the effect that is given when the skill {{pspan|convert}} is cast on a player.&amp;lt;br&amp;gt;Note: This function can not return effects of items. For that, use [https://wiki.kolmafia.us/index.php?title=Effect_modifier effect_modifer()].|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_effect operations.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
//int&lt;br /&gt;
print(to_effect(100), &amp;quot;green&amp;quot;);&lt;br /&gt;
//strings&lt;br /&gt;
print(to_effect(&amp;quot;Smooth&amp;quot;), &amp;quot;green&amp;quot;);&lt;br /&gt;
print(to_effect(&amp;quot;Smooth Move&amp;quot;), &amp;quot;green&amp;quot;);&lt;br /&gt;
//skills&lt;br /&gt;
print(to_effect($skill[Disco Aerobics]), &amp;quot;green&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=For more info about effects from numbers and skills, see [http://kol.coldfront.net/thekolwiki/index.php/Effects Effects].&lt;br /&gt;
&amp;lt;br&amp;gt;It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Stabilizing Oiliness&lt;br /&gt;
Hella Smooth&lt;br /&gt;
Smooth Movements&lt;br /&gt;
Disco State of Mind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{CodeSample|&lt;br /&gt;
description=&amp;lt;br&amp;gt;Following example tells which buffs you are missing but could have.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
void buffs_check() {&lt;br /&gt;
int amount;&lt;br /&gt;
boolean have_buff;&lt;br /&gt;
boolean[skill] active_buffs, bot_buffs, castable_buffs;&lt;br /&gt;
   foreach it in $skills[] {&lt;br /&gt;
      amount = have_effect(to_effect(it));&lt;br /&gt;
      if (amount == 0)&lt;br /&gt;
         have_buff = false;&lt;br /&gt;
      else have_buff = true;&lt;br /&gt;
      &lt;br /&gt;
      if (have_buff) //Currently have the effect active&lt;br /&gt;
         active_buffs[it]=have_buff;&lt;br /&gt;
      if (it.buff == true &amp;amp;&amp;amp; !have_buff &amp;amp;&amp;amp; it.class != $class[none] &amp;amp;&amp;amp; it.level != -1 &amp;amp;&amp;amp; it.dailylimit == -1 &amp;amp;&amp;amp; it != $skill[Spiky Shell] &amp;amp;&amp;amp; it != $skill[Antibiotic Saucesphere]) //buff bot buffs&lt;br /&gt;
         bot_buffs[it]=have_buff;&lt;br /&gt;
      if (have_skill(it) &amp;amp;&amp;amp; it.combat != true &amp;amp;&amp;amp; !have_buff &amp;amp;&amp;amp; to_effect(it) != $effect[none]) //buffs you can cast on yourself&lt;br /&gt;
         castable_buffs[it]=have_buff;&lt;br /&gt;
   }&lt;br /&gt;
   print(&amp;quot;You currently have the following buffs active:&amp;quot;, &amp;quot;red&amp;quot;);&lt;br /&gt;
   foreach it in active_buffs&lt;br /&gt;
      print(&amp;quot;&amp;quot;+it+&amp;quot;&amp;quot;, &amp;quot;green&amp;quot;);   &lt;br /&gt;
   print(&amp;quot;&amp;quot;);&lt;br /&gt;
   print(&amp;quot;You could get the following buffs from a buff bot:&amp;quot;, &amp;quot;red&amp;quot;);&lt;br /&gt;
   foreach it in bot_buffs&lt;br /&gt;
      print(&amp;quot;&amp;quot;+it+&amp;quot;&amp;quot;, &amp;quot;blue&amp;quot;);   &lt;br /&gt;
   print(&amp;quot;&amp;quot;);&lt;br /&gt;
   print(&amp;quot;You could cast the following buffs on yourself:&amp;quot;, &amp;quot;red&amp;quot;);&lt;br /&gt;
   foreach it in castable_buffs&lt;br /&gt;
      print(&amp;quot;&amp;quot;+it+&amp;quot;&amp;quot;, &amp;quot;purple&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
buffs_check();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
special=If {{pspan|convert}} is an effect that cannot be given by use of a skill, and is supplied as such, or no match is found for a supplied string or int type, this function returns $effect[ none ].|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Whatif&amp;diff=5965</id>
		<title>Whatif</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Whatif&amp;diff=5965"/>
		<updated>2019-09-19T07:16:26Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Updated &amp;quot;_spec&amp;quot; and added some additional information. Might have broke formatting.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:whatif (CLI)}}&lt;br /&gt;
alias: &#039;&#039;&#039;speculate&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This is a CLI command that takes a semicolon-separated list of commands that change the character state, and displays the modifier changes that would occur due to executing those commands. The supported commands are:&amp;lt;/p&amp;gt;&lt;br /&gt;
* MCD &amp;lt;num&amp;gt;&lt;br /&gt;
* equip [&amp;lt;slot&amp;gt;] &amp;lt;item&amp;gt;&lt;br /&gt;
* unequip &amp;lt;slot&amp;gt;&lt;br /&gt;
* familiar &amp;lt;type&amp;gt; - note that this doesn&#039;t change the current familiar item, whether or not the specified familiar can equip it.&lt;br /&gt;
* enthrone &amp;lt;familiar&amp;gt; - considers the effect of having the specificed familiar in the crown of thrones&lt;br /&gt;
* up &amp;lt;effect&amp;gt; - considers you to have 1 turn of that effect.&lt;br /&gt;
* uneffect &amp;lt;effect&amp;gt;&lt;br /&gt;
* quiet - suppresses the display of changed modifiers, for use in scripts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Note that speculation about impossible actions is allowed - there&#039;s no checking to verify that you actually have any item, or can equip it. The predicted modifiers are stored as an object named &amp;quot;_spec&amp;quot;, which can be referenced by any of the ASH modifier query functions.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Five derived modifiers were added for use with this command, with values predicted from your base stats and other modifiers: &amp;quot;Buffed Muscle&amp;quot;, &amp;quot;Buffed Mysticality&amp;quot;, &amp;quot;Buffed Moxie&amp;quot;, &amp;quot;Buffed HP Maximum&amp;quot;, and &amp;quot;Buffed MP Maximum&amp;quot;. They are of little use with the character&#039;s current modifiers, since the actual values of these attributes are available, but are quite useful with the modifiers resulting from a speculation. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-bottom: 1em; border: dashed 1px green; padding: 1em; margin:0px 20px;&amp;quot;&amp;gt;&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
cli_execute(&amp;quot;whatif equip KGE helm; equip KGE polearm; equip KGE pants; quiet&amp;quot;);&lt;br /&gt;
if (my_mp() &amp;gt; numeric_modifier(&amp;quot;Generated:_spec&amp;quot;, &amp;quot;Buffed MP Maximum&amp;quot;))&lt;br /&gt;
   print(&amp;quot;Bad idea - you&#039;d lose MP by doing that.&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
See [https://kolmafia.us/showthread.php?17831-Querying-speculated-modifiers-doesn-t-seem-to-work-after-modifier-revamp&amp;amp;highlight=whatif here] and [https://kolmafia.us/showthread.php?17825-15461-Refactor-modifiers-txt-to-specify-modifier-type-Any-ash-modifier-functions-th here] for more information.&lt;br /&gt;
[[Category:CLI Commands]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Monster_attack&amp;diff=5276</id>
		<title>Monster attack</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Monster_attack&amp;diff=5276"/>
		<updated>2019-09-19T05:36:19Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Added a precise monster hit-chance example based on monster attack.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|monster_attack}}{{&lt;br /&gt;
#vardefine:return_type|int}}{{&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;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|monster|check_me}}|&lt;br /&gt;
p1desc={{Pspan|check_me}} is the (optional) monster to get the attack value of|&lt;br /&gt;
}}|&lt;br /&gt;
function_description=Returns the attack value of the specified monster {{pspan|check_me}}. If {{pspan|check_me}} is not specified, it will use the current monster if you are in a fight (i.e. you&#039;re calling the function from an [[In-combat Consulting]] script), or the last monster you encountered otherwise.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;When the function is given a monster as a parameter it will return the monster&#039;s attack at the start of a fight including all monster level modifications. This means that for monsters with unknown attack, the return value will be equivalent to {{f|monster_level_adjustment}}. If the zero parameter version is called and the character is currently in a fight, then the function will include all current combat deleveling modifiers from the current combat.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If you want to know the monster&#039;s raw attack without being modified by monster level adjustments, it is available through the monster.&#039;&#039;&#039;raw_attack&#039;&#039;&#039; proxy field.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example is a non-percise function that uses the monster&#039;s attack to estimate hit chance based on your moxie.|&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
boolean safecheck(string monstername) {&lt;br /&gt;
   int att = monster_attack(to_monster(monstername));&lt;br /&gt;
   if (att+10 &amp;lt;= my_buffedstat($stat[moxie])) {&lt;br /&gt;
      print(&amp;quot;Monster &amp;quot;+monstername+&amp;quot; will always miss! (except for crits)&amp;quot;, &amp;quot;green&amp;quot;);&lt;br /&gt;
      return true;&lt;br /&gt;
   }&lt;br /&gt;
   else if (att-10 &amp;gt;= my_buffedstat($stat[moxie])){&lt;br /&gt;
      print(att+10);&lt;br /&gt;
      print(&amp;quot;Monster &amp;quot;+monstername+&amp;quot; will always hit you! (except for fumbles)&amp;quot;, &amp;quot;red&amp;quot;);&lt;br /&gt;
      return false;&lt;br /&gt;
   }&lt;br /&gt;
   else {&lt;br /&gt;
      print(att);&lt;br /&gt;
      int hitchance = (att+10-my_buffedstat($stat[moxie]))*5;&lt;br /&gt;
      print(&amp;quot;Monster &amp;quot;+monstername+&amp;quot; will hit you &amp;quot;+hitchance+&amp;quot;% of the time.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
      return false;&lt;br /&gt;
   }&lt;br /&gt;
return false;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
safecheck(&amp;quot;bar&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
code2={{CodeSample|&lt;br /&gt;
description=Following example returns the exact chance for a monster to hit. The function can be supplied a string or monster varible.|&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
float monsterHitChance(monster monsterName) {&lt;br /&gt;
	int difference = my_buffedstat($stat[moxie]) - monster_attack(monstername); //Also known as monster awesomeness&lt;br /&gt;
	if (difference &amp;gt;= 10)&lt;br /&gt;
		return 0;&lt;br /&gt;
	else if (difference &amp;lt;= -9)&lt;br /&gt;
		return 1;&lt;br /&gt;
	switch (difference) {&lt;br /&gt;
		case -8:&lt;br /&gt;
			return 0.99;&lt;br /&gt;
		case -7:&lt;br /&gt;
			return 0.97;&lt;br /&gt;
		case -6:&lt;br /&gt;
			return 0.9;&lt;br /&gt;
		case -5:&lt;br /&gt;
			return 0.85;&lt;br /&gt;
		case -4:&lt;br /&gt;
			return 0.79;&lt;br /&gt;
		case -3:&lt;br /&gt;
			return 0.72;&lt;br /&gt;
		case -2:&lt;br /&gt;
			return 0.64;&lt;br /&gt;
		case -1:&lt;br /&gt;
			return 0.55;&lt;br /&gt;
		case 0:&lt;br /&gt;
			return 0.5;&lt;br /&gt;
		case 1:&lt;br /&gt;
			return 0.45;&lt;br /&gt;
		case 2:&lt;br /&gt;
			return 0.36;&lt;br /&gt;
		case 3:&lt;br /&gt;
			return 0.28;&lt;br /&gt;
		case 4:&lt;br /&gt;
			return 0.21;&lt;br /&gt;
		case 5:&lt;br /&gt;
			return 0.15;&lt;br /&gt;
		case 6:&lt;br /&gt;
			return 0.1;&lt;br /&gt;
		case 7:&lt;br /&gt;
			return 0.16;&lt;br /&gt;
		case 8:&lt;br /&gt;
			return 0.03;&lt;br /&gt;
		case 9:&lt;br /&gt;
			return 0.01;&lt;br /&gt;
   }&lt;br /&gt;
   return 1;&lt;br /&gt;
}&lt;br /&gt;
float monsterHitChance(string monsterName) {return monsterHitChance(to_monster(monsterName));}&lt;br /&gt;
&lt;br /&gt;
foreach mob, freq in appearance_rates($location[The VERY Unquiet Garves]) {&lt;br /&gt;
	if (freq &amp;gt; 0)&lt;br /&gt;
		print(&amp;quot;The monster (&amp;quot;+mob+&amp;quot;) will hit you &amp;quot;+monsterHitChance(mob)*100+&amp;quot;% of the time.&amp;quot;, &amp;quot;blue&amp;quot;);	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
see_also={{SeeAlso|monster_defense|monster_initiative|monster_element|monster_hp}}|&lt;br /&gt;
more_info=For the current discussion of what&#039;s being tracked in-combat for monster level adjustments, please see [http://kolmafia.us/showthread.php?3452 this thread].&amp;lt;br&amp;gt;&lt;br /&gt;
For more details on monster hit-chance, please visit [https://kol.coldfront.net/thekolwiki/index.php/Monsters here].|&lt;br /&gt;
special=If no monster is specified and no monster has been fought in this session, this function returns 0. This is because mafia forgets the value of {{f|last_monster}} when it logs out.|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Adventuring]][[Category:In-combat Consulting]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Monster_hp&amp;diff=5299</id>
		<title>Monster hp</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Monster_hp&amp;diff=5299"/>
		<updated>2019-09-13T03:10:14Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|monster_hp}}{{&lt;br /&gt;
#vardefine:return_type|int}}{{&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;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|monster|check_me}}|&lt;br /&gt;
p1desc={{Pspan|check_me}} is the (optional) monster to get the HP of|&lt;br /&gt;
}}|&lt;br /&gt;
function_description=Returns the HP of the specified monster {{pspan|check_me}}. If {{pspan|check_me}} is not specified, it will return the HP of the current monster if you are in a fight (i.e. you&#039;re calling the function from an [[In-combat Consulting]] script), or the HP of the last monster you encountered otherwise.  If you are in a fight, this will return the monster&#039;s current HP to the best of KoLmafia&#039;s knowledge.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The return value includes monster level modifications.  This means that for monsters with unknown HP, the return value will initially be equivalent to monster_level_adjustment().&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If you want to know the monster&#039;s raw HP without being modified by monster level adjustments, it is available through the monster.&#039;&#039;&#039;raw_hp&#039;&#039;&#039; proxy field.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following code is a simplified function of weapon damage. It will tell how many rounds it takes to kill a monster based on its HP.|&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void kill (string monstername) {&lt;br /&gt;
   monster mon = to_monster(monstername);&lt;br /&gt;
   int hp = monster_hp(mon);&lt;br /&gt;
   int def = max(0, monster_defense(mon));&lt;br /&gt;
   int weaponstat = buffed_hit_stat();&lt;br /&gt;
   int total_dmg;&lt;br /&gt;
   string rounds;&lt;br /&gt;
   float weapon_multi, weapon_dmg, elemental_dmg;&lt;br /&gt;
   if (current_hit_stat() == $stat[moxie] &amp;amp;&amp;amp; item_type(equipped_item($slot[weapon])) != &amp;quot;knife&amp;quot;)&lt;br /&gt;
      weapon_multi = .75;&lt;br /&gt;
   else weapon_multi = 1.0;&lt;br /&gt;
   weapon_dmg = numeric_modifier(&amp;quot;weapon damage&amp;quot;);&lt;br /&gt;
   foreach it in $elements[]{&lt;br /&gt;
      string dmg = it+&amp;quot; damage&amp;quot;;&lt;br /&gt;
      elemental_dmg += numeric_modifier(dmg);&lt;br /&gt;
   }&lt;br /&gt;
   total_dmg = floor((weaponstat*weapon_multi)-def+weapon_dmg+elemental_dmg);&lt;br /&gt;
   total_dmg = max(0, total_dmg);&lt;br /&gt;
   if (total_dmg &amp;gt; 0)&lt;br /&gt;
      rounds = to_string(max(1, round(hp/total_dmg)));&lt;br /&gt;
   else rounds = &amp;quot;infinity&amp;quot;;&lt;br /&gt;
   print(&amp;quot;Your expected damage on &amp;quot;+mon+&amp;quot; is &amp;quot;+total_dmg+&amp;quot;. Assuming you always hit, it will take &amp;quot;+rounds+&amp;quot; round(s) to kill &amp;quot;+mon+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
kill(&amp;quot;bar&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=&lt;br /&gt;
Note: The example does not take crits/fumbles/hit chances into account. For more information on weapon damage see [http://kol.coldfront.net/thekolwiki/index.php/Weapon_Damage Weapon Damage].&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
see_also={{SeeAlso|monster_attack|monster_defense|monster_initiative|monster_element}}|&lt;br /&gt;
more_info=For the current discussion of what&#039;s being tracked in-combat for monster level adjustments, please see [http://kolmafia.us/showthread.php?3452 this thread].|&lt;br /&gt;
special=If no monster is specified and no monster has been fought in this session, this function returns 0. This is because mafia forgets the value of {{f|last_monster}} when it logs out.|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Adventuring]][[Category:In-combat Consulting]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Data_Structures&amp;diff=3205</id>
		<title>Data Structures</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Data_Structures&amp;diff=3205"/>
		<updated>2015-12-06T06:39:02Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
KoLmafia supports complex data structures such as maps and records made from simple [[Data Types|data types]].&lt;br /&gt;
&lt;br /&gt;
== Maps ==&lt;br /&gt;
If you are new to programming or find the information below confusing, you may want to read [[Map_Guide | A Noob&#039;s Guide to Maps]] first. &lt;br /&gt;
&lt;br /&gt;
Most of this information was copied directly from ASH Maps Tutorial, by Veracity (http://kolmafia.sourceforge.net/advanced.html#maps)&lt;br /&gt;
&lt;br /&gt;
A map is indexed by one data type (the key) and associates that key with another (or the same) data type (the value). The key can be any ASH simple data type: boolean, int, float, string, item, location, class, stat, skill, effect, familiar, slot, or monster. The value can be any ASH data type at all: a simple type, a record, or can be another map. This effectively allows multi-dimensional maps and. In fact, that&#039;s how the syntax we provide for multi-dimensional maps actually operate: maps of maps of maps ...&lt;br /&gt;
&lt;br /&gt;
You can declare a map any time you can declare a variable: as a top level (global) variable, as a function parameter, or as a local variable in any scope.&lt;br /&gt;
&lt;br /&gt;
You can fetch data from a map any time you can provide a data value: in an expression, as a function parameter, on the right side of an assignment statement, from a &amp;quot;return&amp;quot; statement, as so on. You can pass around entire maps, individual elements, or intermediate maps: &amp;quot;slices&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Declarations ===&lt;br /&gt;
&lt;br /&gt;
The syntax for declaring the data type of a map:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;data type&amp;gt; [ &amp;lt;key type&amp;gt;, ... ] &amp;lt;aggregate_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
{{CodeSample&lt;br /&gt;
|code=&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
string [item] map1;&lt;br /&gt;
float [class, string, int] another_map;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Assignments ===&lt;br /&gt;
&lt;br /&gt;
If you use a map on the left side of an assignment, you set the whole map at once to the new value.&lt;br /&gt;
&lt;br /&gt;
{{CodeSample&lt;br /&gt;
|code=&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
int [item] my_pricelist;&lt;br /&gt;
int [item] new_pricelist;&lt;br /&gt;
&lt;br /&gt;
/* Some code that updates my_pricelist with new_pricelist */&lt;br /&gt;
&lt;br /&gt;
my_pricelist = new_pricelist;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
If you specify a map and a complete set of indices (of the correct types) on the left side of an assignment statement, you set a single element.&lt;br /&gt;
&lt;br /&gt;
{{CodeSample&lt;br /&gt;
|code=&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
int [item] my_pricelist;&lt;br /&gt;
my_pricelist[ $item[ pail ] ] = 1000;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
If you specify a map and a prefix of indices (of the correct type), you directly set one of the intermediate maps, a &amp;quot;slice&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{CodeSample&lt;br /&gt;
|code=&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
float [string, int, string] my_map;&lt;br /&gt;
float [int, string] slice1;&lt;br /&gt;
&lt;br /&gt;
/* Some code that fills my_map[ &amp;quot;slice1&amp;quot; ] with slice1 */&lt;br /&gt;
my_map[ &amp;quot;slice1&amp;quot; ] = slice1;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
The syntax for referencing an element (or slice) of a map:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;aggregate name&amp;gt;[ &amp;lt;key expression&amp;gt;, ... ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All the key expressions will be evaluated at run time. If you specify all the keys the map expects, you fetch data of the type specified by the map. If you specify fewer keys than the map expects, you get an intermediate map, a &amp;quot;slice&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
As an example:&lt;br /&gt;
{{&lt;br /&gt;
CodeSample|&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
boolean [string, string] props; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
might be used to hold &amp;quot;properties&amp;quot; associated with names.&lt;br /&gt;
{{&lt;br /&gt;
CodeSample|&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
props[ &amp;quot;dog&amp;quot;, &amp;quot;mammal&amp;quot; ] = true; &lt;br /&gt;
props[ &amp;quot;dog&amp;quot;, &amp;quot;pet&amp;quot; ] = true; &lt;br /&gt;
props[ &amp;quot;dog&amp;quot;, &amp;quot;fun&amp;quot; ] = false;&lt;br /&gt;
props[ &amp;quot;turtle&amp;quot;, &amp;quot;mammal&amp;quot; ] = false;&lt;br /&gt;
props[ &amp;quot;turtle&amp;quot;, &amp;quot;pet&amp;quot; ] = true;&lt;br /&gt;
props[ &amp;quot;turtle&amp;quot;, &amp;quot;fun&amp;quot; ] = false;&lt;br /&gt;
props[ &amp;quot;aardvark&amp;quot;, &amp;quot;mammal&amp;quot; ] = true;&lt;br /&gt;
props[ &amp;quot;aardvark&amp;quot;, &amp;quot;pet&amp;quot; ] = false;&lt;br /&gt;
props[ &amp;quot;aardvark&amp;quot;, &amp;quot;fun&amp;quot; ] = true; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
references:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
props[ &amp;quot;dog&amp;quot;, &amp;quot;mammal&amp;quot;] =&amp;gt; true&lt;br /&gt;
boolean [string] animal = props[ &amp;quot;turtle&amp;quot; ];&lt;br /&gt;
animal[ &amp;quot;fun&amp;quot; ] =&amp;gt; false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contains ===&lt;br /&gt;
&lt;br /&gt;
You can test the presence of a key in a map using the &amp;quot;contains&amp;quot; operator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;aggregate reference expression&amp;gt; contains &amp;lt;key expression&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;aggregate reference expression&amp;gt; must evaluate at run time to a map or slice, and must evaluate at run time to a key of the appropriate type. (Note that that is enforced at parse time; ASH can tell the datatype any expression will produce).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
props contains &amp;quot;dog&amp;quot; =&amp;gt; true&lt;br /&gt;
props contains &amp;quot;elephant&amp;quot; =&amp;gt; false&lt;br /&gt;
props[ &amp;quot;aardvark&amp;quot; ] contains &amp;quot;fun&amp;quot; =&amp;gt; true&lt;br /&gt;
animal contains &amp;quot;pet&amp;quot; =&amp;gt; true&lt;br /&gt;
animal contains &amp;quot;favorite food&amp;quot; =&amp;gt; false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Remove ===&lt;br /&gt;
&lt;br /&gt;
You can remove a key-value association from a map using the &amp;quot;remove&amp;quot; unary operator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
remove &amp;lt;aggregate reference&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For clarification, an aggregate reference is &amp;quot;&amp;lt;map name&amp;gt;[ &amp;lt;index 1&amp;gt; ... &amp;lt;index n&amp;gt; ]&amp;quot; where &amp;lt;map name&amp;gt;[ &amp;lt;index 1&amp;gt; ... &amp;lt;index n-1&amp;gt; ] specifies the &amp;quot;slice&amp;quot; and &amp;lt;index n&amp;gt; specifies the &amp;quot;key&amp;quot;. Which is just what you expect, if you fully specify the indices; for a single dimensional map, &amp;quot;map[10]&amp;quot; -&amp;gt; &amp;quot;map&amp;quot; is the slice and 10 is the key. The &amp;quot;remove&amp;quot; operator removes the &amp;quot;key&amp;quot; from the &amp;quot;slice&amp;quot;. For example:&lt;br /&gt;
&lt;br /&gt;
{{CodeSample|code=&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
string [int] map1;&lt;br /&gt;
map1[5] = &amp;quot;foo&amp;quot;;&lt;br /&gt;
print( count( map1 ) + &amp;quot; &amp;quot; + map1 contains 5 + &amp;quot; &amp;quot; + map1[5] );&lt;br /&gt;
print( &amp;quot;remove: &amp;quot; + remove map1[5] );&lt;br /&gt;
print( count( map1 ) + &amp;quot; &amp;quot; + map1 contains 5 + &amp;quot; &amp;quot;  + map1[5] );&lt;br /&gt;
print( &amp;quot;remove: &amp;quot; + remove map1[5] );&lt;br /&gt;
int [string, string] map2;&lt;br /&gt;
map2[&amp;quot;me&amp;quot;,&amp;quot;you&amp;quot;] = 17;&lt;br /&gt;
print( count( map2[&amp;quot;me&amp;quot;] ) + &amp;quot; &amp;quot; + map2[&amp;quot;me&amp;quot;] contains &amp;quot;you&amp;quot; + &amp;quot; &amp;quot; + map2[&amp;quot;me&amp;quot;,&amp;quot;you&amp;quot;] );&lt;br /&gt;
print( &amp;quot;remove: &amp;quot; + remove map2[&amp;quot;me&amp;quot;, &amp;quot;you&amp;quot;] );&lt;br /&gt;
print( count( map2[&amp;quot;me&amp;quot;] ) + &amp;quot; &amp;quot; + map2[&amp;quot;me&amp;quot;] contains &amp;quot;you&amp;quot; + &amp;quot; &amp;quot; + map2[&amp;quot;me&amp;quot;,&amp;quot;you&amp;quot;] );&lt;br /&gt;
print( &amp;quot;remove: &amp;quot; + remove map2[&amp;quot;me&amp;quot;, &amp;quot;you&amp;quot;] );&lt;br /&gt;
print( count( map2 ) + &amp;quot; &amp;quot; + map2[&amp;quot;me&amp;quot;] );&lt;br /&gt;
print( &amp;quot;remove: &amp;quot; + remove map2[&amp;quot;me&amp;quot;] );&lt;br /&gt;
print( count( map2 ) + &amp;quot; &amp;quot; + map2[&amp;quot;me&amp;quot;] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
yields:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 true foo&lt;br /&gt;
remove: foo&lt;br /&gt;
0 false&lt;br /&gt;
remove:&lt;br /&gt;
1 true 17&lt;br /&gt;
remove: 17&lt;br /&gt;
0 false 0&lt;br /&gt;
remove: 0&lt;br /&gt;
1 aggregate int [string]&lt;br /&gt;
remove: aggregate int [string]&lt;br /&gt;
0 aggregate int [string]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Clear ===&lt;br /&gt;
&lt;br /&gt;
You can remove all &amp;lt;code&amp;gt;key =&amp;gt; value&amp;lt;/code&amp;gt; entries from a map using the {{f|clear}} function:&lt;br /&gt;
&lt;br /&gt;
{{CodeSample|code=&amp;lt;syntaxhighlight&amp;gt;clear( &amp;lt;aggregate&amp;gt; );&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Count ===&lt;br /&gt;
&lt;br /&gt;
The {{f|count}} function returns the number of defined keys for the specified aggregate.&lt;br /&gt;
&lt;br /&gt;
{{CodeSample|code=&amp;lt;syntaxhighlight&amp;gt;int size = count( &amp;lt;aggregate&amp;gt; );&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Sort ===&lt;br /&gt;
&lt;br /&gt;
From http://kolmafia.us/showthread.php?t=1738 and http://kolmafia.us/showthread.php?10729&lt;br /&gt;
&lt;br /&gt;
The syntax is:&lt;br /&gt;
{{CodeSample|code=&amp;lt;syntaxhighlight&amp;gt;sort aggregate by keyExpr;&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;aggregate&amp;lt;/code&amp;gt; is a reference to the object to be sorted - arrays are probably the most useful things to sort, but any mapping type can be used.  But please note that when you sort a map, you change the values that correspond to the index. To sort on a map, you would want to use a multidimensional maps, but note that you can only sort along a single dimension at a time when doing this. Simply put... &amp;quot;sort&amp;quot; is only useful in cases where your data exists entirely in the values of the map; the keys can have no meaning beyond simply being distinct.&lt;br /&gt;
&lt;br /&gt;
The reference must not be enclosed in parentheses, as that would look like a call to a function named &amp;lt;code&amp;gt;sort()&amp;lt;/code&amp;gt; - which is still perfectly valid, &amp;quot;sort&amp;quot; has not become a [[Reserved Words|reserved word]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;keyExpr&amp;lt;/code&amp;gt; is an arbitrary expression that defines how the items should be ordered. It is evaluated once for every entry in the aggregate, in a scope with two additional variables implicitly defined: &#039;&amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;&#039; and &#039;&amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt;&#039;, holding the details of that entry. The value of the &amp;lt;code&amp;gt;keyExpr&amp;lt;/code&amp;gt; is used as the sort key; typically it would be an &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;, but can be any ASH type that can be compared via &amp;quot;&amp;lt;&amp;quot; and the other relational operators.&lt;br /&gt;
&lt;br /&gt;
The most basic form of sorting would therefore be &amp;quot;&amp;lt;code&amp;gt;sort ... by value&amp;lt;/code&amp;gt;&amp;quot;, but many useful things can be done with the use of a more complex &amp;lt;code&amp;gt;keyExpr&amp;lt;/code&amp;gt; - the only real restriction is that the expression should not modify the object you&#039;re sorting. For example, if you had an array of items, you could sort it &amp;quot;&amp;lt;code&amp;gt;by autosell_price(value)&amp;lt;/code&amp;gt;&amp;quot;. An array of weapon items could be sorted &amp;quot;&amp;lt;code&amp;gt;by -get_power(value)&amp;lt;/code&amp;gt;&amp;quot; to put it in decreasing order of power. If the elements of your aggregate are records, you&#039;d need to use something like &amp;quot;&amp;lt;code&amp;gt;by value.fieldName&amp;lt;/code&amp;gt;&amp;quot;, since the records themselves can&#039;t be meaningfully compared.&lt;br /&gt;
&lt;br /&gt;
After the sort statement, the aggregate will have exactly the same sets of keys and values as before (even if the keys weren&#039;t consecutive), and the iteration order of the keys will be the same, but the values will likely be associated with different keys. The sort is stable - in other words, elements with sort keys that compare as equal will remain in the same order. This means that you can sort on multiple criteria by simply performing separate sorts for each of the criteria, in increasing order of significance.&lt;br /&gt;
&lt;br /&gt;
To find out how many things you have, you might do:&lt;br /&gt;
{{CodeSample|code=&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
item [int] whatGot;&lt;br /&gt;
int ctr =0;&lt;br /&gt;
&lt;br /&gt;
foreach it in get_inventory() {&lt;br /&gt;
   whatGot[ctr] = it;&lt;br /&gt;
   ctr+=1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sort whatGot by item_amount(value);&lt;br /&gt;
&lt;br /&gt;
foreach x, it in whatGot&lt;br /&gt;
   print(item_amount(it) + &#039; of &#039; + it);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
Note that this use of an optional feature of foreach. The second variable in the foreach is the value of whatGot[x].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A few more examples of things you can do:&lt;br /&gt;
* &amp;quot;&amp;lt;code&amp;gt;by -value&amp;lt;/code&amp;gt;&amp;quot; sorts integers in decreasing order (there&#039;s no similar trick for &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; values).&lt;br /&gt;
* &amp;quot;&amp;lt;code&amp;gt;by -index&amp;lt;/code&amp;gt;&amp;quot; reverses the existing order of an array (or map with integer keys).&lt;br /&gt;
* &amp;quot;&amp;lt;code&amp;gt;by random(1000000)&amp;lt;/code&amp;gt;&amp;quot; shuffles into a random order.&lt;br /&gt;
* &amp;quot;&amp;lt;code&amp;gt;by otherArray[index]&amp;lt;/code&amp;gt;&amp;quot; uses values from a parallel array as the sort keys (you&#039;d then need to do &amp;quot;&amp;lt;code&amp;gt;sort otherArray by value;&amp;lt;/code&amp;gt;&amp;quot; if you wanted the two arrays to remain in sync).&lt;br /&gt;
&lt;br /&gt;
===Iteration===&lt;br /&gt;
To iterate through a map, use the &#039;&#039;&#039;foreach&#039;&#039;&#039; operator. For instance, if you wanted to print out how many of each item you had, you could do something like the following:&lt;br /&gt;
{{CodeSample|code=&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
int[item] map = get_inventory();&lt;br /&gt;
foreach key in map {&lt;br /&gt;
    print(key + &amp;quot; (&amp;quot; + map[key] + &amp;quot;)&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Multidimensional maps are implemented as maps that map keys to maps. &#039;&#039;&#039;int[item][string]map&#039;&#039;&#039; is really a mapping of items to int[string] maps. Iteration, therefore, is as follows:&lt;br /&gt;
{{CodeSample|code=&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
int[item][string] map;&lt;br /&gt;
file_to_map(&amp;quot;somefile.txt&amp;quot;, map);&lt;br /&gt;
foreach k1 in map {&lt;br /&gt;
    print(k1 + &amp;quot;: &amp;quot;);&lt;br /&gt;
    foreach k2 in map[k1] {&lt;br /&gt;
        print(&amp;quot;\t&amp;quot; + k2 + &amp;quot;: &amp;quot; + map[k1][k2]);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Two things to note: First, &#039;&#039;&#039;int[item][string]map&#039;&#039;&#039; is equivalent to &#039;&#039;&#039;int[item, string]map&#039;&#039;&#039;. This really comes down to author preference, although the second form is generally more common. Second, the two following foreach loops are equivalent:&lt;br /&gt;
{{CodeSample|code=&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
int[item][string] map;&lt;br /&gt;
foreach k1 in map {&lt;br /&gt;
    foreach k2 in map[k1] {&lt;br /&gt;
        func(map[k1][k2]);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
foreach k1, k2 in map {&lt;br /&gt;
    func(map[k1][k2]);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Of course, the latter does not lend itself to, say, only printing the first key once, whereas the former can be used that way (see the preceding example).&lt;br /&gt;
&lt;br /&gt;
===Implementation===&lt;br /&gt;
Maps in ASH are implemented internally as TreeMaps [http://download.oracle.com/javase/1.5.0/docs/api/java/util/TreeMap.html]. See below for some implications.&lt;br /&gt;
&lt;br /&gt;
== Arrays ==&lt;br /&gt;
These look and behave like mappings of integers to values, where the keys only take values from 0 to n, but these are implemented as Java Arrays.&lt;br /&gt;
&lt;br /&gt;
===Differences between arrays and maps===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;item [12] array;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Can use keys 0 - 11. You get a runtime error if you use any other key. It always uses memory to hold 12 items, even if you only use a couple of them. But it&#039;s a constant time - O(1) - to access any element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;item [int] map;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Can use any int as a key. It has constant memory for the Java map, and additional memory for each element in the map, but is O( log n) to access any particular element.&lt;br /&gt;
&lt;br /&gt;
If you are able to use (a fairly densely packed set of) integers as keys, your program will be faster and use (potentially) slightly more memory.&lt;br /&gt;
&lt;br /&gt;
If you have a sparse set of integers, you can still use an array and get fast access, but you will waste a lot of memory.&lt;br /&gt;
&lt;br /&gt;
If you can&#039;t use integers as keys or don&#039;t want to waste memory on a sparse array, you can have a slower but less memory consuming map.&lt;br /&gt;
&lt;br /&gt;
[http://kolmafia.us/showthread.php?6425-Sorting-skills-by-mana-cost&amp;amp;p=48703&amp;amp;viewfull=1#post48703]&lt;br /&gt;
&lt;br /&gt;
====Time considerations====&lt;br /&gt;
* Given &#039;&#039;&#039;if (a == item1 || a == item2 || a == item3)&#039;&#039;&#039; and &#039;&#039;&#039;if ($items[item1, item2, item3] contains a)&#039;&#039;&#039;, which is faster?&lt;br /&gt;
&lt;br /&gt;
This is going to depend on the number of items in the list, and which one happens to match; if &#039;a&#039; is almost always item1, then the first form is likely to win on practical grounds, even though it&#039;s theoretically slower (O(n) vs. O(log n)).&lt;br /&gt;
&lt;br /&gt;
The second form is a definite win assuming no such coincidences of the item chosen, a somewhat larger set of items, and that the code is executed more than once per run of the script. The first lookup in a plural constant actually builds an internal map that allows such queries to be efficiently done; this is deferred because typical use of a plural constant involves only iteration, not lookups.&lt;br /&gt;
&lt;br /&gt;
There&#039;s always the &amp;quot;profile&amp;quot; command, if you really need to know which is more efficient in a given situation - although it&#039;s unlikely that either would have a noticeable effect on your script&#039;s performance.&lt;br /&gt;
&lt;br /&gt;
[http://kolmafia.us/showthread.php?6425-Sorting-skills-by-mana-cost&amp;amp;p=48728&amp;amp;viewfull=1#post48728]&lt;br /&gt;
&lt;br /&gt;
== Records ==&lt;br /&gt;
&lt;br /&gt;
(copy-pasted from Veracity&#039;s post introducing the record [http://kolmafia.us/showthread.php?t=280])&lt;br /&gt;
&lt;br /&gt;
Starting with SVN revision 1311 of KoLmafia, ASH now supports a new kind of structured data: the record. Here is a little example of how you declare a record and variables of the new type you&#039;ve created by doing so.&lt;br /&gt;
&lt;br /&gt;
{{CodeSample|code=&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
record my_type {&lt;br /&gt;
  	int ifield;&lt;br /&gt;
	string sfield;&lt;br /&gt;
	record {&lt;br /&gt;
		int first;&lt;br /&gt;
		int second;&lt;br /&gt;
	} rfield;&lt;br /&gt;
	int [int, int] mfield;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
my_type rvar;&lt;br /&gt;
my_type [int] mrvar;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
What I&#039;ve done with the above is declare a new data type which I&#039;ve named &amp;quot;my_type&amp;quot;. Having declared the new type, I can use it (almost) anywhere that I can use a built-in type name. I declared a variable, &amp;quot;rvar&amp;quot;, of that type, and I defined a map, &amp;quot;mrvar&amp;quot;, which maps keys of type integer to values of type my_type.&lt;br /&gt;
&lt;br /&gt;
The new type, &amp;quot;my_type&amp;quot; is a &amp;quot;composite&amp;quot; type. It contains four fields. &amp;quot;ifield&amp;quot; is an integer. &amp;quot;sfield&amp;quot; is a string. &amp;quot;rfield&amp;quot; is another composite field: an anonymous record containing two integers named &amp;quot;first&amp;quot; and &amp;quot;second&amp;quot;. Finally, &amp;quot;mfield&amp;quot; is a map from [int, int] to int.&lt;br /&gt;
&lt;br /&gt;
As you can see, a record can combine data of all the types ASH supports: primitive, aggregate, and composite.&lt;br /&gt;
&lt;br /&gt;
Having defined the new data type and several variables using it, here are some examples of how to access the fields.&lt;br /&gt;
&lt;br /&gt;
{{CodeSample|code=&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
rvar.ifield = 10;&lt;br /&gt;
rvar.sfield = &amp;quot;secret&amp;quot;;&lt;br /&gt;
rvar.rfield.first = 1000;&lt;br /&gt;
rvar.rfield.second = 2000;&lt;br /&gt;
rvar.mfield[ 2, 3 ] = 12;&lt;br /&gt;
&lt;br /&gt;
mrvar[ 1 ] = rvar;&lt;br /&gt;
&lt;br /&gt;
foreach key in mrvar&lt;br /&gt;
	foreach key1, key2 in mrvar[key].mfield&lt;br /&gt;
		print( &amp;quot;val = &amp;quot; + mrvar[key].mfield[key1,key2] );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see, if you have a variable that is a record, you access the fields of the record by following the variable name with &amp;quot;.&amp;amp;lt;field name&amp;amp;gt;&amp;quot;. The resulting value will be of whatever type you declared in the definition of the record. If the value is a map, you can give a list of keys within [], just like any other map. If the value is another record, you can access the fields of the nested record by using another &amp;quot;.&amp;amp;lt;field name&amp;amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you are familiar with Pascal &amp;quot;records&amp;quot; or C/C++ &amp;quot;structs&amp;quot;, this should all be comfortably familiar.&lt;br /&gt;
&lt;br /&gt;
Finally, if you create a map whose values is a record, the file_to_map and map_to_file built-in ASH functions will Do The Right Thing; they will efficiently and reliably save and restore your data.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Numeric_modifier&amp;diff=2653</id>
		<title>Numeric modifier</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Numeric_modifier&amp;diff=2653"/>
		<updated>2015-12-05T20:57:20Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|numeric_modifier}}{{&lt;br /&gt;
#vardefine:return_type|float}}{{&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|modifier_name}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|check_me}}|&lt;br /&gt;
parameter2={{Param|string|modifier_name}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function3={{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|item|check_me}}|&lt;br /&gt;
parameter2={{Param|string|modifier_name}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function4={{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|effect|check_me}}|&lt;br /&gt;
parameter2={{Param|string|modifier_name}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function5={{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|skill|check_me}}|&lt;br /&gt;
parameter2={{Param|string|modifier_name}}|&lt;br /&gt;
p1desc={{Pspan|check_me}} is the string, item, effect or skill to check|&lt;br /&gt;
p2desc={{Pspan|modifier_name}} is the modifier to check|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=Returns your current modifier total for {{pspan|modifier_name}}, or the amount of modification from {{pspan|check_me}} if specified.&amp;lt;/p&amp;gt;&lt;br /&gt;
===Special Syntax for Familiars===&lt;br /&gt;
{{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|familiar|buddy}}|&lt;br /&gt;
parameter2={{Param|string|check_me}}|&lt;br /&gt;
parameter3={{Param|int|weight}}|&lt;br /&gt;
parameter4={{Param|item|equipment}}|&lt;br /&gt;
p1desc={{Pspan|buddy}} is the familiar to check|&lt;br /&gt;
p2desc={{Pspan|check_me}} is the modifier to check|&lt;br /&gt;
p3desc={{Pspan|weight}} is the familiar&#039;s weight (buffed, not including equipment)|&lt;br /&gt;
p4desc={{Pspan|equipment}} is the familiar&#039;s equipment|&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;p&amp;gt;Returns the familiar&#039;s effect on this modifier (for instance, a baby gravy fairy would return some positive float for &amp;quot;Item Drop&amp;quot;).|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Sample|&lt;br /&gt;
description=Prints your current Initiative:|&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
float init = numeric_modifier( &amp;quot;initiative&amp;quot; );&lt;br /&gt;
print(init);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
{{CodeSample|&lt;br /&gt;
description=Function that checks if a single effect from a given list will buff your muscle over an amount goal. The name of the first effect to satisfy the goal is printed, or you are warned if none is found.|&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
boolean buffMuscleTo( int goal ) {&lt;br /&gt;
   int current_muscle = my_buffedstat( $stat[Muscle] ) ;&lt;br /&gt;
   int base_muscle = my_basestat( $stat[Muscle] ) ;&lt;br /&gt;
   int muscle_increase ;&lt;br /&gt;
   if ( current_muscle &amp;gt;= goal ) return true ;&lt;br /&gt;
   &lt;br /&gt;
   foreach it in $effects[Tomato Power, Phorcefullness, Gr8tness, Incredibly Hulking] {&lt;br /&gt;
      if ( have_effect(it) &amp;gt; 0 ) continue ;&lt;br /&gt;
      muscle_increase = floor( base_muscle * numeric_modifier( it, &amp;quot;Muscle Percent&amp;quot; ) / 100 );&lt;br /&gt;
      if ( current_muscle + muscle_increase &amp;gt;= goal ) {&lt;br /&gt;
         print(it + &amp;quot; will bring your muscle over &amp;quot; + goal);&lt;br /&gt;
         return true;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   print(&amp;quot;No effect found&amp;quot;);&lt;br /&gt;
   return false;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}|&lt;br /&gt;
&lt;br /&gt;
cli_equiv=The CLI command &amp;quot;modtrace&amp;quot; gives access to the same information when the correct parameters are specified.|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
more_info= For a full list of numeric modifiers, see the following thread: [http://kolmafia.us/showthread.php?802  List].|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modifier Functions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Damage_reduction&amp;diff=2410</id>
		<title>Damage reduction</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Damage_reduction&amp;diff=2410"/>
		<updated>2015-11-27T06:23:48Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|damage_reduction}}{{&lt;br /&gt;
#vardefine:return_type|int}}{{&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;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=Returns the damage that is deducted as a result of damage reduction effects.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=The function will calculate the average damage you will take from each monster in a given location, if you are hit.|&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
int damage_calculator (monster opponent) {&lt;br /&gt;
   int myMoxie = my_buffedstat($stat[moxie]);&lt;br /&gt;
   int monsterAttack = monster_attack(opponent);&lt;br /&gt;
   int bonusDamage = monsterAttack-myMoxie;&lt;br /&gt;
   if (bonusDamage &amp;lt; 0)&lt;br /&gt;
      bonusDamage = 0;&lt;br /&gt;
   float totalDamage = bonusDamage + monsterAttack*.225 - damage_reduction();&lt;br /&gt;
   totalDamage = totalDamage * (1 - damage_absorption_percent()/100);&lt;br /&gt;
   if (totalDamage &amp;lt; 0)&lt;br /&gt;
      totalDamage = 0;&lt;br /&gt;
   print(&amp;quot;For &amp;quot;+opponent+&amp;quot;: KoLMafia thinks you will take &amp;quot;+expected_damage(opponent)+&amp;quot; and calculator thinks &amp;quot;+totalDamage, &amp;quot;blue&amp;quot;);&lt;br /&gt;
return round(totalDamage);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void location_damage (location place) {&lt;br /&gt;
   print(&amp;quot;&amp;quot;+place+&amp;quot; has the following enemies that will deal the following average damage:&amp;quot;, &amp;quot;purple&amp;quot;);&lt;br /&gt;
   foreach mob, freq in appearance_rates(place) //Appearance rates is used to weed out bosses/one time specials/etc&lt;br /&gt;
      if (freq &amp;gt; 0) &lt;br /&gt;
         print(&amp;quot;The average damage a &amp;quot;+mob+&amp;quot; will deal to you is &amp;quot;+damage_calculator(mob)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
      &lt;br /&gt;
}&lt;br /&gt;
location_damage($location[The Black Forest]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=&lt;br /&gt;
The formula used to calculate damage can be found [http://kol.coldfront.net/thekolwiki/index.php/Weapon_Damage#Monster_Damage_Formula Here] Note: The example does not take in account using a shield with the passive Hero of the Half-Shell.&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
see_also={{SeeAlso|damage_absorption_percent|raw_damage_absorption}}|&lt;br /&gt;
special=Returns 0 when not logged in.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Your Character]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Zlib&amp;diff=7300</id>
		<title>Zlib</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Zlib&amp;diff=7300"/>
		<updated>2015-11-24T08:45:38Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Added info about changing established ZLIB properties within ASH&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}{{DISPLAYTITLE:ZLib (zlib.ash)}}&lt;br /&gt;
{{Attention|&lt;br /&gt;
This page details the use of functions in a script library. The information here is only useful to those who have followed the included steps to make use of these functions; they are not built-in to KoLmafia.&lt;br /&gt;
}}&lt;br /&gt;
== About ZLib ==&lt;br /&gt;
ZLib is a function library intended to make life easier for both script authors and script users.  A more detailed introduction, as well as instructions on installing it and other details, can be found in the [http://kolmafia.us/showthread.php?2072 ZLib thread].&lt;br /&gt;
&lt;br /&gt;
== String Functions ==&lt;br /&gt;
&lt;br /&gt;
{{HideLink|excise}}{{Function|&lt;br /&gt;
name=excise|&lt;br /&gt;
return_type=string|&lt;br /&gt;
parameter1={{Param|string|source}}|&lt;br /&gt;
parameter2={{Param|string|start}}|&lt;br /&gt;
parameter3={{Param|string|end}}|&lt;br /&gt;
p1desc=The original {{pspan|source}} string|&lt;br /&gt;
p2desc={{pspan|start}} after this string|&lt;br /&gt;
p3desc={{pspan|end}} before this string|&lt;br /&gt;
}}&lt;br /&gt;
This function returns a portion of the {{pspan|source}} string, from after the first occurrence of {{pspan|start}} to just before the first occurrence of {{pspan|end}}. If either {{pspan|start}} or {{pspan|end}} are missing, it will return an empty string. You can also supply either {{pspan|start}} or {{pspan|end}} as blank strings to specify the actual start or end of the {{pspan|source}} string.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|equals}}{{Function|&lt;br /&gt;
name=equals|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|string|s1}}|&lt;br /&gt;
parameter2={{Param|string|s2}}|&lt;br /&gt;
p1desc={{pspan|s1}} is a string.|&lt;br /&gt;
p2desc={{pspan|s2}} is the string to compare with {{pspan|s1}}.|&lt;br /&gt;
}}&lt;br /&gt;
Since string comparisons in ASH using == and != are case-insensitive, this function allows you to strictly compare two strings, including case sensitivity.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|vprint}}{{Function|&lt;br /&gt;
name=vprint|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|string|message}}|&lt;br /&gt;
parameter2={{Param|int|level}}|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=vprint|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|string|message}}|&lt;br /&gt;
parameter2={{Param|string|color}}|&lt;br /&gt;
parameter3={{Param|int|level}}|&lt;br /&gt;
p1desc={{pspan|message}} and {{pspan|color}} are used as in the function {{f|print}}|&lt;br /&gt;
p2desc={{pspan|level}} controls the return value and specifies the verbosity level of the message|&lt;br /&gt;
}}&lt;br /&gt;
This function is an enhanced version of the ASH function {{f|print}}.  The {{pspan|message}} and optional {{pspan|color}} parameters are exactly like in print(), but the {{pspan|level}} parameter gives you a lot of additional control.  Specifically, it allows you to control the return value, specify the verbosity level of the output, and maybe even abort the script.&lt;br /&gt;
&lt;br /&gt;
First, the return value.  If level is positive, it returns true.  If negative, it returns false.  If level is 0, vprint() will abort with the specified message. You can see now that vprint effectively replaces both {{f|abort}} and print.  I recommend it as your go-to function anytime you need to show anything in the CLI, for any reason.&lt;br /&gt;
&lt;br /&gt;
Having a boolean return value (as opposed to ASH&#039;s print returning void) allows you to include helpful information in your script easily, without needing to significantly edit your code.  For example:&lt;br /&gt;
{{CodeSample|&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
// add debugging info to an if check:&lt;br /&gt;
if (somevar == 2 &amp;amp;&amp;amp; vprint(&amp;quot;somevar equals 2&amp;quot;,10)) dosomething();&lt;br /&gt;
// add additional info to a return true/false:&lt;br /&gt;
if (everythingsgreat) return vprint(&amp;quot;Everything&#039;s great!&amp;quot;,7);&lt;br /&gt;
   else return vprint(&amp;quot;Everything is not great.&amp;quot;,-7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Secondly, level represents the verbosity of the message.  ZLib includes a script setting called &amp;quot;verbosity&amp;quot;.  Users can adjust this value to specify how verbose they want scripts to be.  If they set it to 1, they want the script to print almost nothing -- only the most important messages.  If they set it to 10, they want it to print a lot of details.  The level of each vprint command thus determines whether or not the message will actually be printed.  If the absolute value of level is more than verbosity, the message will not be printed.  For example, a user with the default verbosity of 3 would not see any of the example messages given above.  This allows users to control the chattiness of scripts, and allows authors to include helpful debugging print statements which can be shown by setting verbosity high.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommendations for Verbosity Levels in vprint()&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
0: abort error&lt;br /&gt;
&lt;br /&gt;
+/- 1: absolutely essential (and non-cluttering) information -- use very sparingly, since a verbosity of 1 is basically &amp;quot;silent mode&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+/- 2: important and useful info -- this should generally be your base level for your most important messages&lt;br /&gt;
&lt;br /&gt;
+/- 4: interesting but non-essential information&lt;br /&gt;
&lt;br /&gt;
+/- 6: info which an overly curious person might like to see on their CLI&lt;br /&gt;
&lt;br /&gt;
+/- 10: details which are only helpful for debugging, such as &amp;quot;begin/end functionname()&amp;quot; or &amp;quot;current value of variable: value&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will allow users who want extra levels of detail printed to see that detail without cluttering the CLI for users who don&#039;t prefer to see all the details. In addition, it allows users to specify a verbosity of 0 to see ONLY mafia output (no script output at all), which could prove handy.&lt;br /&gt;
&lt;br /&gt;
The color parameter is optional.  If you omit it, the default color is black for positive values of level, and red for negative values. Usually, you won&#039;t be calling vprint() with the color parameter, unless you want to specify a different color or override the default colors.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|vprint_html}}{{Function|&lt;br /&gt;
name=vprint_html|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|string|message}}|&lt;br /&gt;
parameter2={{Param|int|level}}|&lt;br /&gt;
p1desc={{pspan|message}} is used as in the function {{f|print_html}}|&lt;br /&gt;
p2desc={{pspan|level}} is a verbosity reference|&lt;br /&gt;
}}&lt;br /&gt;
Same as vprint() above, but wraps {{f|print_html}}.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|normalized}}{{Function|&lt;br /&gt;
name=normalized|&lt;br /&gt;
return_type=string|&lt;br /&gt;
parameter1={{Param|string|mixvar}}|&lt;br /&gt;
parameter2={{Param|string|type}}|&lt;br /&gt;
p1desc={{pspan|mixvar}} is the string to normalize|&lt;br /&gt;
p2desc={{pspan|type}} is the datatype to normalize to, which can be any primitive type or any typed constant.  You can also specify &amp;quot;list of &amp;lt;type&amp;gt;&amp;quot;, for a comma-delimited list of the given type.|&lt;br /&gt;
}}&lt;br /&gt;
Returns {{pspan|mixvar}}, normalized to the specified KoLmafia {{pspan|type}}. For example, normalized(&amp;quot;badger&amp;quot;, &amp;quot;familiar&amp;quot;) would return &amp;quot;Astral Badger&amp;quot;.  It can also normalize comma-delimited lists of any of these types if you specify &amp;quot;list of &amp;lt;type&amp;gt;&amp;quot; for {{pspan|type}}.  For example, normalized(&amp;quot;bloop, dair go, possess&amp;quot;, &amp;quot;list of monster&amp;quot;) would return &amp;quot;Blooper, Dairy Goat, Possessed Silverware Drawer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|join}}{{Function|&lt;br /&gt;
name=join|&lt;br /&gt;
return_type=string|&lt;br /&gt;
parameter1={{Param|string [int]|pieces|ag=t}}|&lt;br /&gt;
parameter2={{Param|string|glue}}|&lt;br /&gt;
p1desc={{pspan|pieces}} is a map of strings which you want to join into a single string.|&lt;br /&gt;
p2desc={{pspan|glue}} is the string to put between the pieces.|&lt;br /&gt;
}}&lt;br /&gt;
This function is the opposite of the ASH function {{f|split_string}}.  It joins {{pspan|pieces}} together, inserting {{pspan|glue}} between each piece, and returns the assembly as a single string.  Useful for working with comma-delimited lists (or anything-delimited lists, actually).&lt;br /&gt;
&lt;br /&gt;
{{HideLink|list_contains}}{{Function|&lt;br /&gt;
name=list_contains|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|string|list}}|&lt;br /&gt;
parameter2={{Param|string|needle}}|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=list_contains|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|string|list}}|&lt;br /&gt;
parameter2={{Param|string|needle}}|&lt;br /&gt;
parameter3={{Param|string|glue}}|&lt;br /&gt;
p1desc={{pspan|list}} is a glue-delimited string list such as returned by join().|&lt;br /&gt;
p2desc={{pspan|needle}} is the entry to check for.|&lt;br /&gt;
p3desc={{pspan|glue}} is optional (defaults to &amp;quot;, &amp;quot;) and represents the delimiter for the list.|&lt;br /&gt;
}}&lt;br /&gt;
Returns true if {{pspan|list}} contains {{pspan|needle}}.  Avoids false positives which could result from using contains_text().&lt;br /&gt;
&lt;br /&gt;
{{HideLink|list_add}}{{Function|&lt;br /&gt;
name=list_add|&lt;br /&gt;
return_type=string|&lt;br /&gt;
parameter1={{Param|string|list}}|&lt;br /&gt;
parameter2={{Param|string|add}}|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=list_add|&lt;br /&gt;
return_type=string|&lt;br /&gt;
parameter1={{Param|string|list}}|&lt;br /&gt;
parameter2={{Param|string|add}}|&lt;br /&gt;
parameter3={{Param|string|glue}}|&lt;br /&gt;
p1desc={{pspan|list}} is a glue-delimited string list such as returned by join() above.|&lt;br /&gt;
p2desc={{pspan|add}} is the entry to add to the list.|&lt;br /&gt;
p3desc={{pspan|glue}} is optional (defaults to &amp;quot;, &amp;quot;) and represents the delimiter for the list.|&lt;br /&gt;
}}&lt;br /&gt;
Adds unique entry {{pspan|add}} to a {{pspan|glue}}-delimited {{pspan|list}}, and returns the modified list.  If the entry already exists in the list, another entry will not be added.  For example, list_add(&amp;quot;a, b, c&amp;quot;,&amp;quot;d&amp;quot;) would return &amp;quot;a, b, c, d&amp;quot;, but list_add(&amp;quot;a, b, c&amp;quot;, &amp;quot;a&amp;quot;) would return &amp;quot;a, b, c&amp;quot;, since the entry &amp;quot;a&amp;quot; already exists.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|list_remove}}{{Function|&lt;br /&gt;
name=list_remove|&lt;br /&gt;
return_type=string|&lt;br /&gt;
parameter1={{Param|string|list}}|&lt;br /&gt;
parameter2={{Param|string|del}}|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=list_remove|&lt;br /&gt;
return_type=string|&lt;br /&gt;
parameter1={{Param|string|list}}|&lt;br /&gt;
parameter2={{Param|string|del}}|&lt;br /&gt;
parameter3={{Param|string|glue}}|&lt;br /&gt;
p1desc={{pspan|list}} is a glue-delimited string list such as returned by join() above.|&lt;br /&gt;
p2desc={{pspan|del}} is the entry to remove from the list.|&lt;br /&gt;
p3desc={{pspan|glue}} is optional (defaults to &amp;quot;, &amp;quot;) and represents the delimiter for the list.|&lt;br /&gt;
}}&lt;br /&gt;
Removes {{pspan|del}} from {{pspan|glue}}-delimited {{pspan|list}}, and returns the modified list.  It will remove all instances of {{pspan|del}}.  For example, list_remove(&amp;quot;a, b, c&amp;quot;,&amp;quot;a&amp;quot;) would return &amp;quot;b, c&amp;quot;, and list_remove(&amp;quot;a, a, b, b, c, c&amp;quot;, &amp;quot;a&amp;quot;) would return &amp;quot;b, b, c, c&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|rnum}}{{Function|&lt;br /&gt;
name=rnum|&lt;br /&gt;
return_type=string|&lt;br /&gt;
parameter1={{Param|int|n}}|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=rnum|&lt;br /&gt;
return_type=string|&lt;br /&gt;
parameter1={{Param|float|n}}|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=rnum|&lt;br /&gt;
return_type=string|&lt;br /&gt;
parameter1={{Param|float|n}}|&lt;br /&gt;
parameter2={{Param|int|place}}|&lt;br /&gt;
p1desc={{pspan|n}} is a number|&lt;br /&gt;
p2desc={{pspan|place}} is the number of decimal places to round to|&lt;br /&gt;
}}&lt;br /&gt;
Returns your number {{pspan|n}} as a human-readable string, appropriate to the user&#039;s computer&#039;s region. For ints, this means it adds grouping separators where appropriate. For floats, it also rounds to the nearest {{pspan|place}} after the decimal. Default {{pspan|place}} for the float-only version is 2, although it may display fewer digits if they are 0&#039;s. Examples: rnum(12580) =&amp;gt; &amp;quot;12,580&amp;quot;, rnum(3.14152964,3) =&amp;gt; &amp;quot;3.142&amp;quot;, rnum(4.00008) =&amp;gt; &amp;quot;4&amp;quot;, rnum(123456789.87654321) =&amp;gt; &amp;quot;123,456,789.88&amp;quot;.  Recommended as a substitute for to_string(int).&lt;br /&gt;
&lt;br /&gt;
== Number Functions ==&lt;br /&gt;
&lt;br /&gt;
{{HideLink|abs}}{{Function|&lt;br /&gt;
name=abs|&lt;br /&gt;
return_type=float|&lt;br /&gt;
parameter1={{Param|float|n}}|&lt;br /&gt;
p1desc={{pspan|n}} is any number.|&lt;br /&gt;
}}&lt;br /&gt;
Returns the absolute value of the number {{pspan|n}}.  Don&#039;t worry if you are working with integers, it will still work just fine.  This function already exists in many programming languages; ZLib makes it handily available in ASH.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|minmax}}{{Function|&lt;br /&gt;
name=minmax|&lt;br /&gt;
return_type=float|&lt;br /&gt;
parameter1={{Param|float|a}}|&lt;br /&gt;
parameter2={{Param|float|min}}|&lt;br /&gt;
parameter3={{Param|float|max}}|&lt;br /&gt;
p1desc={{pspan|a}} is the original number|&lt;br /&gt;
p2desc={{pspan|min}} is the minimum return value|&lt;br /&gt;
p3desc={{pspan|max}} is the maximum return value|&lt;br /&gt;
}}&lt;br /&gt;
Returns {{pspan|a}}, but no less than {{pspan|min}} and no more than {{pspan|max}}.  Another function common to many languages.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|set_avg}}{{Function|&lt;br /&gt;
name=set_avg|&lt;br /&gt;
return_type=void|&lt;br /&gt;
parameter1={{Param|float|to_add}}|&lt;br /&gt;
parameter2={{Param|string|which_prop}}|&lt;br /&gt;
p1desc={{pspan|to_add}} is the data point to add|&lt;br /&gt;
p2desc={{pspan|which_prop}} is the property to add data to|&lt;br /&gt;
}}&lt;br /&gt;
Useful for adding spading to scripts. Adds one more statistic to an average value being stored in a property. For example, calling this function three times with the values 2, 4, and 6 for {{pspan|to_add}} would result in the property {{pspan|which_prop}} containing &amp;quot;4.0:3&amp;quot;, with 4.0 being the average of the three numbers added and 3 being the amount of numbers averaged.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|get_avg}}{{Function|&lt;br /&gt;
name=get_avg|&lt;br /&gt;
return_type=float|&lt;br /&gt;
parameter1={{Param|string|which_prop}}|&lt;br /&gt;
p1desc={{pspan|which_prop}} is the property to access|&lt;br /&gt;
}}&lt;br /&gt;
Returns an average value set by set_avg().&lt;br /&gt;
&lt;br /&gt;
{{HideLink|eval}}{{Function|&lt;br /&gt;
name=eval|&lt;br /&gt;
return_type=float|&lt;br /&gt;
parameter1={{Param|string|expression}}|&lt;br /&gt;
parameter2={{Param|float [string]|values|ag=t}}|&lt;br /&gt;
p1desc={{pspan|expression}} is the base expression|&lt;br /&gt;
p2desc={{pspan|values}} is a map of values to replace|&lt;br /&gt;
}}&lt;br /&gt;
By Jason Harper. Evaluates {{pspan|expression}} as a math expression, and allows you to substitute {{pspan|values}} for variables, as described in much greater detail here. Brief documentation is also included in ZLib. (NB: This section needs more infoz.)&lt;br /&gt;
&lt;br /&gt;
== Script Functions ==&lt;br /&gt;
&lt;br /&gt;
{{HideLink|check_version}}{{Function|&lt;br /&gt;
name=check_version|&lt;br /&gt;
return_type=string|&lt;br /&gt;
parameter1={{Param|string|soft}}|&lt;br /&gt;
parameter2={{Param|string|proj}}|&lt;br /&gt;
parameter3={{Param|int|thread}}|&lt;br /&gt;
p1desc={{pspan|soft}} is the script name, which must match the page source of the {{pspan|thread}} being parsed|&lt;br /&gt;
p2desc={{pspan|proj}} is the name of the SVN project name to check.|&lt;br /&gt;
p3desc={{pspan|thread}} is the script&#039;s thread number on kolmafia.us|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=check_version|&lt;br /&gt;
return_type=string|&lt;br /&gt;
parameter1={{Param|string|soft}}|&lt;br /&gt;
parameter2={{Param|string|prop}}|&lt;br /&gt;
parameter3={{Param|string|this_version}}|&lt;br /&gt;
parameter4={{Param|int|thread}}|&lt;br /&gt;
p1desc={{pspan|soft}} is as above.|&lt;br /&gt;
p2desc={{pspan|prop}} is used as part of the name of the property saved to user preferences.|&lt;br /&gt;
p3desc={{pspan|this_version}} is the version of the script currently running|&lt;br /&gt;
p4desc={{pspan|thread}} is as above.|&lt;br /&gt;
}}&lt;br /&gt;
Server-friendly once-daily version-checking.  There are two versions of this function, one for SVN and one for forum threads.  The three-parameter SVN version uses mafia&#039;s SVN client to check if a previously checked-out SVN project is current and if not, it updates it automatically, meaning the script will be current the next time it runs.  In the event that a user has checked the option for mafia to automatically update all projects on login, it detects that the script has updated and prints an informative message with a link to the script&#039;s kolmafia.us thread -- and if the project is hosted on SourceForge, an additional link to the changelog there.&lt;br /&gt;
&lt;br /&gt;
For the four-parameter forum thread version, it visits the specified {{pspan|thread}} on the kolmafia.us forums to find the current version of your script. The thread must include &amp;lt;nowiki&amp;gt;&amp;quot;&amp;lt;b&amp;gt;&amp;lt;/nowiki&amp;gt;{{pspan|soft}} {{pspan|version}}&amp;lt;nowiki&amp;gt;&amp;lt;/b&amp;gt;&amp;quot;&amp;lt;/nowiki&amp;gt; for the version info to be successfully parsed. Optionally, you may include &amp;lt;nowiki&amp;gt;&amp;quot;[requires revision XXXX]&amp;quot;&amp;lt;/nowiki&amp;gt; somewhere in your post if you want to indicate a required minimum revision of mafia. If a new version is available, it alerts the user in large text and provides an update link.&lt;br /&gt;
&lt;br /&gt;
The return value of both versions is a blank string unless an update is/was found, in which case it is a &amp;lt;nowiki&amp;gt;&amp;lt;div class=&#039;versioninfo&#039;&amp;gt;&amp;lt;/nowiki&amp;gt; containing the update message. This allows this function to work equally well for relay scripts. The current version/revision (and the last date checked) is stored in a data file &amp;quot;zversions.txt&amp;quot;.  Example:&lt;br /&gt;
{{CodeSample|&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
check_version(&amp;quot;Hardcore Checklist&amp;quot;,&amp;quot;checklist&amp;quot;,&amp;quot;1.2.7&amp;quot;,1045);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{HideLink|load_current_map}}{{Function|&lt;br /&gt;
name=load_current_map|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|string|map_name}}|&lt;br /&gt;
parameter2={{Param|aggregate|destination}}|&lt;br /&gt;
p1desc={{pspan|map_name}} is the name of the map, without the file extension|&lt;br /&gt;
p2desc={{pspan|destination}} is a previously-declared map to load with data|&lt;br /&gt;
}}&lt;br /&gt;
Acts as a wrapper for the built-in {{f|file_to_map}} with automatic update capability. The first time the function is called for a given map each day, it will check [http://zachbardon.com/mafiatools/autoupdate.php Zarqon&#039;s Map Manager] to see if an update for the given {{pspan|map_name}} is available, and if so will load from there. Otherwise, it merely loads it from disk. (Note: you should not include a file extension, such as &amp;quot;.txt&amp;quot; in the {{pspan|map_name}} parameter.)&lt;br /&gt;
&lt;br /&gt;
{{HideLink|setvar}}{{Function|&lt;br /&gt;
name=setvar|&lt;br /&gt;
return_type=void|&lt;br /&gt;
parameter1={{Param|string|name}}|&lt;br /&gt;
parameter2={{Param|mixed|dfault}}|&lt;br /&gt;
p1desc={{pspan|name}} is the name of the setting|&lt;br /&gt;
p1desc={{pspan|dfault}} can be any primitive or ASH type (e.g. item, effect, coinmaster, etc.), but not an array, map, or record.|&lt;br /&gt;
}}&lt;br /&gt;
This function ensures that a ZLib script setting called {{pspan|name}} exists.  If not, it creates it and sets it to {{pspan|dfault}}.  If the setting already exists, it normalizes it to the same type as {{pspan|dfault}}, but otherwise does nothing.  Note that this function is for initializing settings, not for editing existing settings.  That is done by calling ZLib in the CLI.&lt;br /&gt;
&lt;br /&gt;
==== For Users ====&lt;br /&gt;
&lt;br /&gt;
* Script settings are now all saved in one place, separate from mafia properties. I&#039;ve read more than one post wishing that script-defined settings and mafia properties would be separate. This provides a solution.&lt;br /&gt;
* Script settings are independent from scripts. This means that you will no longer need to edit scripts to adjust your settings. Further, when you download a script update, the script will still use your saved settings and you won&#039;t need to reset them!&lt;br /&gt;
* To see all of your current settings, type &amp;quot;zlib vars&amp;quot; in the CLI. You can also type &amp;quot;zlib &amp;lt;whatever&amp;gt;&amp;quot; to see a list of current settings and values containing &amp;lt;whatever&amp;gt;.  To change a setting, type &amp;quot;zlib settingname = value&amp;quot;. If you&#039;re adjusting threshold, you can use &amp;quot;up&amp;quot; or &amp;quot;down&amp;quot; as the value to adjust your threshold relatively. This is almost exactly as convenient as mafia settings (possibly more so since you don&#039;t need to open a text file to find setting names!).&lt;br /&gt;
* If for some reason you prefer to open a text file, ZLib settings are stored in a file called vars_myname.txt in your data directory.&lt;br /&gt;
* Scripts that use Zlib script settings will only create these settings when you run them for the first time.  Attempting to edit a nonexisting setting won&#039;t work, so you&#039;ll need to run a script once (then, usually, mash the ESC key before it actually does anything) before you can configure it.  Script documentation should tell you which settings to change to get your desired behavior.&lt;br /&gt;
&lt;br /&gt;
==== For Script Authors ====&lt;br /&gt;
&lt;br /&gt;
* Script settings may now be used across scripts, in exactly the same way that mafia properties are. Basically, this works almost exactly like mafia properties, except that new settings can only be created by setvar() or manually editing the file (&amp;quot;zlib nonexistentsetting = value&amp;quot; will fail).&lt;br /&gt;
* Settings are only stored if you run a script that defines/uses them. So your settings file will not contain any extraneous unused settings.&lt;br /&gt;
* Script authors can now test for a setting&#039;s existence, which means you can check to see if a user has used a given script. It&#039;s almost as good as a script_exists() function. This can allow scripts to work together with other scripts, if they exist!&lt;br /&gt;
* Scripts with overlapping or related functionality can be designed to access a single shared setting, in much the same way that my scripts have until now all shared a &amp;quot;threshold&amp;quot; mafia setting. Changing a single setting can now change the behavior of every script that accesses that setting.&lt;br /&gt;
* To change a setting after setvar() within ash use: vars[&amp;quot;propertyToChange&amp;quot;] = newValue; followed by: updatevars(); to update the map with the new setting. If you don&#039;t use updatevars(), the change will not stick.&lt;br /&gt;
&lt;br /&gt;
==== Functional Details ====&lt;br /&gt;
&lt;br /&gt;
When importing ZLib, it loads a map of your script settings from vars_myname.txt. It is a basic string[string] map called vars. To access a script setting within an ASH script, use vars[varname]. To check if a setting exists you can simply use if (vars contains varname).&lt;br /&gt;
&lt;br /&gt;
When a script calls setvar(&amp;quot;threshold&amp;quot;,4), ZLib checks to see if a variable called &amp;quot;threshold&amp;quot; already exists in vars. If so, since dfault is an integer, it ensures that the value is an integer using normalize() (saving changes if necessary), but unless normalization changed the value, nothing else happens.  If &amp;quot;threshold&amp;quot; does not exist in vars, it creates it, sets it to 4, and saves the updated map back to vars_myname.txt.&lt;br /&gt;
&lt;br /&gt;
==== Choosing Setting Names ====&lt;br /&gt;
&lt;br /&gt;
The file of script settings will contain all script settings, sorted alphabetically. Also, there is no way to detect if a setting is unused, so if you decide to change the name, the old setting will never be deleted. &#039;&#039;&#039;Please think carefully about your setting names.&#039;&#039;&#039; If you have a setting named &amp;quot;setting1&amp;quot;, a user will probably not have a clue which script that is for or what it does. True, this can be overcome with documentation, but it is far better to have settings that make sense just by looking at them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommendations:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Use a name that clearly identifies what the setting is/does.&lt;br /&gt;
&lt;br /&gt;
2. Prefix your setting names with a script identifier. For example, here are some of my One-Click Wossname script settings:&lt;br /&gt;
&lt;br /&gt;
{{CodeSample|&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
setvar(&amp;quot;ocw_warplan&amp;quot;,&amp;quot;optimal&amp;quot;);&lt;br /&gt;
setvar(&amp;quot;ocw_change_to_meat&amp;quot;,true);&lt;br /&gt;
setvar(&amp;quot;ocw_nunspeed&amp;quot;,false);&lt;br /&gt;
setvar(&amp;quot;defaultoutfit&amp;quot;,&amp;quot;current&amp;quot;);&lt;br /&gt;
setvar(&amp;quot;ocw_f_default&amp;quot;,&amp;quot;zombie&amp;quot;);&lt;br /&gt;
setvar(&amp;quot;ocw_m_default&amp;quot;,&amp;quot;&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
Those settings which are specific to OCW are prefixed with &amp;quot;ocw_&amp;quot; so as to be found together in the settings file. However, some of the settings are usable across scripts, and are not so prefixed. For example, the &amp;quot;defaultoutfit&amp;quot; will be used by nearly all of my adventuring scripts that swap outfits, so no prefix is given.&lt;br /&gt;
&lt;br /&gt;
== Adventuring Functions ==&lt;br /&gt;
&lt;br /&gt;
{{HideLink|be_good}}{{Function|&lt;br /&gt;
name=be_good|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|string|johnny}}|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=be_good|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|item|johnny}}|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=be_good|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|familiar|johnny}}|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=be_good|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|skill|johnny}}|&lt;br /&gt;
p1desc={{pspan|johnny}} is the thing you want to check|&lt;br /&gt;
}}&lt;br /&gt;
This function, originally created to check whether items were allowed in the Bees Hate You path (hence the name), has been expanded to an all-purpose check to see whether something is acceptable in your current path.  For example, in a Trendy path, or any of the newer paths that have similar restrictions, outdated items would not be_good.  Likewise, during Bees Hate You, a familiar containing a &#039;b&#039; would not be_good.  In Fistcore, anything you hold in your hands is not allowed.  In an Avatar of Boris run, your normal permed skills are not active.  And so forth.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|mall_val}}{{Function|&lt;br /&gt;
name=mall_val|&lt;br /&gt;
return_type=int|&lt;br /&gt;
parameter1={{Param|item|it}}|&lt;br /&gt;
parameter2={{Param|float|expirydays}}|&lt;br /&gt;
parameter3={{Param|boolean|combatsafe}}|&lt;br /&gt;
p1desc={{pspan|it}} is the item being valued.|&lt;br /&gt;
p2desc={{pspan|expirydays}} is optional, default 0.  It represents the age at which {{f|historical_price}} is no longer valid, after which {{f|mall_price}} is used.|&lt;br /&gt;
p3desc={{pspan|combatsafe}} is optional, default false. If true, the function will avoid calling mall_price and use only historical_price, regardless of age.|&lt;br /&gt;
}}&lt;br /&gt;
The ASH functions {{f|mall_price}}, {{f|historical_price}}, and {{f|historical_age}} are often combined to save server hits when checking for the price of multiple items.  Scripts will use the historical price if it is fairly recent, or hit the server with mall_price if it is too old.  This function wraps all of that up, and even adds a flag for getting item values during combat (when you don&#039;t have mall access).  You&#039;ll generally call this with only one of the two parameters.&lt;br /&gt;
&lt;br /&gt;
If you want to only use historical_price: mall_val(someitem, true)&lt;br /&gt;
If you want to only use mall price: mall_val(someitem,0)&lt;br /&gt;
If you want to use historical prices no more than 2 days old, otherwise use mall price: mall_val(someitem,3)&lt;br /&gt;
&lt;br /&gt;
{{HideLink|sell_val}}{{Function|&lt;br /&gt;
name=sell_val|&lt;br /&gt;
return_type=int|&lt;br /&gt;
parameter1={{Param|item|it}}|&lt;br /&gt;
parameter2={{Param|float|expirydays}}|&lt;br /&gt;
parameter3={{Param|boolean|combatsafe}}|&lt;br /&gt;
p1desc={{pspan|it}} is the item being valued.|&lt;br /&gt;
p2desc={{pspan|expirydays}} is the same as in mall_val() above.|&lt;br /&gt;
p3desc={{pspan|combatsafe}} is also as in mall_val() above.|&lt;br /&gt;
}}&lt;br /&gt;
This function is concerned with the meat you could realistically expect to get from selling the item.  It returns mall_val, unless the mall value is at minimum, meaning it&#039;s junk which probably won&#039;t sell.  In that case it returns the item&#039;s autosell value.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|have_item}}{{Function|&lt;br /&gt;
name=have_item|&lt;br /&gt;
return_type=int|&lt;br /&gt;
parameter1={{Param|string|to_lookup}}|&lt;br /&gt;
p1desc={{pspan|to_lookup}} is the item to count|&lt;br /&gt;
}}&lt;br /&gt;
A residual function, used by the following and probably in several other scripts. Returns the amount of an item you have both in your inventory and equipped. Similar but not equivalent to the ASH function {{f|available_amount}}, since this function completely ignores your closet and storage.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|braindrop}}{{Function|&lt;br /&gt;
name=braindrop|&lt;br /&gt;
return_type=item|&lt;br /&gt;
parameter1={{Param|monster|patient}}|&lt;br /&gt;
p1desc={{pspan|patient}} is the monster under inquiry|&lt;br /&gt;
}}&lt;br /&gt;
Returns the brain dropped by {{pspan|patient}} in Zombiecore.  All five types of brains are properly accounted for, as well as monsters that drop no brains.  Will always return $item[none] outside of Zombiecore.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|is_goal}}{{Function|&lt;br /&gt;
name=is_goal|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|stat|whichstat}}|&lt;br /&gt;
p1desc={{pspan|whichstat}} is the stat to check|&lt;br /&gt;
}}&lt;br /&gt;
The ASH function {{f|is_goal}} takes an item parameter and returns true if the given item is a goal.  ZLib extends that function by also including a version which accepts a stat as a parameter.  Stats can be goals when a user or script sets &amp;quot;level X&amp;quot; or &amp;quot;X muscle&amp;quot; as a goal.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|isxpartof}}{{Function|&lt;br /&gt;
name=isxpartof|&lt;br /&gt;
return_type=float|&lt;br /&gt;
parameter1={{Param|item|child}}|&lt;br /&gt;
parameter2={{Param|item|ancestor}}|&lt;br /&gt;
p1desc={{pspan|child}} is the ingredient/component you want to check.|&lt;br /&gt;
p2desc={{pspan|ancestor}} is the concoction you want to check.|&lt;br /&gt;
}}&lt;br /&gt;
In the sentence &amp;quot;child is X part of ancestor&amp;quot;, this function returns X.  It assumes the minimum amount of other ingredients necessary.  For example, isxpartof($item[white pixel], $item[digital key]) returns 0.033333335 (1/30), since 30 white pixels are needed to make a digital key.  However, isxpartof($item[red pixel], $item[digital key]) returns 0.03125 (1/32), assuming 1 each of green and blue pixels and 29 other white pixels (rather than 30 each RGB pixels -- 1/90).  This function is used by has_goal(item) but may have uses in your own script.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|has_goal}}{{Function|&lt;br /&gt;
name=has_goal|&lt;br /&gt;
return_type=float|&lt;br /&gt;
parameter1={{Param|item|check_me}}|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=has_goal|&lt;br /&gt;
return_type=float|&lt;br /&gt;
parameter1={{Param|monster|check_me}}|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=has_goal|&lt;br /&gt;
return_type=float|&lt;br /&gt;
parameter1={{Param|location|check_me}}|&lt;br /&gt;
p1desc={{pspan|check_me}} is the item, monster or locationto check|&lt;br /&gt;
}}&lt;br /&gt;
At the base of this function is the item parameter version, which returns the chance that the item {{pspan|check_me}} is or results in a goal. If the item is itself a goal, returns 1.0. Otherwise, returns what percentage of a goal the item is, which could be nonzero in two cases: 1) you could get a goal by using the item (returns the chance of success), or 2) the item is an ingredient of a goal.  For example, with a goal of black pepper, has_goal($item[black picnic basket]) would return 0.58.&lt;br /&gt;
&lt;br /&gt;
When supplied a monster as the parameter for {{pspan|check_me}}, returns the percent chance that encountering the given monster will result in a goal, taking into account +items, pickpocket availability (and +pickpocket), and Torso. For instance, with no +item and black pepper as a goal, has_goal($monster[black widow]) would return 0.087 (0.58 basket contains pepper * 0.15 basket drop rate). Also note that it will add multiple goals together, so with white pixels as a goal, a Blooper would return 2.1.&lt;br /&gt;
&lt;br /&gt;
When supplied a location as the parameter for {{pspan|check_me}}, returns the chance that adventuring at a given location will yield a goal. For our black pepper example, has_goal($location[black forest]) would return 0.0174 (0.2 black widow appearance rate * 0.087 chance that a widow has black pepper). Presently this accounts for combat frequency modifiers but not Olfaction, and it will be off for areas with noncombats that grant goals, because it assumes that all noncombats do not yield items.&lt;br /&gt;
&lt;br /&gt;
These functions also have an optional boolean parameter, usespec.  If supplied as true, these functions will use speculative values.  (See &amp;quot;whatif&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
{{HideLink|obtain}}{{Function|&lt;br /&gt;
name=obtain|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|int|qty}}|&lt;br /&gt;
parameter2={{Param|string|condition}}|&lt;br /&gt;
parameter3={{Param|location|place}}|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=obtain|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|int|qty}}|&lt;br /&gt;
parameter2={{Param|string|condition}}|&lt;br /&gt;
parameter3={{Param|location|place}}|&lt;br /&gt;
parameter4={{Param|string|filter}}|&lt;br /&gt;
p1desc={{pspan|qty}} is the quantity of the item or choice adventure desired|&lt;br /&gt;
p2desc={{pspan|condition}} is the item or choice adventure to use as a goal|&lt;br /&gt;
p3desc={{pspan|place}} is the location to adventure to obtain your goal|&lt;br /&gt;
p4desc={{pspan|filter}} is an optional combat filter used the same as in {{f|adventure}}|&lt;br /&gt;
}}&lt;br /&gt;
Attempts to get {{pspan|qty}} (minus existing) of {{pspan|condition}}, either by purchasing (if you have the KoLmafia preference set), pulling from Hangk&#039;s, or adventuring at the specified {{pspan|place}}. It also works with choice adventures.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|use_upto}}{{Function|&lt;br /&gt;
name=use_upto|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|int|qty}}|&lt;br /&gt;
parameter2={{Param|item|thing}}|&lt;br /&gt;
parameter3={{Param|boolean|purchase}}|&lt;br /&gt;
p1desc={{pspan|qty}} is the quantity to use|&lt;br /&gt;
p2desc={{pspan|thing}} is the item to use|&lt;br /&gt;
p3desc={{pspan|purchase}} is true if KoLmafia should purchase extras if you don&#039;t already have {{pspan|qty}}|&lt;br /&gt;
}}&lt;br /&gt;
Gets (if purchase is true) and uses {{pspan|qty}} of the item(s) {{pspan|thing}} if possible. Otherwise, uses as many as you have up to {{pspan|qty}}.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|resist}}{{Function|&lt;br /&gt;
name=resist|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|element|resist_it}}|&lt;br /&gt;
parameter2={{Param|boolean|really}}|&lt;br /&gt;
p1desc={{pspan|resist_it}} is the element to resist|&lt;br /&gt;
p2desc={{pspan|really}} is true to actually attemp resistance, false to check only|&lt;br /&gt;
}}&lt;br /&gt;
Returns whether you are able to resist a given element {{pspan|resist_it}}, or if {{pspan|really}} is true, attempts to actually achieve that resistance (casting buffs, changing gear, or equipping your Exotic Parrot) and returns its success.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|my_defstat}}{{Function|&lt;br /&gt;
name=my_defstat|&lt;br /&gt;
return_type=int|&lt;br /&gt;
parameter1={{Param|boolean|usespec}}|&lt;br /&gt;
p1desc={{pspan|usespec}} is optional.  If true, uses speculative values rather than real values.|&lt;br /&gt;
}}&lt;br /&gt;
Returns the value of your buffed defense stat, taking into account Hero of the Half-Shell.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|get_safemox}}{{Function|&lt;br /&gt;
name=get_safemox|&lt;br /&gt;
return_type=int|&lt;br /&gt;
parameter1={{Param|location|where}}|&lt;br /&gt;
p1desc={{pspan|where}} is the location to check for safe moxie|&lt;br /&gt;
}}&lt;br /&gt;
Using mafia&#039;s location/monster data, returns the safe moxie of a given zone {{pspan|where}}.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|auto_mcd}}{{Function|&lt;br /&gt;
name=auto_mcd|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|int|check_me}}|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=auto_mcd|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|monster|check_me}}|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=auto_mcd|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|location|check_me}}|&lt;br /&gt;
p1desc={{pspan|check_me}} is the int, monster or location to check|&lt;br /&gt;
}}&lt;br /&gt;
If your ZLib setting &amp;quot;automcd&amp;quot; is true, automatically adjusts your mind-control device for maximum stat gains based on safe moxie and your ZLib &amp;quot;threshold&amp;quot; setting. Does not adjust for MCD-sensitive areas (certain bosses, Slime Tube), or areas with no known combats. Returns true unless KoLmafia is unable to do so, even though the script thinks it should be capable (still returns true if you can&#039;t currently access an mcd-changing device).&lt;br /&gt;
&lt;br /&gt;
{{HideLink|best_fam}}{{Function|&lt;br /&gt;
name=best_fam|&lt;br /&gt;
return_type=familiar|&lt;br /&gt;
parameter1={{Param|string|type}}|&lt;br /&gt;
p1desc={{pspan|type}} is the type of familiar ability to check for|&lt;br /&gt;
}}&lt;br /&gt;
Returns your heaviest familiar of a given type (currently possible: items, meat, produce, stat, delevel). If your ZLib &amp;quot;is_100_run&amp;quot; setting is anything other than $familiar[none], returns that familiar (so you don&#039;t have to make the check in your script).&lt;br /&gt;
&lt;br /&gt;
== Kmail Functions ==&lt;br /&gt;
&lt;br /&gt;
{{HideLink|load_kmail}}{{Function|&lt;br /&gt;
name=load_kmail|&lt;br /&gt;
return_type=void|&lt;br /&gt;
parameter1={{Param|string|calledby}}|&lt;br /&gt;
p1desc={{pspan|calledby}} is optional and allows you to specify the name of the script calling this function, which will be submitted when the script visits api.php. The default value is &amp;quot;ZLib-powered-script&amp;quot;.|&lt;br /&gt;
}}&lt;br /&gt;
This function parses your kmail inbox in a single server hit and loads it into the global variable &amp;quot;mail&amp;quot;, which is of type kmessage[int].  A kmessage is a record type, with the following fields:&lt;br /&gt;
{{CodeSample|&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
record kmessage {&lt;br /&gt;
   int id;                   // message id&lt;br /&gt;
   string type;              // possible values observed thus far: normal, giftshop&lt;br /&gt;
   int fromid;               // sender&#039;s playerid (0 for npc&#039;s)&lt;br /&gt;
   int azunixtime;           // KoL server&#039;s unix timestamp&lt;br /&gt;
   string message;           // message (not including items/meat)&lt;br /&gt;
   int[item] items;          // items included in the message&lt;br /&gt;
   int meat;                 // meat included in the message&lt;br /&gt;
   string fromname;          // sender&#039;s playername&lt;br /&gt;
   string localtime;         // your local time according to your KoL account, human-readable string&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Thus, after calling this function your inbox is very easy to work with.  You can foreach over each message if you like, accessing the fields for details.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|process_kmail}}{{Function|&lt;br /&gt;
name=process_kmail|&lt;br /&gt;
return_type=void|&lt;br /&gt;
parameter1={{Param|string|functionname}}|&lt;br /&gt;
p1desc={{pspan|functionname}} specifies the name of a function designed to parse kmail.|&lt;br /&gt;
}}&lt;br /&gt;
If you liked load_kmail(), you&#039;ll like this even better.  First off, this function loads your kmail into the mail variable if you haven&#039;t already done so.  Next, it calls a function named {{pspan|functionname}} on each kmail message.  The function must be at top level, accept a single kmessage parameter, and return a boolean.  For each kmail in your inbox, if the called function returns true, that message will be deleted once all messages have been processed.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a simple example which will delete all messages from your lovely Pen Pal:&lt;br /&gt;
{{CodeSample|&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
boolean no_penpal(kmessage m) {&lt;br /&gt;
   if (m.fromname == &amp;quot;Your Pen Pal&amp;quot;) return true;&lt;br /&gt;
   return false;&lt;br /&gt;
}&lt;br /&gt;
process_kmail(&amp;quot;no_penpal&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{HideLink|send_gift}}{{Function|&lt;br /&gt;
name=send_gift|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|string|recipient}}|&lt;br /&gt;
parameter2={{Param|string|message}}|&lt;br /&gt;
parameter3={{Param|int|meat}}|&lt;br /&gt;
parameter4={{Param|int [item]|goodies|ag=t}}|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=send_gift|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|string|recipient}}|&lt;br /&gt;
parameter2={{Param|string|message}}|&lt;br /&gt;
parameter3={{Param|int|meat}}|&lt;br /&gt;
parameter4={{Param|int [item]|goodies|ag=t}}|&lt;br /&gt;
parameter5={{Param|string|inside_note}}|&lt;br /&gt;
p1desc={{pspan|recipient}} is the player to send to|&lt;br /&gt;
p2desc={{pspan|message}} is the outside message|&lt;br /&gt;
p3desc={{pspan|meat}} is the amount of meat to send|&lt;br /&gt;
p4desc={{pspan|goodies}} is a map of items &amp;amp; amounts to send|&lt;br /&gt;
p5desc={{pspan|inside_note}} is an optional inside message|&lt;br /&gt;
}}&lt;br /&gt;
Sends a gift to a player. Able to split large amounts of items. Returns true if the package is sent and false if not. See kmail() below.&lt;br /&gt;
&lt;br /&gt;
{{HideLink|kmail}}{{Function|&lt;br /&gt;
name=kmail|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|string|recipient}}|&lt;br /&gt;
parameter2={{Param|string|message}}|&lt;br /&gt;
parameter3={{Param|int|meat}}|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=kmail|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|string|recipient}}|&lt;br /&gt;
parameter2={{Param|string|message}}|&lt;br /&gt;
parameter3={{Param|int|meat}}|&lt;br /&gt;
parameter4={{Param|int [item]|goodies|ag=t}}|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=kmail|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|string|recipient}}|&lt;br /&gt;
parameter2={{Param|string|message}}|&lt;br /&gt;
parameter3={{Param|int|meat}}|&lt;br /&gt;
parameter4={{Param|int [item]|goodies|ag=t}}|&lt;br /&gt;
parameter5={{Param|string|inside_note}}|&lt;br /&gt;
p1desc={{pspan|recipient}} is the player to send to|&lt;br /&gt;
p2desc={{pspan|message}} is the outside message|&lt;br /&gt;
p3desc={{pspan|meat}} is the amount of meat to send|&lt;br /&gt;
p4desc={{pspan|goodies}} is an optional map of items &amp;amp; amounts to send|&lt;br /&gt;
p5desc={{pspan|inside_note}} is an optional inside message if sent as a gift|&lt;br /&gt;
}}&lt;br /&gt;
{{Function|&lt;br /&gt;
name=kmail|&lt;br /&gt;
return_type=boolean|&lt;br /&gt;
parameter1={{Param|kmessage|km}}|&lt;br /&gt;
p1desc={{pspan|km}} allows you to send a kmail supplied in kmessage format.  The only thing unusual here is that the &amp;quot;fromname&amp;quot; field will be used as the recipient.  The other fields will be used appropriately to call the above kmail function.|&lt;br /&gt;
}}&lt;br /&gt;
Sends a kmail to player {{pspan|recipient}}, returning true if the kmail is successfully sent. Handles splitting the {{pspan|message}} into multiple messages if the number of item types in {{pspan|goodies}} is too large. Returns the result of send_gift() if the intended {{pspan|recipient}} is unable to receive the {{pspan|message}} due to being in HC or somesuch. Note that you can also specify the {{pspan|inside_note}} to be used inside gifts in that case. Use &amp;quot;\n&amp;quot; to specify a new line in the {{pspan|message}}.&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&amp;lt;p&amp;gt;See the thread for ZLib on the mafia forum [http://kolmafia.us/showthread.php?2072 here].&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]][[Category:ASH Function Libraries]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Turns_played&amp;diff=6016</id>
		<title>Turns played</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Turns_played&amp;diff=6016"/>
		<updated>2015-11-22T07:14:44Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Fixed some types in the code sample&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|turns_played}}{{&lt;br /&gt;
#vardefine:return_type|int}}{{&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;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=This function returns the total number of adventures used thus far by the logged-in character during the current ascension.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This exactly duplicates the function [[my_turncount|my_turncount()]]. Indications are that it was added as part at attempt to support semirare counters, but nothing ever came of it. Oops. &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://kolmafia.us/showthread.php?4061 Discussion here]&amp;lt;/span&amp;gt;.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=The following example is a function that saves relevant ascension info into a text file called &amp;quot;Ascension History&amp;quot; located in Data. It should be called after, and only after, the Naughty Sorc was defeated.|&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
void ascension_tracker() {&lt;br /&gt;
   if (get_property(&amp;quot;questL13Final&amp;quot;) == &amp;quot;finished&amp;quot;) {&lt;br /&gt;
      string[int] info;&lt;br /&gt;
      string class2;&lt;br /&gt;
      if (my_class() == $class[Accordion Thief])&lt;br /&gt;
         class2 = &amp;quot;an Accordion Thief&amp;quot;;&lt;br /&gt;
      else&lt;br /&gt;
         class2 = &amp;quot;a &amp;quot;+my_class()+&amp;quot;&amp;quot;;&lt;br /&gt;
      file_to_map(&amp;quot;Ascension History.txt&amp;quot;, info);   &lt;br /&gt;
      string ascension_tracker = &amp;quot;&amp;quot;+my_name()+&amp;quot; completed a &amp;quot;+my_turncount()+&amp;quot; adventure ascension in &amp;quot;+my_daycount()+&amp;quot; days as &amp;quot;+class2+&amp;quot; with path &amp;quot;+my_path()+&amp;quot; on &amp;quot;+now_to_string(&amp;quot;MM/dd/yyyy&amp;quot;)+&amp;quot;.&amp;quot;;&lt;br /&gt;
      print(ascension_trackr, &amp;quot;green&amp;quot;);&lt;br /&gt;
      info [count(info)] = ascension_tracker;&lt;br /&gt;
      map_to_file(info, &amp;quot;Ascension History.txt&amp;quot;, false);&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
//Insert Code to kill Naughty Sorc, or kill her by hand&lt;br /&gt;
//Call ascension_tracker&lt;br /&gt;
ascension_tracker();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
see_also={{SeeAlso|my_turncount}}|&lt;br /&gt;
special=When not logged in, this function returns 0.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Your Character]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=Use&amp;diff=4857</id>
		<title>Use</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=Use&amp;diff=4857"/>
		<updated>2015-11-17T07:26:45Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Added Chew reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|use}}{{&lt;br /&gt;
#vardefine:return_type|boolean}}{{&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|int|qty}}|&lt;br /&gt;
parameter2={{Param|item|it}}|&lt;br /&gt;
p1desc={{pspan|qty}} is the quantity to use|&lt;br /&gt;
p2desc={{pspan|it}} is the item to use|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=Attempts to use {{pspan|qty}} amount of item {{pspan|it}}. Returns true if the item is used or false if it fails to do so. Note that food must be &amp;quot;used&amp;quot; via eat() &amp;amp; drinks via drink() &amp;amp; spleen via chew(); attempting to use this function will result in an error message and a return value of false. Using this function for equipment will function the same as equip() would without the optional slot parameter. If this function is called with a non-usable item, a message saying so will print to the CLI and the function will return true.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=The following example uses the festive warbear bank if you have one.|&lt;br /&gt;
code= &lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
if (item_amount($item[festive warbear bank]) &amp;gt; 0) &lt;br /&gt;
   use(1, $item[festive warbear bank]);&lt;br /&gt;
else print(&amp;quot;You do not have a festive warbear bank.&amp;quot;, &amp;quot;red&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
see_also={{SeeAlso|drink|eat|equip|chew}}|&lt;br /&gt;
cli_equiv=The CLI command &amp;quot;use&amp;quot; functions similarly.|&lt;br /&gt;
more_info=If {{pspan|qty}} is 0 or negative, no item will be used and the function will return true.|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Item Management]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_int&amp;diff=5762</id>
		<title>To int</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_int&amp;diff=5762"/>
		<updated>2015-01-26T15:52:00Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Still only 5/9 functions shown&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_int}}{{&lt;br /&gt;
#vardefine:return_type|int}}{{&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|boolean|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|float|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function3={{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|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function4={{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|item|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function5={{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|class|convert}}|&lt;br /&gt;
p1desc={{Pspan|convert}} is the boolean, int, string, item, class, effect, familiar, skill, or thrall to convert|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function6={{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|familiar|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function7={{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|effect|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function8={{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|skill|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function9={{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|thrall|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=This function looks for the best integer match to the specified input, which varies by datatype.&lt;br /&gt;
* boolean values return 0 for false and 1 for true&lt;br /&gt;
* float values return the same as they would with [[truncate|truncate()]]&lt;br /&gt;
* string values are parsed in several ways:&lt;br /&gt;
** fully numeric strings, optionally with + or - as the first character, return as they would for a float (commas are also ignored)&lt;br /&gt;
** all other strings return 0, with a message saying that the string is not a valid integer&lt;br /&gt;
* special datatypes (class, skill, thrall etc.) return their ID number as referenced in KoL.&lt;br /&gt;
Note: All the possible functions are not listed yet.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_int operations.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
boolean first, second;&lt;br /&gt;
float third;&lt;br /&gt;
string fourth;&lt;br /&gt;
item fifth;&lt;br /&gt;
class sixth;&lt;br /&gt;
effect seventh;&lt;br /&gt;
familiar eighth;&lt;br /&gt;
skill ninth;&lt;br /&gt;
thrall tenth;&lt;br /&gt;
&lt;br /&gt;
first = true;&lt;br /&gt;
second = false;&lt;br /&gt;
third = 3.141592;&lt;br /&gt;
fourth = &amp;quot;933,029&amp;quot;;&lt;br /&gt;
fifth = $item[mae west];&lt;br /&gt;
sixth = $class[disco bandit];&lt;br /&gt;
seventh = $effect[smooth movements];&lt;br /&gt;
eighth = $familiar[hobo monkey];&lt;br /&gt;
ninth = $skill[smooth movement];&lt;br /&gt;
tenth = $thrall[Penne Dreadful];&lt;br /&gt;
&lt;br /&gt;
print(first+&amp;quot; gives &amp;quot;+to_int(first)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(second+&amp;quot; gives &amp;quot;+to_int(second)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(third+&amp;quot; gives &amp;quot;+to_int(third)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(fourth+&amp;quot; gives &amp;quot;+to_int(fourth)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(fifth+&amp;quot; gives &amp;quot;+to_int(fifth)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(sixth+&amp;quot; gives &amp;quot;+to_int(sixth)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(seventh+&amp;quot; gives &amp;quot;+to_int(seventh)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(eighth+&amp;quot; gives &amp;quot;+to_int(eighth)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(ninth+&amp;quot; gives &amp;quot;+to_int(ninth)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(tenth+&amp;quot; gives &amp;quot;+to_int(tenth)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=&lt;br /&gt;
It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
true gives 1.&lt;br /&gt;
false gives 0.&lt;br /&gt;
3.141592 gives 3.&lt;br /&gt;
933,029 gives 933029.&lt;br /&gt;
Mae West gives 1584.&lt;br /&gt;
Disco Bandit gives 5.&lt;br /&gt;
Smooth Movements gives 165.&lt;br /&gt;
Hobo Monkey gives 89.&lt;br /&gt;
Smooth Movement gives 5017.&lt;br /&gt;
Penne Dreadful gives 5.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_int&amp;diff=5761</id>
		<title>To int</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_int&amp;diff=5761"/>
		<updated>2015-01-26T15:45:25Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Still don&amp;#039;t know how to get the other functions to show up, currently only does 5 of 9&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_int}}{{&lt;br /&gt;
#vardefine:return_type|int}}{{&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|boolean|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|float|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function3={{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|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function4={{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|item|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function5={{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|class|convert}}|&lt;br /&gt;
p1desc={{Pspan|convert}} is the boolean, int, string, item, class, effect, familiar, skill, or thrall to convert|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function6={{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|familiar|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function7={{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|effect|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function8={{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|skill|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function9={{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|thrall|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=This function looks for the best integer match to the specified input, which varies by datatype.&lt;br /&gt;
* boolean values return 0 for false and 1 for true&lt;br /&gt;
* float values return the same as they would with [[truncate|truncate()]]&lt;br /&gt;
* string values are parsed in several ways:&lt;br /&gt;
** fully numeric strings, optionally with + or - as the first character, return as they would for a float (commas are also ignored)&lt;br /&gt;
** all other strings return 0, with a message saying that the string is not a valid integer&lt;br /&gt;
* special datatypes (class, skill, thrall etc.) return their ID number as referenced in KoL.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_int operations.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
boolean first, second;&lt;br /&gt;
float third;&lt;br /&gt;
string fourth;&lt;br /&gt;
item fifth;&lt;br /&gt;
class sixth;&lt;br /&gt;
effect seventh;&lt;br /&gt;
familiar eighth;&lt;br /&gt;
skill ninth;&lt;br /&gt;
thrall tenth;&lt;br /&gt;
&lt;br /&gt;
first = true;&lt;br /&gt;
second = false;&lt;br /&gt;
third = 3.141592;&lt;br /&gt;
fourth = &amp;quot;933,029&amp;quot;;&lt;br /&gt;
fifth = $item[mae west];&lt;br /&gt;
sixth = $class[disco bandit];&lt;br /&gt;
seventh = $effect[smooth movements];&lt;br /&gt;
eighth = $familiar[hobo monkey];&lt;br /&gt;
ninth = $skill[smooth movement];&lt;br /&gt;
tenth = $thrall[Penne Dreadful];&lt;br /&gt;
&lt;br /&gt;
print(first+&amp;quot; gives &amp;quot;+to_int(first)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(second+&amp;quot; gives &amp;quot;+to_int(second)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(third+&amp;quot; gives &amp;quot;+to_int(third)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(fourth+&amp;quot; gives &amp;quot;+to_int(fourth)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(fifth+&amp;quot; gives &amp;quot;+to_int(fifth)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(sixth+&amp;quot; gives &amp;quot;+to_int(sixth)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(seventh+&amp;quot; gives &amp;quot;+to_int(seventh)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(eighth+&amp;quot; gives &amp;quot;+to_int(eighth)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(ninth+&amp;quot; gives &amp;quot;+to_int(ninth)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(tenth+&amp;quot; gives &amp;quot;+to_int(tenth)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=&lt;br /&gt;
It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
true gives 1.&lt;br /&gt;
false gives 0.&lt;br /&gt;
3.141592 gives 3.&lt;br /&gt;
933,029 gives 933029.&lt;br /&gt;
Mae West gives 1584.&lt;br /&gt;
Disco Bandit gives 5.&lt;br /&gt;
Smooth Movements gives 165.&lt;br /&gt;
Hobo Monkey gives 89.&lt;br /&gt;
Smooth Movement gives 5017.&lt;br /&gt;
Penne Dreadful gives 5.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_location&amp;diff=5744</id>
		<title>To location</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_location&amp;diff=5744"/>
		<updated>2015-01-26T15:44:40Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_location}}{{&lt;br /&gt;
#vardefine:return_type|location}}{{&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|int|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|convert}}|&lt;br /&gt;
p1desc={{Pspan|convert}} is the int or string to convert|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=Returns the location that matches {{pspan|name}} or {{pspan|id}} as specified.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_location operations.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
int first;&lt;br /&gt;
string second, third;&lt;br /&gt;
&lt;br /&gt;
first = 32;&lt;br /&gt;
second = &amp;quot;top floor&amp;quot;;&lt;br /&gt;
third = &amp;quot;poop deck&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print(first+&amp;quot; gives &amp;quot;+to_location(first)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(second+&amp;quot; gives &amp;quot;+to_location(second)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(third+&amp;quot; gives &amp;quot;+to_location(third)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=&lt;br /&gt;
It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
32 gives The Batrat and Ratbat Burrow.&lt;br /&gt;
top floor gives The Castle in the Clouds in the Sky (Top Floor).&lt;br /&gt;
poop deck gives The Poop Deck.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
special=While direct casting via $location[ ] is case-insensitive and able to catch partial matches, this function has the added benefit of passing variables as a string parameter.|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_monster&amp;diff=5736</id>
		<title>To monster</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_monster&amp;diff=5736"/>
		<updated>2015-01-26T15:44:27Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_monster}}{{&lt;br /&gt;
#vardefine:return_type|monster}}{{&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|name}}|&lt;br /&gt;
p1desc={{Pspan|name}} is the monster name to convert|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=Returns the specified monster {{pspan|name}} as a monster.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_monster operations.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
string first, second, third;&lt;br /&gt;
&lt;br /&gt;
first = &amp;quot;goth giant&amp;quot;;&lt;br /&gt;
second = &amp;quot;beefy bat&amp;quot;;&lt;br /&gt;
third = &amp;quot;flock of sta&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print(first+&amp;quot; gives &amp;quot;+to_monster(first)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(second+&amp;quot; gives &amp;quot;+to_monster(second)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(third+&amp;quot; gives &amp;quot;+to_monster(third)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=&lt;br /&gt;
It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
goth giant gives Goth Giant.&lt;br /&gt;
beefy bat gives beefy bodyguard bat.&lt;br /&gt;
flock of sta gives Flock of Stab-Bats.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
special=Since direct casting with $monster[ ] is already case-insensitive and accepts partial matches, this function is only useful for converting a string variable to a monster.|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_skill&amp;diff=3271</id>
		<title>To skill</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_skill&amp;diff=3271"/>
		<updated>2015-01-26T15:43:59Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_skill}}{{&lt;br /&gt;
#vardefine:return_type|skill}}{{&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|int|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function3={{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|effect|convert}}|&lt;br /&gt;
p1desc={{Pspan|convert}} is the int, string or effect to convert|&lt;br /&gt;
}}|&lt;br /&gt;
function_description=When supplied an int or string, returns the skill that corresponds to the specified parameter {{pspan|convert}}. When supplied an effect, this returns the skill that, when cast on a player, gives them the effect {{pspan|convert}}.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_skill operations.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
int first;&lt;br /&gt;
string  second;&lt;br /&gt;
effect third;&lt;br /&gt;
&lt;br /&gt;
first = 53;&lt;br /&gt;
second = &amp;quot;disco eye&amp;quot;;&lt;br /&gt;
third = $effect[she-who-was];&lt;br /&gt;
&lt;br /&gt;
print(first+&amp;quot; gives &amp;quot;+to_skill(first)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(second+&amp;quot; gives &amp;quot;+to_skill(second)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(third+&amp;quot; gives &amp;quot;+to_skill(third)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=&lt;br /&gt;
It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
53 gives Summon Crimbo Candy.&lt;br /&gt;
disco eye gives Disco Eye-Poke.&lt;br /&gt;
Avatar of She-Who-Was gives Turtle Power.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
special=If {{pspan|convert}} cannot be given by use of a skill and is supplied as such, or no match is found for a supplied string or int type, this function returns $skill[ none ].|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_stat&amp;diff=6383</id>
		<title>To stat</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_stat&amp;diff=6383"/>
		<updated>2015-01-26T15:43:44Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_stat}}{{&lt;br /&gt;
#vardefine:return_type|stat}}{{&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|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=When supplied a string, returns the stat that corresponds to the specified parameter {{pspan|convert}}.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_stat operations.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
string first, second, third;&lt;br /&gt;
&lt;br /&gt;
first = &amp;quot;mox&amp;quot;;&lt;br /&gt;
second = &amp;quot;moxie&amp;quot;;&lt;br /&gt;
third = &amp;quot;MuSclE&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print(first+&amp;quot; gives &amp;quot;+to_stat(first)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(second+&amp;quot; gives &amp;quot;+to_stat(second)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(third+&amp;quot; gives &amp;quot;+to_stat(third)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=&lt;br /&gt;
It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mox gives none.&lt;br /&gt;
moxie gives Moxie.&lt;br /&gt;
MuSclE gives Muscle.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
see_also={{SeeAlso|to_item|to_skill|to_monster}}|&lt;br /&gt;
&lt;br /&gt;
special=If no match is found for {{pspan|convert}}, this function returns $stat[ none ].|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_thrall&amp;diff=8424</id>
		<title>To thrall</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_thrall&amp;diff=8424"/>
		<updated>2015-01-26T15:43:30Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_thrall}}{{&lt;br /&gt;
#vardefine:return_type|thrall}}{{&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|int|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
function_description=When supplied an int or string, returns the thrall that corresponds to the specified parameter {{pspan|convert}}. Matching for the string is fuzzy.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_thrall operations.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
int first;&lt;br /&gt;
string second, third;&lt;br /&gt;
&lt;br /&gt;
first = 3;&lt;br /&gt;
second = &amp;quot;dread&amp;quot;;&lt;br /&gt;
third = &amp;quot;ver&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print(first+&amp;quot; gives &amp;quot;+to_thrall(first)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(second+&amp;quot; gives &amp;quot;+to_thrall(second)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(third+&amp;quot; gives &amp;quot;+to_thrall(third)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=&lt;br /&gt;
It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
3 gives Angel Hair Wisp.&lt;br /&gt;
dread gives Penne Dreadful.&lt;br /&gt;
ver gives Vermincelli.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
special=If no match is found for a supplied string or int type, this function returns $thrall[ none ].|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_url&amp;diff=5200</id>
		<title>To url</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_url&amp;diff=5200"/>
		<updated>2015-01-26T15:42:33Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_url}}{{&lt;br /&gt;
#vardefine:return_type|string}}{{&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|location|place}}|&lt;br /&gt;
p1desc={{Pspan|place}} is an in-game location to parse|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=Returns the short url (normally of the form &amp;quot;adventure.php?snarfblat=&amp;quot;) used to visit the location {{pspan|place}}.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_url operations.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
location first;&lt;br /&gt;
first = $location[The Poop Deck];&lt;br /&gt;
print(first+&amp;quot; gives &amp;quot;+to_url(first)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=&lt;br /&gt;
It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The Poop Deck gives adventure.php?snarfblat=159.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
see_also={{SeeAlso|visit_url}}|&lt;br /&gt;
special=Trying to use $location[none] will generate an &amp;quot;Unexpected error.&amp;quot;|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:String Handling Routines]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_phylum&amp;diff=7853</id>
		<title>To phylum</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_phylum&amp;diff=7853"/>
		<updated>2015-01-26T15:18:21Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Updated&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_phylum}}{{&lt;br /&gt;
#vardefine:return_type|phylum}}{{&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|name}}|&lt;br /&gt;
p1desc={{Pspan|name}} is the phylum name to convert|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=Converts the specified string {{pspan|name}} to a phylum. Does not account for case sensitivity and partial matches.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_phylum operations.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
string first, second, third;&lt;br /&gt;
&lt;br /&gt;
first = &amp;quot;FiSh&amp;quot;;&lt;br /&gt;
second = &amp;quot;human&amp;quot;;&lt;br /&gt;
third = &amp;quot;humanoid&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print(first+&amp;quot; gives &amp;quot;+to_phylum(first)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(second+&amp;quot; gives &amp;quot;+to_phylum(second)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(third+&amp;quot; gives &amp;quot;+to_phylum(third)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=&lt;br /&gt;
It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FiSh gives none.&lt;br /&gt;
human gives none.&lt;br /&gt;
humanoid gives humanoid.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_float&amp;diff=5767</id>
		<title>To float</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_float&amp;diff=5767"/>
		<updated>2015-01-26T14:46:14Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_float}}{{&lt;br /&gt;
#vardefine:return_type|float}}{{&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|boolean|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|int|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function3={{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|convert}}|&lt;br /&gt;
p1desc={{Pspan|convert}} is the boolean, int, or string to convert|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=This function looks for the best float match to the specified input, which varies by datatype. For int types, this function merely tacks &amp;quot;.0&amp;quot; to the end. For booleans, a transparent conversion as per [[to_int|to_int()]] is performed first, and then converted to a float. All other data types do not work.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_float operations.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
int first = 25;&lt;br /&gt;
print(&amp;quot;Int &amp;quot;+first+&amp;quot; gives &amp;quot;+to_float(first), &amp;quot;green&amp;quot;);&lt;br /&gt;
foreach it in $booleans[]&lt;br /&gt;
   print(&amp;quot;Boolean &amp;quot;+it+&amp;quot; gives &amp;quot;+to_float(it), &amp;quot;blue&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=&lt;br /&gt;
It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Int 25 gives 25.0&lt;br /&gt;
Boolean true gives 1.0&lt;br /&gt;
Boolean false gives 0.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_familiar&amp;diff=5770</id>
		<title>To familiar</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_familiar&amp;diff=5770"/>
		<updated>2015-01-26T14:45:32Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_familiar}}{{&lt;br /&gt;
#vardefine:return_type|familiar}}{{&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|int|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|convert}}|&lt;br /&gt;
p1desc={{pspan|convert}} is an ID # or familiar name to convert|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=Returns the familiar associated with either the KoL in-game ID # or name matching {{pspan|convert}}.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_familiar operations.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
int hobomonkey = 89;&lt;br /&gt;
foreach it in $strings[baby gravy fairy, LaMa lAmA, spirit]&lt;br /&gt;
   print(&amp;quot;String -&amp;quot;+it+&amp;quot;- gives familiar &amp;quot;+to_familiar(it), &amp;quot;blue&amp;quot;); &lt;br /&gt;
print(&amp;quot;Int &amp;quot;+hobomonkey+&amp;quot; gives familiar &amp;quot;+to_familiar(hobomonkey), &amp;quot;green&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo= For more information of familiar numbers see [http://kol.coldfront.net/thekolwiki/index.php/Familiars_by_number Familiars by number].&lt;br /&gt;
&amp;lt;br&amp;gt;It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
String -baby gravy fairy- gives familiar Baby Gravy Fairy&lt;br /&gt;
String -LaMa lAmA- gives familiar Llama Lama&lt;br /&gt;
String -spirit- gives familiar Spirit Hobo&lt;br /&gt;
Int 89 gives familiar Hobo Monkey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
special=If no match is found, this function returns $familiar[ none ].|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_element&amp;diff=6364</id>
		<title>To element</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_element&amp;diff=6364"/>
		<updated>2015-01-26T14:44:41Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_element}}{{&lt;br /&gt;
#vardefine:return_type|element}}{{&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|name}}|&lt;br /&gt;
p1desc={{Pspan|name}} is the element name to convert|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=Returns the specified element {{pspan|name}} as an element.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_element operations.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
foreach it in $strings[hot, colD, slime, SpookY, stench]&lt;br /&gt;
   print(&amp;quot;The string -&amp;quot;+it+&amp;quot;- gives element: &amp;quot;+to_element(it), &amp;quot;blue&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=&lt;br /&gt;
It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The string -hot- gives element: hot&lt;br /&gt;
The string -colD- gives element: none&lt;br /&gt;
The string -slime- gives element: slime&lt;br /&gt;
The string -SpookY- gives element: none&lt;br /&gt;
The string -stench- gives element: stench&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
special=Note that this function is case-sensitive, as with direct casting. Anything besides the following list will return $element[ none ], including strings with extra or missing characters: cold, hot, sleaze, spooky, stench, slime.|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_effect&amp;diff=5775</id>
		<title>To effect</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_effect&amp;diff=5775"/>
		<updated>2015-01-26T14:43:24Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_effect}}{{&lt;br /&gt;
#vardefine:return_type|effect}}{{&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|int|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function3={{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|skill|convert}}|&lt;br /&gt;
p1desc={{Pspan|convert}} is the int, string or skill to convert|&lt;br /&gt;
}}|&lt;br /&gt;
function_description=When supplied an int or string, returns the effect that corresponds to the specified parameter {{pspan|convert}}. When supplied a skill, this returns the effect that is given when the skill {{pspan|convert}} is cast on a player.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_effect operations.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
//int&lt;br /&gt;
print(to_effect(100), &amp;quot;green&amp;quot;);&lt;br /&gt;
//strings&lt;br /&gt;
print(to_effect(&amp;quot;Smooth&amp;quot;), &amp;quot;green&amp;quot;);&lt;br /&gt;
print(to_effect(&amp;quot;Smooth Move&amp;quot;), &amp;quot;green&amp;quot;);&lt;br /&gt;
//skills&lt;br /&gt;
print(to_effect($skill[Disco Aerobics]), &amp;quot;green&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=For more info about effects from numbers and skills, see [http://kol.coldfront.net/thekolwiki/index.php/Effects Effects].&lt;br /&gt;
&amp;lt;br&amp;gt;It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Stabilizing Oiliness&lt;br /&gt;
Hella Smooth&lt;br /&gt;
Smooth Movements&lt;br /&gt;
Disco State of Mind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{CodeSample|&lt;br /&gt;
description=&amp;lt;br&amp;gt;Following example tells which buffs you are missing but could have.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
void buffs_check() {&lt;br /&gt;
int amount;&lt;br /&gt;
boolean have_buff;&lt;br /&gt;
boolean[skill] active_buffs, bot_buffs, castable_buffs;&lt;br /&gt;
   foreach it in $skills[] {&lt;br /&gt;
      amount = have_effect(to_effect(it));&lt;br /&gt;
      if (amount == 0)&lt;br /&gt;
         have_buff = false;&lt;br /&gt;
      else have_buff = true;&lt;br /&gt;
      &lt;br /&gt;
      if (have_buff) //Currently have the effect active&lt;br /&gt;
         active_buffs[it]=have_buff;&lt;br /&gt;
      if (it.buff == true &amp;amp;&amp;amp; !have_buff &amp;amp;&amp;amp; it.class != $class[none] &amp;amp;&amp;amp; it.level != -1 &amp;amp;&amp;amp; it.dailylimit == -1 &amp;amp;&amp;amp; it != $skill[Spiky Shell] &amp;amp;&amp;amp; it != $skill[Antibiotic Saucesphere]) //buff bot buffs&lt;br /&gt;
         bot_buffs[it]=have_buff;&lt;br /&gt;
      if (have_skill(it) &amp;amp;&amp;amp; it.combat != true &amp;amp;&amp;amp; !have_buff &amp;amp;&amp;amp; to_effect(it) != $effect[none]) //buffs you can cast on yourself&lt;br /&gt;
         castable_buffs[it]=have_buff;&lt;br /&gt;
   }&lt;br /&gt;
   print(&amp;quot;You currently have the following buffs active:&amp;quot;, &amp;quot;red&amp;quot;);&lt;br /&gt;
   foreach it in active_buffs&lt;br /&gt;
      print(&amp;quot;&amp;quot;+it+&amp;quot;&amp;quot;, &amp;quot;green&amp;quot;);   &lt;br /&gt;
   print(&amp;quot;&amp;quot;);&lt;br /&gt;
   print(&amp;quot;You could get the following buffs from a buff bot:&amp;quot;, &amp;quot;red&amp;quot;);&lt;br /&gt;
   foreach it in bot_buffs&lt;br /&gt;
      print(&amp;quot;&amp;quot;+it+&amp;quot;&amp;quot;, &amp;quot;blue&amp;quot;);   &lt;br /&gt;
   print(&amp;quot;&amp;quot;);&lt;br /&gt;
   print(&amp;quot;You could cast the following buffs on yourself:&amp;quot;, &amp;quot;red&amp;quot;);&lt;br /&gt;
   foreach it in castable_buffs&lt;br /&gt;
      print(&amp;quot;&amp;quot;+it+&amp;quot;&amp;quot;, &amp;quot;purple&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
buffs_check();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
special=If {{pspan|convert}} is an effect that cannot be given by use of a skill, and is supplied as such, or no match is found for a supplied string or int type, this function returns $effect[ none ].|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_effect&amp;diff=5774</id>
		<title>To effect</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_effect&amp;diff=5774"/>
		<updated>2015-01-26T14:40:40Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_effect}}{{&lt;br /&gt;
#vardefine:return_type|effect}}{{&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|int|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function3={{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|skill|convert}}|&lt;br /&gt;
p1desc={{Pspan|convert}} is the int, string or skill to convert|&lt;br /&gt;
}}|&lt;br /&gt;
function_description=When supplied an int or string, returns the effect that corresponds to the specified parameter {{pspan|convert}}. When supplied a skill, this returns the effect that is given when the skill {{pspan|convert}} is cast on a player.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_effect operations.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
//int&lt;br /&gt;
print(to_effect(100), &amp;quot;green&amp;quot;);&lt;br /&gt;
//strings&lt;br /&gt;
print(to_effect(&amp;quot;Smooth&amp;quot;), &amp;quot;green&amp;quot;);&lt;br /&gt;
print(to_effect(&amp;quot;Smooth Move&amp;quot;), &amp;quot;green&amp;quot;);&lt;br /&gt;
//skills&lt;br /&gt;
print(to_effect($skill[Disco Aerobics]), &amp;quot;green&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=For more info about effects from numbers and skills, see [http://kol.coldfront.net/thekolwiki/index.php/Effects Effects].&lt;br /&gt;
&amp;lt;br&amp;gt;It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Stabilizing Oiliness&lt;br /&gt;
Hella Smooth&lt;br /&gt;
Smooth Movements&lt;br /&gt;
Disco State of Mind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
special=If {{pspan|convert}} is an effect that cannot be given by use of a skill, and is supplied as such, or no match is found for a supplied string or int type, this function returns $effect[ none ].|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_class&amp;diff=5733</id>
		<title>To class</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_class&amp;diff=5733"/>
		<updated>2015-01-26T14:39:54Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_class}}{{&lt;br /&gt;
#vardefine:return_type|class}}{{&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|int|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|name}}|&lt;br /&gt;
p1desc={{Pspan|name}} is the class int or name to convert|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=Returns the specified class {{pspan|name}} as a class.|&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_class operations.||&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
print(to_class(&amp;quot;DiScO BanDiT&amp;quot;), &amp;quot;green&amp;quot;);&lt;br /&gt;
print(to_class(&amp;quot;disco ban&amp;quot;), &amp;quot;red&amp;quot;);&lt;br /&gt;
print(&amp;quot;&amp;quot;);&lt;br /&gt;
if (to_class(&amp;quot;DiScO BanDiT&amp;quot;) == my_class())&lt;br /&gt;
   print(&amp;quot;I am a Disco Bandit!&amp;quot;, &amp;quot;green&amp;quot;);&lt;br /&gt;
else print(&amp;quot;I am not a Disco Bandit...&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=&lt;br /&gt;
It gives the following output (for DBs).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Disco Bandit&lt;br /&gt;
none&lt;br /&gt;
&lt;br /&gt;
I am a Disco Bandit!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
special=Unlike direct casting with $class[ ], this function is case-insensitive. Full name is still required (partial names, or names with extra characters, return $class[ none ]).|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_bounty&amp;diff=8422</id>
		<title>To bounty</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_bounty&amp;diff=8422"/>
		<updated>2015-01-26T14:39:32Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_bounty}}{{&lt;br /&gt;
#vardefine:return_type|bounty}}{{&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|convert}}|&lt;br /&gt;
p1desc={{Pspan|convert}} is the string to convert|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=When supplied a string, returns the bounty that corresponds to the specified parameter {{pspan|convert}}. This is not a fuzzy match and it is not case-sensitive. The string needs to strictly match the name of the bounty, exactly.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_bounty operations.|&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
print(to_bounty(&amp;quot;dirty coal button&amp;quot;), &amp;quot;green&amp;quot;);&lt;br /&gt;
print(to_bounty(&amp;quot;dirty coal butto&amp;quot;), &amp;quot;red&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=&lt;br /&gt;
It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dirty coal button&lt;br /&gt;
none&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
see_also={{SeeAlso|to_item|to_skill|to_stat}}|&lt;br /&gt;
special=If no match is found for {{pspan|convert}}, this function returns $bounty[ none ].|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_boolean&amp;diff=5472</id>
		<title>To boolean</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_boolean&amp;diff=5472"/>
		<updated>2015-01-26T14:18:54Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Updated&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_boolean}}{{&lt;br /&gt;
#vardefine:return_type|boolean}}{{&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|int|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|float|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function3={{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|convert}}|&lt;br /&gt;
p1desc={{Pspan|convert}} is the int, float, or string to convert|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=Datatype behaviour:&lt;br /&gt;
This function converts the supplied datatype to a boolean value.  For strings, this means that it will return false for everything except &amp;quot;true&amp;quot;. For all other datatypes, it returns to_int(anything) != 0.  More details:&lt;br /&gt;
&lt;br /&gt;
* As indicated, integers return true for anything except 0, even negative values.&lt;br /&gt;
* floats return true for anything except -1.0 to 1.0 (not inclusive).  This is because to_int(float) truncates the float.&lt;br /&gt;
Note: The string is case insensitive.|&lt;br /&gt;
&lt;br /&gt;
code1={{CodeSample|&lt;br /&gt;
title=Code Samples|&lt;br /&gt;
description=Following example shows basic to_boolean operations.|&lt;br /&gt;
code=&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
string first, second, third, fourth;&lt;br /&gt;
int fifth, sixth;&lt;br /&gt;
&lt;br /&gt;
first = &amp;quot;random stuff&amp;quot;;&lt;br /&gt;
second = &amp;quot;true&amp;quot;;&lt;br /&gt;
third = &amp;quot;tRuE&amp;quot;;&lt;br /&gt;
fourth = &amp;quot;TRUE&amp;quot;;&lt;br /&gt;
fifth = 5;&lt;br /&gt;
sixth = 0;&lt;br /&gt;
&lt;br /&gt;
print(first+&amp;quot; gives &amp;quot;+to_boolean(first)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(second+&amp;quot; gives &amp;quot;+to_boolean(second)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(third+&amp;quot; gives &amp;quot;+to_boolean(third)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(fourth+&amp;quot; gives &amp;quot;+to_boolean(fourth)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(fifth+&amp;quot; gives &amp;quot;+to_boolean(fifth)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
print(sixth+&amp;quot; gives &amp;quot;+to_boolean(sixth)+&amp;quot;.&amp;quot;, &amp;quot;blue&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;|&lt;br /&gt;
moreinfo=It gives the following output.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
random stuff gives false.&lt;br /&gt;
true gives true.&lt;br /&gt;
tRuE gives true.&lt;br /&gt;
TRUE gives true.&lt;br /&gt;
5 gives true.&lt;br /&gt;
0 gives false.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
see_also={{SeeAlso|to_int}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_location&amp;diff=5743</id>
		<title>To location</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_location&amp;diff=5743"/>
		<updated>2015-01-26T13:01:28Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_location}}{{&lt;br /&gt;
#vardefine:return_type|location}}{{&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|int|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|convert}}|&lt;br /&gt;
p1desc={{Pspan|convert}} is the int or string to convert|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=Returns the location that matches {{pspan|name}} or {{pspan|id}} as specified.|&lt;br /&gt;
&lt;br /&gt;
needscode=yes|&lt;br /&gt;
&lt;br /&gt;
special=While direct casting via $location[ ] is case-insensitive and able to catch partial matches, this function has the added benefit of passing variables as a string parameter.|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_int&amp;diff=5760</id>
		<title>To int</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_int&amp;diff=5760"/>
		<updated>2015-01-26T11:35:36Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Updated....seems to have a formatting issue where I can&amp;#039;t go above 5 functions. Not sure how to get the other 4 to show up....&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_int}}{{&lt;br /&gt;
#vardefine:return_type|int}}{{&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|boolean|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|float|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function3={{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|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function4={{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|item|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function5={{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|class|convert}}|&lt;br /&gt;
p1desc={{Pspan|convert}} is the boolean, int, string, item, class, effect, familiar, skill, or thrall to convert|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function6={{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|familiar|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function7={{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|effect|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function8={{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|skill|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function9={{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|thrall|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=This function looks for the best integer match to the specified input, which varies by datatype.&lt;br /&gt;
* boolean values return 0 for false and 1 for true&lt;br /&gt;
* float values return the same as they would with [[truncate|truncate()]]&lt;br /&gt;
* string values are parsed in several ways:&lt;br /&gt;
** fully numeric strings, optionally with + or - as the first character, return as they would for a float (commas are also ignored)&lt;br /&gt;
** all other strings return 0, with a message saying that the string is not a valid integer&lt;br /&gt;
* special datatypes (class, skill, thrall etc.) return their ID number as referenced in KoL.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
needscode=yes|&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_float&amp;diff=5766</id>
		<title>To float</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_float&amp;diff=5766"/>
		<updated>2015-01-26T11:03:50Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Updated&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_float}}{{&lt;br /&gt;
#vardefine:return_type|float}}{{&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|boolean|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|int|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function3={{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|convert}}|&lt;br /&gt;
p1desc={{Pspan|convert}} is the boolean, int, or string to convert|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=This function looks for the best float match to the specified input, which varies by datatype. For int types, this function merely tacks &amp;quot;.0&amp;quot; to the end. For booleans, a transparent conversion as per [[to_int|to_int()]] is performed first, and then converted to a float. All other data types do not work.|&lt;br /&gt;
&lt;br /&gt;
needscode=yes|&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmafia.us/index.php?title=To_class&amp;diff=5732</id>
		<title>To class</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmafia.us/index.php?title=To_class&amp;diff=5732"/>
		<updated>2015-01-26T10:40:56Z</updated>

		<summary type="html">&lt;p&gt;Eliteofdelete: Updated&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&lt;br /&gt;
#vardefine:name|to_class}}{{&lt;br /&gt;
#vardefine:return_type|class}}{{&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|int|convert}}|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function2={{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|name}}|&lt;br /&gt;
p1desc={{Pspan|name}} is the class int or name to convert|&lt;br /&gt;
}}|&lt;br /&gt;
&lt;br /&gt;
function_description=Returns the specified class {{pspan|name}} as a class.|&lt;br /&gt;
&lt;br /&gt;
needscode=yes|&lt;br /&gt;
&lt;br /&gt;
special=Unlike direct casting with $class[ ], this function is case-insensitive. Full name is still required (partial names, or names with extra characters, return $class[ none ]).|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Datatype Conversions]]&lt;/div&gt;</summary>
		<author><name>Eliteofdelete</name></author>
	</entry>
</feed>