<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.pmdo.pmdcollab.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Trio</id>
	<title>PMDOWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.pmdo.pmdcollab.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Trio"/>
	<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/Special:Contributions/Trio"/>
	<updated>2026-07-31T14:10:12Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=List_of_PMDO_Mods&amp;diff=4760</id>
		<title>List of PMDO Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=List_of_PMDO_Mods&amp;diff=4760"/>
		<updated>2025-10-21T04:41:23Z</updated>

		<summary type="html">&lt;p&gt;Trio: Change of name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A listing of mods that have been developed for PMDO.&lt;br /&gt;
&lt;br /&gt;
== Mod Categories ==&lt;br /&gt;
The mods here are categorized in the following way.&lt;br /&gt;
; Quest : A self-contained adventure with its own save file.&lt;br /&gt;
; Mechanics : A mod that alters the game mechanics of the base PMDO game.&lt;br /&gt;
; Expansion : A mod that adds extra content to the base PMDO game.&lt;br /&gt;
; Aesthetics : A mod that only makes changes to the game&#039;s visuals or sounds&lt;br /&gt;
; QoL : A mod that does not meaningfully change PMDO&#039;s gameplay but improves the user experience&lt;br /&gt;
; Framework : A mod that makes no changes to the game on its own, but provides content for other mods to include within them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Mods ==&lt;br /&gt;
Color coding for Latest Version cells:&lt;br /&gt;
* &#039;&#039;&#039;Uncoloured:&#039;&#039;&#039; Works on current PMDO version (edited for 0.8.11)&lt;br /&gt;
* &#039;&#039;&#039;Beige:&#039;&#039;&#039; Untested for current patch but expected to have no features broken&lt;br /&gt;
* &#039;&#039;&#039;Cyan:&#039;&#039;&#039; Untested for current patch but suspected to have some features broken&lt;br /&gt;
* &#039;&#039;&#039;Yellow:&#039;&#039;&#039; Mostly works on current patch but has some known issues&lt;br /&gt;
* &#039;&#039;&#039;Pink:&#039;&#039;&#039; Broken on current patch, must [[downgrading|downgrade]] to use&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Category !! Mod !! Description !! Author !! Latest Known Working Version&lt;br /&gt;
|-&lt;br /&gt;
| Mechanics || [https://gamebanana.com/mods/615680 On-Screen Keyboard] || Adds a keyboard on the screen. || Wintermourn || 0.8.11&lt;br /&gt;
|-&lt;br /&gt;
| Mechanics || [https://github.com/DSE76190/Party_Plus_12/releases/download/Party_Plus_12_2.1/Party_Plus_12.2.1.zip Party Plus 12] || Increases the party size. || DSE76 || 0.8.11&lt;br /&gt;
|-&lt;br /&gt;
| Mechanics || [https://drive.google.com/drive/folders/1_MeXe1XD_wTxxBCYx1GluDYeV9uvLV7U?usp=drive_link Friend Areas] || Adds friend areas. || someoneelse || 0.8.11&lt;br /&gt;
|-&lt;br /&gt;
| Mechanics || [https://github.com/Deeshura/Mega_Stones/releases1 Mega Stones] || Adds mega stone to PMDO. || Deeshura || 0.8.11&lt;br /&gt;
|-&lt;br /&gt;
| Expansion || [https://github.com/DoubleTrio/dungeon-pack/releases/tag/v0.2.8 Trio&#039;s Dungeon Pack] || Adds some new dungeons. Currently has one.|| Trio || 0.8.11&lt;br /&gt;
|-&lt;br /&gt;
| Expansion || [[Mod:Resource Dungeon Pack|Resource Dungeon Pack]] || Adds some dungeons to base PMDO that are focused around particular resources.|| Imbion || 0.8.11&lt;br /&gt;
|-&lt;br /&gt;
| Framework || [https://github.com/435THz/NebulaMissionBoard/releases Nebula Mission Board] || Adds a mission board that can also be implemented into other mods. || Mistress Nebula|| 0.8.11&lt;br /&gt;
|-&lt;br /&gt;
| Framework || [[Mod:Knightcore|Knightcore]] || A framework mod that comes with various functions for quest mods. || Imbion || 0.8.11&lt;br /&gt;
|-&lt;br /&gt;
| Framework || [https://drive.proton.me/urls/WH62HS9PA8#UkwrF7T4ynuf Type Based Abilities] || Adds abilities for each type that grants an immunity, draws in a move, and changes normal move to its type. || Metaright || 0.8.11&lt;br /&gt;
|-&lt;br /&gt;
| Quest || [https://www.insertnamejam.net/forum/insert-name-jam-2025/pokemon-mystery-dungeon-minior-the-fallen-star Minior the Fallen Star] || A [[Minior]] that fell from the sky goes on a journey to get home. || CregALeg||style=&amp;quot;background-color: beige;&amp;quot;| 0.8.9&lt;br /&gt;
|-&lt;br /&gt;
| Quest || [https://github.com/Palikadude/Halcyon Halcyon] || A quest that aims to recapture the vibes and energy of Explorers in an all-new original adventure.|| Palika ||style=&amp;quot;background-color: pink;&amp;quot;| 0.8.1&lt;br /&gt;
|-&lt;br /&gt;
| Quest || [https://github.com/RaoKurai/ZMDO Zoura Mystery Dungeon Origins] || Demo of a very unique pmd adventure..! || RaoKurai ||style=&amp;quot;background-color: pink;&amp;quot;| 0.8.2 &lt;br /&gt;
|-&lt;br /&gt;
| Quest || [https://github.com/Logical321/ProjectEoN Project EON] || A story about a lone wanderer and their new strange situation.|| Logical123 ||style=&amp;quot;background-color: pink;&amp;quot;| 0.8.9&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=2025</id>
		<title>Tutorial:Creating New Types</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=2025"/>
		<updated>2024-05-08T02:59:48Z</updated>

		<summary type="html">&lt;p&gt;Trio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this walkthrough, we&#039;ll add a new type — Sound — into PMDO, which is based on the specification described [https://pokemon-xenoverse.fandom.com/wiki/Sound_(type) here].  Make your game is set to a mod in [[Modding Intro]] so that you’re editing a mod instead of the base game. &lt;br /&gt;
&lt;br /&gt;
== Creating the New Type ==&lt;br /&gt;
&lt;br /&gt;
Begin by creating a new type in the Element list.&lt;br /&gt;
&lt;br /&gt;
[[File:DevPanel_Data.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementList2.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;Add&#039;&#039;&#039; and set the name to be &amp;quot;sound&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundName.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should see the following page below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundOverview.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then do the following steps:&lt;br /&gt;
* Set the &#039;&#039;&#039;Name&#039;&#039;&#039; to be &amp;quot;Sound&amp;quot;&lt;br /&gt;
* Set the &#039;&#039;&#039;Symbol&#039;&#039;&#039; to be &amp;quot;&amp;quot; which represents the unicode &#039;&#039;&#039;\uE093&#039;&#039;&#039;. This will be located next to {{TypeIcon|type=Water}}Water in [https://wiki.pmdo.pmdcollab.org/Text_Guide#Special_Characters, PMDO&#039;s unicode ordering].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: As of 0.7.16, you will need to manually open PMDO/MODS/{MOD_NAME}/Elements/sound.json to add the &#039;&#039;&#039;Symbol&#039;&#039;&#039; &amp;quot;&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Your JSON file for Sound should look similar to below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;Version&amp;quot;: &amp;quot;0.7.16.0&amp;quot;,&lt;br /&gt;
&amp;quot;Object&amp;quot;: {&lt;br /&gt;
&amp;quot;$type&amp;quot;: &amp;quot;RogueEssence.Data.ElementData, RogueEssence&amp;quot;,&lt;br /&gt;
&amp;quot;Name&amp;quot;: {&lt;br /&gt;
&amp;quot;DefaultText&amp;quot;: &amp;quot;Sound&amp;quot;,&lt;br /&gt;
&amp;quot;LocalTexts&amp;quot;: {}&lt;br /&gt;
},&lt;br /&gt;
&amp;quot;Comment&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;Symbol&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;OK&#039;&#039;&#039; and save your progress!&lt;br /&gt;
&lt;br /&gt;
== Editing Type Matchups ==&lt;br /&gt;
&lt;br /&gt;
We will be referencing the chart below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundChart.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In the Dev Menu, navigate over to &#039;&#039;&#039;Constants&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Universal&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_UniversalEvent.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Under &#039;&#039;&#039;Universal States&#039;&#039;&#039;, click on &#039;&#039;&#039;PMDC.Dungeon.ElementTableState&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Below shows how the Type Matchups are ordered/indexed:&lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ Type Ordering&lt;br /&gt;
! Index&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| {{TypeIcon|type=None}}None&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| {{TypeIcon|type=Bug}}Bug&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| {{TypeIcon|type=Dark}}Dark&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| {{TypeIcon|type=Dragon}}Dragon&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| {{TypeIcon|type=Electric}}Electric&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| {{TypeIcon|type=Fairy}}Fairy&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| {{TypeIcon|type=Fighting}}Fighting&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| {{TypeIcon|type=Fire}}Fire&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| {{TypeIcon|type=Flying}}Flying&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| {{TypeIcon|type=Ghost}}Ghost&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| {{TypeIcon|type=Grass}}Grass&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| {{TypeIcon|type=Ground}}Ground&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| {{TypeIcon|type=Ice}}Ice&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| {{TypeIcon|type=Normal}}Normal&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| {{TypeIcon|type=Poison}}Poison&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| {{TypeIcon|type=Psychic}}Psychic&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| {{TypeIcon|type=Rock}}Rock&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| {{TypeIcon|type=Steel}}Steel&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| {{TypeIcon|type=Water}}Water&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example, clicking on the second &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 1)&#039;&#039; opens all the effectiveness of {{TypeIcon|type=Bug}}Bug against all other types. The third element &#039;&#039;(Index 2)&#039;&#039; which represents {{TypeIcon|type=Dark}}Dark is shown with an effectiveness of &#039;&#039;&#039;5&#039;&#039;&#039; (see table below). &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_BugTypeMatchup.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Below is a table of what effectiveness each number represents. &lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ &lt;br /&gt;
! # Representation&lt;br /&gt;
! Effectiveness&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| No effect&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Not very effective&lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| Neutral&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Super effective&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In this case, the &#039;&#039;&#039;5&#039;&#039;&#039; represents that {{TypeIcon|type=Bug}}Bug is super-effective against {{TypeIcon|type=Dark}}Dark.  &lt;br /&gt;
&lt;br /&gt;
Thus, when we add the &#039;&#039;&#039;Sound-type&#039;&#039;&#039;, we need to update each &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; element to include its matchup against Sound.  For example, the first &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 0)&#039;&#039; is  {{TypeIcon|type=None}}Typeless versus all types.&lt;br /&gt;
&lt;br /&gt;
Click on that. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessAll.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then click on &#039;&#039;&#039;Add&#039;&#039;&#039; and enter 4 to indicate that {{TypeIcon|type=None}}Typeless is neutral against Sound.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and continue adding the rest of the type matchups (19 types in total) against Sound. &lt;br /&gt;
&lt;br /&gt;
We also need to add a new &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; to represent how effective the Sound-type is against other types.  &lt;br /&gt;
&lt;br /&gt;
Under Type Matchups, click on &#039;&#039;&#039;Add&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundEmptyMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then, begin adding the effectiveness number from the table above. You will need add 20 (including Sound) numbers in total in the order corresponding to the indexed Pokémon types table. You should have the following numbers in this specific order: &#039;&#039;&#039;[4, 4, 4, 3, 3, 5, 4, 4, 5, 4, 4, 4, 4, 4, 4, 3, 4, 4, 5, 4]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Lastly, under &#039;&#039;&#039;Type Map&#039;&#039;&#039;, add the key &amp;quot;sound&amp;quot; with the value of &#039;&#039;&#039;19&#039;&#039;&#039; representing the 19th index within the Type Matchup table. It is essential that the key is the &#039;&#039;&#039;same&#039;&#039;&#039; name as the one we first created in the Element list.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypeMap.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and make be sure to save once you are finished!&lt;br /&gt;
&lt;br /&gt;
== Adding Type Icon ==&lt;br /&gt;
&lt;br /&gt;
Remember that we set the Sound icon to &amp;quot;&amp;quot; (\uE093). We now need to modify the base game font to include the icon below.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_E093.png]]&lt;br /&gt;
&lt;br /&gt;
Save the image and rename it to &#039;&#039;&#039;E093.png&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should create backup of PMDO/Font/text.font or you can redownload later [https://github.com/audinowho/DumpAsset/tree/37e1c791568acb4a9b776c4abb7020fea015108d/Content/Font here].&lt;br /&gt;
&lt;br /&gt;
Then you will need to download the necessary assets (~1.57 GB) [https://github.com/PMDCollab/RawAsset here] and place the folder the same level as the PMDO executable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: You actually only need the RawAsset/Font directory for this guide.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Your folder structure should have a similar structure below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MODS/&lt;br /&gt;
RawAsset/&lt;br /&gt;
├─ font/&lt;br /&gt;
│  ├─ text/&lt;br /&gt;
│  ├─ yellow/&lt;br /&gt;
PMDO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then move the &#039;&#039;&#039;E093.png&#039;&#039;&#039; into RawAsset/font/text. &lt;br /&gt;
&lt;br /&gt;
Through the command line, run the PMDO executable file like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./PMDO -convert font&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This might take a couple minutes for the program to finish executing. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This has the side-effect of replacing the current fonts in PMDO/Content/Fonts, hence the backup.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If everything worked correctly, you should see the following files in PMDO/Content/Fonts.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_FontResults.png|300px]]&lt;br /&gt;
&lt;br /&gt;
You can move/copy the new text.font into PMDO/MODS/{MOD_NAME}/Content/Fonts.&lt;br /&gt;
&lt;br /&gt;
== Viewing Results ==&lt;br /&gt;
&lt;br /&gt;
We will now modify the one of the Pokémon to be Sound type. In the Dev Menu, navigate to Data-&amp;gt;Monster and select Whismur. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_Whismur.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Scroll down until you see Forms and click on Whismur.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_WhismurForm.png|250px]]&lt;br /&gt;
&lt;br /&gt;
Scroll down until you see the types and change &#039;&#039;&#039;Element 1&#039;&#039;&#039; to Sound. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_WhismurSound.png|250px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and save your work!&lt;br /&gt;
&lt;br /&gt;
In the Player tab in the Dev Menu, set your character to be Whismur. You should see that Whismur is now a &#039;&#039;&#039;Sound-type&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
![[File:Custom_Types_WhisterFinalResult.png|300px]]&lt;br /&gt;
&lt;br /&gt;
This concludes adding your custom Pokémon type! You can enter a dungeon and check to see the type matchups are correct. This guide covered modifying the Type Matchup table and font modding! Keep in mind, you will need to modify many Pokémon and moves to be Sound type. &lt;br /&gt;
&lt;br /&gt;
[[Category:Modding Data]]&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1756</id>
		<title>Lua Function Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1756"/>
		<updated>2023-09-25T13:12:40Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows all script functions that can be called from Lua&lt;br /&gt;
&lt;br /&gt;
== AI:SetCharacterAI(RogueEssence.Ground.GroundChar,System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assign the given scripted AI class to the specified GroundChar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;classpath&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:DisableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disable a given groundchar&#039;s AI processing until its enabled again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:EnableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:SetAIState(RogueEssence.Ground.GroundChar,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharTurnToChar(RogueEssence.Dungeon.Character,RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:LastDungeonResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the result of the last dungeon adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the floor number of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonAssetName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the internal name for the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonDisplayName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the localized name of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharSetEmote(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s emote in a dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DUNGEON:CharSetEmote(chara, &amp;quot;sweating&amp;quot;, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharStartAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharEndAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharEndAnim(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation, and waits until it completed before continue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX in the dungeon map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position in pixels&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local shake = RogueEssence.Content.ScreenMover(0, 12, 50)&lt;br /&gt;
GROUND:MoveScreen(shake)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GroundSave ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saves the game while in ground mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:GroundSave()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetModDiff(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;uuidStr&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentGround ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current zone, also known as dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.Int32,System.Int32,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The index of the ground map in the zone&lt;br /&gt;
* &amp;lt;code&amp;gt;idxentrypoint&amp;lt;/code&amp;gt;: The index of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within a new zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;: The name of the destination zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;stakes&amp;lt;/code&amp;gt;: Decides what happens when the adventure fails/succeeds.&lt;br /&gt;
* &amp;lt;code&amp;gt;recorded&amp;lt;/code&amp;gt;: Record the adventure in a replay&lt;br /&gt;
* &amp;lt;code&amp;gt;silentRestrict&amp;lt;/code&amp;gt;: Make the dungeon restrictions silently&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterDungeon(1, 0, 0, 0, RogueEssence.Data.GameProgress.DungeonStakes.Risk, true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:ContinueDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and continues the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:ContinueDungeon(1, 1, 0, 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EndDungeonRun ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ends the current adventure, sending the player to a specified destination.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt;: The result of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;destzoneid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entryid&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;display&amp;lt;/code&amp;gt;: Display an epitaph marking the end of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;fanfare&amp;lt;/code&amp;gt;: Play a fanfare.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EndDungeonRun(GameProgress.ResultType.Cleared, 0, -1, 1, 0, true, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterRescue ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a rescue adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sosPath&amp;lt;/code&amp;gt;: The path of the sos mail.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterRescue(&amp;quot;RESCUE/INBOX/SOS/example.sosmail&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:AddAOKRemark(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;remarkIndex&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartToTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map and load up the title screen.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TASK:WaitTask(GAME:RestartToTitle())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartRogue(RogueEssence.Data.RogueConfig) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restarts a Roguelocke run based on the configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt;: The configuration of the roguelocke run&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local config = RogueEssence.Data.RogueConfig.RerollFromOther(_DATA.Save.Config)&lt;br /&gt;
GAME:RestartRogue(config)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterZone(System.String,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeOut ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade out the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;white&amp;lt;/code&amp;gt;: Fade to white if set to true.  Fades to black otherwise.&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeOut(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeIn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade into the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeIn(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:MoveCamera ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Centers the camera on a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time it takes ot move to the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;toPlayer&amp;lt;/code&amp;gt;: Destination is in absolute coordinates if false, and relative to the player character if set to true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:MoveCamera(200, 240, 60, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCameraCenter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current center of the camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Loc object representing the center of the camera.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsCameraOnChar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determines whether the camera is centered relative to the player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if the camera is relative to the player, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasSOSMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:HasAOKMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamLeaderIndex ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamLeaderIndex(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the leader to the chosen index within the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;idx&amp;lt;/code&amp;gt;: The index of the team member within the team.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCanSwitch(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prevents or allows the switching of leaders for the save file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;canSwitch&amp;lt;/code&amp;gt;: Set to true to allow switching, set to false to prevent it.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the player party count.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The count of players&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the party as a LuaTable.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of guests currently in the player&#039;s party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of guests&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the guests as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of characters currently in the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the assembly as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The assembly member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerTeam(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerTeam(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerGuest(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerGuest(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team&#039;s guests, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerAssembly(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerAssembly(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the assembly, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterNickname(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to rename&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;: The new name&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GAME:SetCharacterNickname(chara, &amp;quot;Steve&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterNickname(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to get the nickname from&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamName(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;teamname&amp;lt;/code&amp;gt;: The new team name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team&#039;s name&lt;br /&gt;
&lt;br /&gt;
== GAME:CanRelearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can relearn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanForget(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can forget any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanLearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can learn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CheckLevelSkills ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks the levels gained by a character and prompts to learn all skills along the levels.&lt;br /&gt;
Waits until all skills have been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to prompt for learning.&lt;br /&gt;
* &amp;lt;code&amp;gt;oldLevel&amp;lt;/code&amp;gt;: The level that the character leveled up from.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:CheckLevelSkills(player, 5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:TryLearnSkill ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempts to give a new skill to the specified character, prompting to replace an old one if they are full.&lt;br /&gt;
Waits until all the skill has been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:TryLearnSkill(player, &amp;quot;thunder&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:LearnSkill(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character.&lt;br /&gt;
Fails if the character&#039;s skills are full.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
== GAME:ForgetSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removed a skill from the specified character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to forget the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the skill to forget&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterSkill(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character, replacing a specifically chosen slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skillId&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to replace&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the skill from a specified character and specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to get the skill from.&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to get the skill from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ID of the skill in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:CanPromote(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can be promoted to a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the character can be promoted, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetAvailablePromotions(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets a list of possible classes that the character can prmote to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A lua table of PromoteBranch objects&lt;br /&gt;
&lt;br /&gt;
== GAME:PromoteCharacter(RogueEssence.Dungeon.Character,RogueEssence.Data.PromoteBranch,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Promotes a character ot a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to promote&lt;br /&gt;
* &amp;lt;code&amp;gt;branch&amp;lt;/code&amp;gt;: The PromoteBranch to promote with&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
== GAME:FindPlayerItem(System.String,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finds an item in the player&#039;s team and returns its slot within the inventory or among its team&#039;s equips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The item ID to search for.&lt;br /&gt;
* &amp;lt;code&amp;gt;held&amp;lt;/code&amp;gt;: Check equipped items.&lt;br /&gt;
* &amp;lt;code&amp;gt;inv&amp;lt;/code&amp;gt;: Check inventory items.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The InvSlot of the item. Invalid if the item could not be found.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local inv_slot = GAME:FindPlayerItem(&amp;quot;food_apple&amp;quot;, false, true)&lt;br /&gt;
if inv_slot:IsValid() then &lt;br /&gt;
  GAME:TakePlayerBagItem(inv_slot.Slot)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items equipped by players.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items in the bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagLimit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the maximum amount of item the player&#039;s team can carry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The team slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified guest slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The guest slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- Give the player a Assembly Box&lt;br /&gt;
GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem(&amp;quot;machine_assembly_box&amp;quot;))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- Give the player a stack of 9 Sticks&lt;br /&gt;
GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem(&amp;quot;ammo_stick&amp;quot;, false, 9))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the item found at the specified slot of the player&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The item found in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove an item from player inventory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen member of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakeGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen guest of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team&#039;s guest list from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of items in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageItemCount(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of a specific item in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: ID of the item ot check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of copies currently in storage&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerStorageItem(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes an item from the storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item to take&lt;br /&gt;
&lt;br /&gt;
== GAME:DepositAll ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes all items in the player team&#039;s bag and equipped items, and deposits them in storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoney ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money the player currently has on hand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoneyBank ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money in the player&#039;s bank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsKeyDown(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a player is making a certain input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keyid&amp;lt;/code&amp;gt;: The ID of the input&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the button is currently pressed.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:CutsceneMode(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the game in cutscene mode. This prevents characters from taking idle action and hides certain UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bon&amp;lt;/code&amp;gt;: If set to true, turns cutscene mode on. If set to false, turns it off.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetDailySeed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the random seed for the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current adventure&#039;s seed.&lt;br /&gt;
&lt;br /&gt;
== GAME:UnlockDungeon(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unlocks a specified dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to unlock.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GAME:UnlockDungeon(&#039;faded_trail&#039;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:DungeonUnlocked(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a dungeon is unlocked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if unlocked, false otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local is_unlocked = GAME:DungeonUnlocked(&amp;quot;faded_trail&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:InRogueMode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the current game is in rogue mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if in rogue mode, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasServerSet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetRescueAllowed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks to see if rescue is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if rescues are allowed, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetRescueAllowed(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the value in the player&#039;s save file to determine if they can be rescued or not.&lt;br /&gt;
If rescue is possible on the Save File level, it can still be prevented by the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;allowed&amp;lt;/code&amp;gt;: Set to true to allow the player to be rescued.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:QueueLeaderEvent(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares an event to execute on the next frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:WaitFrames ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for a specified number of frames before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;frames&amp;lt;/code&amp;gt;: The number of frames ot wait.  Each frame is 1/60th of a second.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:WaitFrames(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(RogueElements.Loc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turns a vector (preferably a unit vector) into a cardinal or diagonal direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;: The vector.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(System.Double,System.Double) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenience function to get a vector&#039;s components from lua numbers(doubles)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;: The X value of the vector&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;: The Y value of the vector&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction the vector points to as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:RandomDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generates a random direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
An 8-directional direction.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetupLuaFunctions(RogueEssence.Script.LuaEngine) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setups any extra functionalities for this object written on the lua side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:Hide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to hide.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GROUND:Hide(&amp;quot;North_Exit&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:Unhide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unhides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to unhide.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GROUND:Hide(&amp;quot;North_Exit&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateObject(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;objtype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacter(System.String,System.String,System.Int32,System.Int32,System.String,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chartype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;actionfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;thinkfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveObject(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes an object from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveCharacter(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes a character from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacterFromCharData(System.String,RogueEssence.Dungeon.Character,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creates a ground character, given a dungeon character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name to give the character&lt;br /&gt;
* &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt;: Character data to create from&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction the character will face, defaults to Dir8.Down&lt;br /&gt;
&lt;br /&gt;
== GROUND:RefreshPlayer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reloads the controllable player&#039;s character data to be the current team&#039;s leader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:SetPlayer(RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the controllable player to use new character data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;charData&amp;lt;/code&amp;gt;: The new character data&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerDoSpawn(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make the specified spawner run its spawn method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ground character spawned.&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerSetSpawn(System.String,RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the character to the specified spawner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: The spawner to set the character to, by name&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnChar&amp;lt;/code&amp;gt;: The character to spawn.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToChar(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another character instantly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;turnchar&amp;lt;/code&amp;gt;: The character that is turning.&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: The character to turn to.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToCharAnimated ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face another character over the specified time.&lt;br /&gt;
Clockwise or counter-clockwise are chosen based on the closest direction.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: Character that is turning&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: Character to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: Time spent on each direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, charTo, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:EntTurn(RogueEssence.Ground.GroundEntity,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a ground entity turn to face a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity.  Can be a character or object.&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to face.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Must specify clockwise or counter-clockwise.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;ccw&amp;lt;/code&amp;gt;: false if clockwise, true if counter-clockwise&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurnTo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:TeleportTo(RogueEssence.Ground.GroundEntity,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Repositions the ground entity in a specified location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity to reposition&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to point the entity.  Defaults to Dir8.None, which leaves it untouched.&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move in a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, Dir8.Down, 24, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToMarker ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a ground marker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;mark&amp;lt;/code&amp;gt;: GroundMarker object ot move to&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, marker, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveObjectToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground object move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Ground Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground character move in a direction with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateInDirection(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 24, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground entity move to a position with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateToPosition(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 200, 240, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetEmote(RogueEssence.Ground.GroundChar,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a character emote on the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAnim(RogueEssence.Ground.GroundChar,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndAnim(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an animation and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Animation to play&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAnim(player, &amp;quot;Hurt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAction(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundAction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to perfomr the action&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: The action to perform&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an action and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: Action to perform&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAction(player, action)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetAnim(RogueEssence.Ground.GroundObject,System.Int32,System.Int32,System.Int32,RogueElements.Dir8,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s animation.  After it finishes, it will return to the default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to repeat the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetDefaultAnim(RogueEssence.Ground.GroundObject,System.String,System.Int32,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;animName&amp;lt;/code&amp;gt;: The name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectWaitAnimFrame ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the object to reach a specific frame before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object ot wait on&lt;br /&gt;
* &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: The frame of animation to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:WaitObjectAnim(fountain, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local chara = CH(&#039;PLAYER&#039;)&lt;br /&gt;
local emitter = RogueEssence.Content.FlashEmitter()&lt;br /&gt;
emitter.FadeInTime = 2&lt;br /&gt;
emitter.HoldTime = 4&lt;br /&gt;
emitter.FadeOutTime = 2&lt;br /&gt;
emitter.StartColor = Color(0, 0, 0, 0)&lt;br /&gt;
emitter.Layer = DrawLayer.Top&lt;br /&gt;
emitter.Anim = RogueEssence.Content.BGAnimData(&amp;quot;White&amp;quot;, 0)&lt;br /&gt;
GROUND:PlayVFX(emitter, chara.MapLoc.X, chara.MapLoc.Y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
== GROUND:AddMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a mapstatus to the ground map.  Map statuses only have an aesthetic effect in ground maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes a map status from the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status to remove.&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlaySE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect specifically from the Battle/ subdirectory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitSE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect, and waits for it to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitSE(&amp;quot;Battle/Hit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayFanfare(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitFanfare ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration.&lt;br /&gt;
This function waits for the sound to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitFanfare(&amp;quot;Battle/LevelUp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBGM(System.String,System.Boolean,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a song, replacing the current one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The file name of the song, relative to the Content/Music folder.&lt;br /&gt;
* &amp;lt;code&amp;gt;fade&amp;lt;/code&amp;gt;: Whether to fade the old song out, or start a new one.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the old song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBGM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops playing the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBGM(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:SetBGMVolume(System.Single) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current volume of the song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;: A float value between 0 and 1&lt;br /&gt;
&lt;br /&gt;
== SOUND:GetCurrentSong ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the currently playing song.  If the current song is fading out, gets the next song to be played.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The filename of the song, relative to the Content/Music folder&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocaleCode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current language setting of the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current language, represented by a locale code.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:Format(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: String to format.&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: Arguments&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The formatted string.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:FormatKey(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string given a string key.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: The string key to format&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: string arguments&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocalKeyString(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the string representing a button or key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The input type of the input.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The string representing the button o key the input maps to.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:CreateList(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Builds a single string of comma separated elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;listStrings&amp;lt;/code&amp;gt;: LuaTable of strings containing the elements to build the list from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The combined string containing all elements.&lt;br /&gt;
&lt;br /&gt;
== TASK:StartEntityTask(RogueEssence.Ground.GroundEntity,NLua.LuaFunction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to make an entity run the specified task.&lt;br /&gt;
Will not replace a running task!&lt;br /&gt;
Tasks are run interlocked with the script processing and game processing, and characters cannot run multiple tasks at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
== TASK:StopEntityTask(RogueEssence.Ground.GroundEntity) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to force stop an entity&#039;s current task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity running the task to stop.&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitStartEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes an entity run a specified task, and waits for it to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the specified entity to finish its task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which task we&#039;ll wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitEntityTask(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Runs a task and waits for it to complete.&lt;br /&gt;
Most methods that do not expose themselves to script need to be wrapped with this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitTask(_DUNGEON:AddMapStatus(&amp;quot;rain&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:StartScriptLocalCoroutine(NLua.LuaFunction,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A wrapper around the StartCoroutine method of the GameManager, so lua coroutines can be executed locally to the script context.&lt;br /&gt;
AKA, it will block the script execution while its executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== TASK:BranchCoroutine(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Starts a new coroutine to run parallel to the current execution.&lt;br /&gt;
Useful for performing multiple actions at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to run in parallel&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local coro1 = TASK:BranchCoroutine(GAME:_FadeIn(60))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:JoinCoroutines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for all specified coroutines to finish before continuing execution.&lt;br /&gt;
Often used for coroutines created using TASK:BranchCoroutine()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;coroTable&amp;lt;/code&amp;gt;: A table of coroutines to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:JoinCoroutines({coro1})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitInput ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the player to press a button before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowDialogue(System.String, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the player completes it.&lt;br /&gt;
Takes a string as an argument and optional LuaTable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function exclaim()&lt;br /&gt;
  SOUND:PlayBattleSE(&amp;quot;EVT_Emote_Exclaim_2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Exclaim [script=0]sound!&amp;quot;, { exclaim })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTimedDialogue(System.String, System.Int32, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the specified time has expired. Can take an optional LuaTable containing script calls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTimedDialogue(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextDialogue(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current dialogue text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowVoiceOver ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a voice over, waiting until the player completes it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowVoiceOver(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextVoiceOver(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current voice-over text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:PopUp(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes text pop up in the bottom-left corner. Displays concurrently with any other process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a title text, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTitle(&amp;quot;Hello World!&amp;quot;, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextShowTitle(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shows text in the format of a title drop.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the currently displayed title, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideTitle(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextFadeTitle(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the text set in a title drop.  Requires WaitDialog to actually fade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a chosen background image, with a chosen framerate, at a certain fade time, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowBG(&amp;quot;TestBG&amp;quot;, 3, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ShowBG(System.String,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets an image to display.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current background image, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideBG(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:FadeBG(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares a fade-out of the current image.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeaker(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clears the current speaker, so none is displayed the next time TextDialogue is called.&lt;br /&gt;
This also resets any custom dialogue box positions, portrait positions, and choice positions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: If turned on, the text from the dialogue boxes make sounds.  Default is on.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(System.String,System.Boolean,System.String,System.Int32,System.String,RogueEssence.Data.Gender) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Speaker name.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
* &amp;lt;code&amp;gt;specie&amp;lt;/code&amp;gt;: Species of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt;: Form of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt;: Skin of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;gender&amp;lt;/code&amp;gt;: Gender of the speaker&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Ground.GroundChar,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a ground map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Dungeon.Character,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a dungeon map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerReverse(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reverses the speaker orientation to face left instead of right.  This depends on the boolean passed in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetChoiceLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetChoiceLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog back to default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetBounds(System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;: Height of the box&lt;br /&gt;
&lt;br /&gt;
== UI:ResetBounds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerLoc(144, 16)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeakerLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSe(System.String, System.Int32) == &lt;br /&gt;
&lt;br /&gt;
Sets the speaker sound effect and the amount of frames in between each sound effect &lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;newSe&amp;lt;/code&amp;gt;: The path to the new sound effect&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect, optional&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:SetSe(&amp;quot;Battle/_UNK_DUN_Water_Drop&amp;quot;, 10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSe ==&lt;br /&gt;
 &lt;br /&gt;
Resets the default speaker sound effect and speak frames&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerTime(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
Sets the amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerTime(10)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerEmotion(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
Sets the emotion of the speaker in the dialogue box.&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emo&amp;lt;/code&amp;gt;: Emotion to display&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerEmotion(&amp;quot;Pain&amp;quot;, true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCenter(System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the centering of the text in the textbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;centerH&amp;lt;/code&amp;gt;: Horizontal centering&lt;br /&gt;
* &amp;lt;code&amp;gt;centerV&amp;lt;/code&amp;gt;: Vertical centering&lt;br /&gt;
&lt;br /&gt;
== UI:SetAutoFinish(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the text automatically finish when it shows up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;autoFinish&amp;lt;/code&amp;gt;: Auto-finishes text if true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetAutoFinish(true)&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;The mailbox is empty.&amp;quot;)&lt;br /&gt;
UI:SetAutoFinish(false)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitDialog ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set dialogue box and waits for the player to complete it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitDialog()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:_DummyWait ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instantly break. Used as default/invalid value when returning a yieldable value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceMenuYesNo(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask a question answered by yes or no via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: Question to be asked to the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;bdefaultstono&amp;lt;/code&amp;gt;: Whether the cursor starts on no by default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ChoiceMenuYesNo(&amp;quot;Would you like to continue on?&amp;quot;, false)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
localc continue = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:NameMenu(System.String,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the name input box.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The text to show above the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;: The text to show below the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;maxLength&amp;lt;/code&amp;gt;: The length of the text in pixels.&lt;br /&gt;
&lt;br /&gt;
== UI:AssemblyMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a menu for replacing party members with the assembly.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the boolean value indicating whether the team composition was changed or not, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShopMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Shop menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;goods&amp;lt;/code&amp;gt;: A table of items to be sold.  The format is { Item=InvItem, Price=int } for each item.&lt;br /&gt;
&lt;br /&gt;
== UI:SellMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Sell menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items to sell, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:StorageMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to exchange items in the inventory with.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WithdrawMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to withdraw from.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BankMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Bank menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SpoilsMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Spoils menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;appraisalMap&amp;lt;/code&amp;gt;: A table of mappings from containers to items, in the format of { Box=InvItem , Item=InvItem }&lt;br /&gt;
&lt;br /&gt;
== UI:AppraiseMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Appraisal menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TutorTeamMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Tutor Team menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team member, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:RelearnMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Relearn menu for a character.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:LearnMenu(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Learn menu for a character to replace an existing skill with a new one.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
* &amp;lt;code&amp;gt;skillNum&amp;lt;/code&amp;gt;: The new skill&lt;br /&gt;
&lt;br /&gt;
== UI:ForgetMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Forget menu for a character to forget a skill.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:ShowPromoteMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Promote menu to choose a team member to promote.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team slot, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CanSwapMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SwapMenu(NLua.LuaTable,NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TributeMenu(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowMusicMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Music menu to browse music for the game.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string representing the chosen song, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spoilerUnlocks&amp;lt;/code&amp;gt;: A lua table of strings representing progression flags that have been completed.&lt;br /&gt;
            Any ogg file that uses this tag as a spoiler tag will display in the menu only if the flag has been passed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ShowMusicMenu({&#039;MAIN_001&#039;})&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:DungeonChoice(System.String,RogueEssence.Dungeon.ZoneLoc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask to enter a destintion via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Name of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;dest&amp;lt;/code&amp;gt;: The ZoneLoc location of the destination.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:DungeonChoice(&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0) )&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local choice = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DungeonChoice&lt;br /&gt;
&lt;br /&gt;
== UI:DestinationMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing destinations, showing a preview of restrictions and requirements for dungeons.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the ZoneLoc indicating the chosen destination, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;destinations&amp;lt;/code&amp;gt;: A lua table representing the list of destinations with each element in the format of { Name=string, Dest=ZoneLoc }&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  local all_dests = { { Name=&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, Dest=RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0)} }&lt;br /&gt;
&lt;br /&gt;
  UI:DestinationMenu(all_dests)&lt;br /&gt;
  UI:WaitForChoice()&lt;br /&gt;
  local dest = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DestinationMenu&lt;br /&gt;
&lt;br /&gt;
== UI:ServersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ContactsMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SOSMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:AOKMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:PeersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowConnectMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CurrentActivityMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChooseMonsterMenu(System.String,NLua.LuaTable,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing monsters, showing a preview of their appearances via portrait.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string indicating the chosen species, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The title of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choices&amp;lt;/code&amp;gt;: A lua table of choices with each element being a MonsterID.&lt;br /&gt;
* &amp;lt;code&amp;gt;canMenu&amp;lt;/code&amp;gt;: If set to true, the Menu Button exits the menu if pressed.&lt;br /&gt;
* &amp;lt;code&amp;gt;canCancel&amp;lt;/code&amp;gt;: If set to true, the Cancel Button exits the menu if pressed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;bulbasaur&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;charmander&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;squirtle&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless)&lt;br /&gt;
}&lt;br /&gt;
UI:ChooseMonsterMenu(&amp;quot;Starter?&amp;quot;, choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCustomMenu(RogueEssence.Menu.InteractableMenu) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a custom menu of the caller&#039;s choice.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BeginChoiceMenu(System.String,NLua.LuaTable,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: The question to ask the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local color_choices = {&#039;Red&#039;, &#039;Yellow&#039;, &amp;quot;Green&amp;quot;}&lt;br /&gt;
UI:BeginChoiceMenu(&amp;quot;Which color do you like the most?&amp;quot;, color_choices, 1, 1)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local color = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:BeginMultiPageMenu(System.Int32,System.Int32,System.Int32,System.String,NLua.LuaTable,System.Int32,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-paged choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: Height of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;linesPerPage&amp;lt;/code&amp;gt;: Number of choices per page&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&#039;Choice 1&#039;, &amp;quot;Choice 2&amp;quot;, &amp;quot;Choice 3&amp;quot; }&lt;br /&gt;
UI:BeginMultiPageMenu(24, 24, 196, &amp;quot;All Choices&amp;quot;, choices, 8, 1, #choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local entry = choices[UI:ChoiceResult()]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the result of the last choice menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The result of the choice&lt;br /&gt;
&lt;br /&gt;
== UI:GetChoiceAction(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s complicated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== UI:WaitForChoice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set choice menu and waits for the player&#039;s selection to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;br /&gt;
[[Category:Quick Reference]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Lua_Conversion_Guide&amp;diff=1673</id>
		<title>Tutorial:Lua Conversion Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Lua_Conversion_Guide&amp;diff=1673"/>
		<updated>2023-08-30T23:26:07Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While writing your own custom Lua scripts, there could be several instances where you might replicate the engine source code and modify it from there. However, it can be tricky translating C# into Lua, especially with C# methods and classes involving generics. &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
Below are some C# to Lua conversion cases you might encounter:&lt;br /&gt;
&lt;br /&gt;
=== Calling C# Enum ===&lt;br /&gt;
&lt;br /&gt;
==== [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Dirs.cs#L36, Dir8] ====&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dir8 dir = Dir8.DownLeft;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local dir = RogueElements.Dir8.DownLeft&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notice how RogueElements is prepended in the Lua implementation. This is because it is located under the RogueElements [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Dirs.cs#L11, namespace]. &#039;&#039;&#039;This is essential to keep notice when working with the engine&#039;s C# classes.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Creating C# Class ===&lt;br /&gt;
&lt;br /&gt;
==== [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Loc.cs#L11, Loc] ====&lt;br /&gt;
&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Loc origin = new Loc(10, 10);&lt;br /&gt;
Loc origin2 = new Loc(25);&lt;br /&gt;
Console.WriteLine(origin.X);&lt;br /&gt;
Console.WriteLine(Loc.Dot(origin, origin2));&lt;br /&gt;
Console.WriteLine(origin2.ToString());&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local origin = RogueElements.Loc(10, 10)&lt;br /&gt;
local origin2 = RogueElements.Loc(25)&lt;br /&gt;
PrintInfo(tostring(origin.X))&lt;br /&gt;
PrintInfo(tostring(RogueElements.Loc.Dot(origin, origin2)))&lt;br /&gt;
PrintInfo(origin:ToString())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note that you can call any of the class&#039;s [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Loc.cs#L21-L31, constructor]&lt;br /&gt;
* In Lua, you can access a class [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Loc.cs#L18, member variable] through the &amp;quot;.&amp;quot; operator&lt;br /&gt;
* You also use the &amp;quot;.&amp;quot; operator for [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Loc.cs#L119C27-L119C30, static methods]&lt;br /&gt;
* To call a [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Loc.cs#L188C32-L188C42, class method] (not static) is different. You use the &amp;quot;:&amp;quot; operator in Lua instead &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Calling C# Generic Method ===&lt;br /&gt;
&lt;br /&gt;
==== [https://github.com/RogueCollab/RogueEssence/blob/9d86c78c282f1104038582be9e789655b323a55d/RogueEssence/Dungeon/GameEffects/StateCollection.cs#L38, StateCollections::GetWithDefault&amp;lt;K&amp;gt;] ====&lt;br /&gt;
&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AbilityLearnContext learn = context.ContextStates.GetWithDefault&amp;lt;AbilityLearnContext&amp;gt;();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AbilityLearnContextType = luanet.import_type(&#039;PMDC.Dungeon.AbilityLearnContext&#039;)&lt;br /&gt;
local learn = context.ContextStates:GetWithDefault(luanet.ctype(AbilityLearnContextType))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notice that in Lua, you have to import the type directly using luanet.import_type. &lt;br /&gt;
* It is also important to note that PMDC.Dungeon is prepended because [https://github.com/PMDCollab/PMDC/blob/266ea426dbc5243432bc0d45a4992b88985a09dc/PMDC/Dungeon/GameEffects/ContextState.cs#L440, AbilityLearnContext] is located at under the namespace [https://github.com/PMDCollab/PMDC/blob/266ea426dbc5243432bc0d45a4992b88985a09dc/PMDC/Dungeon/GameEffects/ContextState.cs#L9C4-L9C4, here].&lt;br /&gt;
&lt;br /&gt;
==== [https://github.com/RogueCollab/RogueEssence/blob/54b9be4cc0354dcbb0e4c8a9d021d3dac93f5be9/RogueEssence/Dungeon/GameEffects/GameContext.cs#L52-L63, GameContext::GetContextStateInt&amp;lt;T&amp;gt;(int)] ====&lt;br /&gt;
C#&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int contextVal = context.GetContextStateInt&amp;lt;TargetAtkBoost&amp;gt;(0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TargetAtkBoostType = luanet.import_type(&#039;PMDC.Dungeon.TargetAtkBoost&#039;)&lt;br /&gt;
local context_val = context:GetContextStateInt(luanet.ctype(TargetAtkBoostType), 0)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a Generic C# Class===&lt;br /&gt;
&lt;br /&gt;
==== [https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1.-ctor?view=net-7.0, List&amp;lt;T&amp;gt;] ====&lt;br /&gt;
&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
List&amp;lt;MobSpawn&amp;gt; allSpawns = new List&amp;lt;MobSpawn&amp;gt;();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ListType = luanet.import_type(&#039;System.Collections.Generic.List`1&#039;)&lt;br /&gt;
MobSpawnType = luanet.import_type(&#039;RogueEssence.LevelGen.MobSpawn&#039;)&lt;br /&gt;
local all_spawns = LUA_ENGINE:MakeGenericType( ListType, { MobSpawnType }, { })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [https://github.com/RogueCollab/RogueEssence/blob/9d86c78c282f1104038582be9e789655b323a55d/RogueEssence/LevelGen/Spawning/PlaceMobsStep/PlaceEntranceMobsStep.cs#L14C18-L14C18, PlaceEntranceMobsStep&amp;lt;T, TEntrance&amp;gt;] ====&lt;br /&gt;
&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SpecificTeamSpawner specificTeam = SpecificTeamSpawner();&lt;br /&gt;
MobSpawn postMob = MobSpawn();&lt;br /&gt;
postMob.BaseForm = MonsterID(&amp;quot;oshawott&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Unknown);&lt;br /&gt;
postMob.Tactic = &amp;quot;boss&amp;quot;;&lt;br /&gt;
mostMob.Level = RandRange(50);&lt;br /&gt;
specificTeam.Spawns.Add(postMob);&lt;br /&gt;
PresetMultiTeamSpawner picker = new PresetMultiTeamSpawner&amp;lt;MapGenContext&amp;gt;();&lt;br /&gt;
picker.Spawns.Add(specificTeam);&lt;br /&gt;
PlaceEntranceMobsStep mobPlacement = new PlaceEntranceMobsStep&amp;lt;MapGenContext, MapGenEntrance&amp;gt;(picker);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PresetMultiTeamSpawnerType = luanet.import_type(&#039;RogueEssence.LevelGen.PresetMultiTeamSpawner`1&#039;)&lt;br /&gt;
EntranceType = luanet.import_type(&#039;RogueEssence.LevelGen.MapGenEntrance&#039;)&lt;br /&gt;
PlaceEntranceMobsStepType = luanet.import_type(&#039;RogueEssence.LevelGen.PlaceEntranceMobsStep`2&#039;)&lt;br /&gt;
MapGenContextType = luanet.import_type(&#039;RogueEssence.LevelGen.ListMapGenContext&#039;)&lt;br /&gt;
&lt;br /&gt;
local specific_team = RogueEssence.LevelGen.SpecificTeamSpawner()&lt;br /&gt;
local post_mob = RogueEssence.LevelGen.MobSpawn()&lt;br /&gt;
post_mob.BaseForm = RogueEssence.Dungeon.MonsterID(&amp;quot;oshawott&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Unknown)&lt;br /&gt;
post_mob.Tactic = &amp;quot;boss&amp;quot;&lt;br /&gt;
post_mob.Level = RogueElements.RandRange(50)&lt;br /&gt;
specific_team.Spawns:Add(post_mob)&lt;br /&gt;
local picker = LUA_ENGINE:MakeGenericType(PresetMultiTeamSpawnerType, { MapGenContextType }, { })&lt;br /&gt;
picker.Spawns:Add(specific_team)&lt;br /&gt;
local mob_placement = LUA_ENGINE:MakeGenericType(PlaceEntranceMobsStepType, { MapGenContextType, EntranceType }, { picker })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notice the `1 and `2 appended at the end of the import_type. These represent how many generics the class requires. &lt;br /&gt;
* The [https://github.com/RogueCollab/RogueEssence/blob/9d86c78c282f1104038582be9e789655b323a55d/RogueEssence/Lua/LuaEngine.cs#L1624, LUA_ENGINE:MakeGenericType] method takes in three parameters:&lt;br /&gt;
** The 1st parameter is what generic type to create&lt;br /&gt;
** The 2nd parameter is a table of types necessary to create the generic type&lt;br /&gt;
** The 3rd parameter is a table of values that is called with the constructor of the generic type&lt;br /&gt;
&lt;br /&gt;
== Source Code Conversion Example ==&lt;br /&gt;
=== [https://github.com/PMDCollab/PMDC/blob/266ea426dbc5243432bc0d45a4992b88985a09dc/PMDC/Dungeon/GameEffects/SingleCharEvent.cs#L1820, LeechSeedEvent] ===&lt;br /&gt;
&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public override IEnumerator&amp;lt;YieldInstruction&amp;gt; Apply(GameEventOwner owner, Character ownerChar, SingleCharContext context)&lt;br /&gt;
{&lt;br /&gt;
  if (context.User.CharStates.Contains&amp;lt;MagicGuardState&amp;gt;())&lt;br /&gt;
      yield break;&lt;br /&gt;
          &lt;br /&gt;
  //check for someone within 4 tiles away; if there&#039;s no one, then remove the status&lt;br /&gt;
  List&amp;lt;Character&amp;gt; targets = AreaAction.GetTargetsInArea(context.User, context.User.CharLoc, Alignment.Foe, 4);&lt;br /&gt;
  int lowestDist = Int32.MaxValue;&lt;br /&gt;
  Character target = null;&lt;br /&gt;
  for (int ii = 0; ii &amp;lt; targets.Count; ii++)&lt;br /&gt;
  {&lt;br /&gt;
    int newDist = (targets[ii].CharLoc - context.User.CharLoc).DistSquared();&lt;br /&gt;
    if (newDist &amp;lt; lowestDist)&lt;br /&gt;
    {&lt;br /&gt;
        target = targets[ii];&lt;br /&gt;
        lowestDist = newDist;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (target == null)&lt;br /&gt;
    yield return CoroutineManager.Instance.StartCoroutine(context.User.RemoveStatusEffect(((StatusEffect)owner).ID));&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    int seeddmg = Math.Max(1, context.User.MaxHP / 12);&lt;br /&gt;
&lt;br /&gt;
    DungeonScene.Instance.LogMsg(Text.FormatGrammar(new StringKey(&amp;quot;MSG_LEECH_SEED&amp;quot;).ToLocal(), context.User.GetDisplayName(false)));&lt;br /&gt;
    &lt;br /&gt;
    GameManager.Instance.BattleSE(&amp;quot;DUN_Hit_Neutral&amp;quot;);&lt;br /&gt;
    if (!context.User.Unidentifiable)&lt;br /&gt;
    {&lt;br /&gt;
        SingleEmitter endEmitter = new SingleEmitter(new AnimData(&amp;quot;Hit_Neutral&amp;quot;, 3));&lt;br /&gt;
        endEmitter.SetupEmit(context.User.MapLoc, context.User.MapLoc, context.User.CharDir);&lt;br /&gt;
        DungeonScene.Instance.CreateAnim(endEmitter, DrawLayer.NoDraw);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    yield return CoroutineManager.Instance.StartCoroutine(context.User.InflictDamage(seeddmg, false));&lt;br /&gt;
&lt;br /&gt;
    if (context.User.CharStates.Contains&amp;lt;DrainDamageState&amp;gt;())&lt;br /&gt;
    {&lt;br /&gt;
        GameManager.Instance.BattleSE(&amp;quot;DUN_Toxic&amp;quot;);&lt;br /&gt;
        DungeonScene.Instance.LogMsg(Text.FormatGrammar(new StringKey(&amp;quot;MSG_LIQUID_OOZE&amp;quot;).ToLocal(), target.GetDisplayName(false)));&lt;br /&gt;
        yield return CoroutineManager.Instance.StartCoroutine(target.InflictDamage(seeddmg * 4, false));&lt;br /&gt;
    }&lt;br /&gt;
    else if (target.HP &amp;lt; target.MaxHP)&lt;br /&gt;
    {&lt;br /&gt;
        yield return CoroutineManager.Instance.StartCoroutine(target.RestoreHP(seeddmg, false));&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SINGLE_CHAR_SCRIPT = {}&lt;br /&gt;
DrainDamageStateType = luanet.import_type(&#039;PMDC.Dungeon.DrainDamageState&#039;)&lt;br /&gt;
MagicGuardStateType = luanet.import_type(&#039;PMDC.Dungeon.MagicGuardState&#039;)&lt;br /&gt;
&lt;br /&gt;
function SINGLE_CHAR_SCRIPT.LeechSeedEvent(owner, ownerChar, context, args)&lt;br /&gt;
  if context.User.CharStates:Contains(luanet.ctype(MagicGuardStateType)) then&lt;br /&gt;
    return&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  local targets = RogueEssence.Dungeon.AreaAction.GetTargetsInArea(context.User, context.User.CharLoc, RogueEssence.Dungeon.Alignment.Foe, 4)&lt;br /&gt;
  local lowestDist = 10000&lt;br /&gt;
  local target = nil&lt;br /&gt;
  for ii = 0, targets.Count - 1, 1 do&lt;br /&gt;
    local newDist = (targets[ii].CharLoc - context.User.CharLoc):DistSquared()&lt;br /&gt;
    if newDist &amp;lt; lowestDist then&lt;br /&gt;
      target = targets[ii]&lt;br /&gt;
      lowestDist = newDist&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  if target == nil then&lt;br /&gt;
    TASK:WaitTask(context.User:RemoveStatusEffect(owner:GetID()))&lt;br /&gt;
    return&lt;br /&gt;
  else&lt;br /&gt;
    local seeddmg = math.max(1, context.User.MaxHP / 12)&lt;br /&gt;
    _DUNGEON:LogMsg(STRINGS:Format(RogueEssence.StringKey(&amp;quot;MSG_LEECH_SEED&amp;quot;):ToLocal(), context.User:GetDisplayName(false)))&lt;br /&gt;
    SOUND:PlayBattleSE(&#039;DUN_Hit_Neutral&#039;)&lt;br /&gt;
    if not context.User.Unidentifiable then&lt;br /&gt;
      local endEmitter = RogueEssence.Content.SingleEmitter(RogueEssence.Content.AnimData(&amp;quot;Hit_Neutral&amp;quot;, 3))&lt;br /&gt;
      endEmitter:SetupEmit(context.User.MapLoc, context.User.MapLoc, context.User.CharDir)&lt;br /&gt;
      _DUNGEON:CreateAnim(endEmitter, RogueEssence.Content.DrawLayer.NoDraw)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    TASK:WaitTask(context.User:InflictDamage(seeddmg, false))&lt;br /&gt;
    if context.User.CharStates:Contains(luanet.ctype(MagicGuardStateType)) then&lt;br /&gt;
      SOUND:PlayBattleSE(&#039;DUN_Toxic&#039;)&lt;br /&gt;
      _DUNGEON:LogMsg(STRINGS:Format(RogueEssence.StringKey(&amp;quot;MSG_LIQUID_OOZE&amp;quot;):ToLocal(), target:GetDisplayName(false)))&lt;br /&gt;
      TASK:WaitTask(target:InflictDamage(seeddmg * 4, false))&lt;br /&gt;
    elseif target.HP &amp;lt; target.MaxHP then&lt;br /&gt;
      TASK:WaitTask(target:RestoreHP(seeddmg, false))&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This concludes converting Lua to C# code! Knowing how and when to call and use the source engine&#039;s classes, methods, and enums allows you write more complex battle events beyond the Dev menu!&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding Data]]&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Lua_Conversion_Guide&amp;diff=1672</id>
		<title>Tutorial:Lua Conversion Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Lua_Conversion_Guide&amp;diff=1672"/>
		<updated>2023-08-30T23:25:24Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While writing your own custom Lua scripts, there could be several instances where you might replicate the engine source code and modify it from there. However, it can be tricky translating C# into Lua, especially with C# methods and classes involving generics. &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
Below are some C# to Lua conversion cases you might encounter:&lt;br /&gt;
&lt;br /&gt;
=== Calling C# Enum ===&lt;br /&gt;
&lt;br /&gt;
==== [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Dirs.cs#L36, Dir8] ====&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dir8 dir = Dir8.DownLeft;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local dir = RogueElements.Dir8.DownLeft&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notice how RogueElements is prepended in the Lua implementation. This is because it is located under the RogueElements [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Dirs.cs#L11, namespace]. &#039;&#039;&#039;This is essential to keep notice when working with the engine&#039;s C# classes.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Creating C# Class ===&lt;br /&gt;
&lt;br /&gt;
==== [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Loc.cs#L11, Loc] ====&lt;br /&gt;
&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Loc origin = new Loc(10, 10);&lt;br /&gt;
Loc origin2 = new Loc(25);&lt;br /&gt;
Console.WriteLine(origin.X);&lt;br /&gt;
Console.WriteLine(Loc.Dot(origin, origin2));&lt;br /&gt;
Console.WriteLine(origin2.ToString());&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local origin = RogueElements.Loc(10, 10)&lt;br /&gt;
local origin2 = RogueElements.Loc(25)&lt;br /&gt;
PrintInfo(tostring(origin.X))&lt;br /&gt;
PrintInfo(tostring(RogueElements.Loc.Dot(origin, origin2)))&lt;br /&gt;
PrintInfo(origin:ToString())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note that you can call any of the class&#039;s [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Loc.cs#L21-L31, constructor]&lt;br /&gt;
* In Lua, you can access a class [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Loc.cs#L18, member variable] through the &amp;quot;.&amp;quot; operator&lt;br /&gt;
* You also use the &amp;quot;.&amp;quot; operator for [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Loc.cs#L119C27-L119C30, static methods]&lt;br /&gt;
* To call a [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Loc.cs#L188C32-L188C42, class method] (not static) is different. You use the &amp;quot;:&amp;quot; operator in Lua instead &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Calling C# Generic Method ===&lt;br /&gt;
&lt;br /&gt;
==== [https://github.com/RogueCollab/RogueEssence/blob/9d86c78c282f1104038582be9e789655b323a55d/RogueEssence/Dungeon/GameEffects/StateCollection.cs#L38, StateCollections::GetWithDefault&amp;lt;K&amp;gt;] ====&lt;br /&gt;
&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AbilityLearnContext learn = context.ContextStates.GetWithDefault&amp;lt;AbilityLearnContext&amp;gt;();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AbilityLearnContextType = luanet.import_type(&#039;PMDC.Dungeon.AbilityLearnContext&#039;)&lt;br /&gt;
local learn = context.ContextStates:GetWithDefault(luanet.ctype(AbilityLearnContextType))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notice that in Lua, you have to import the type directly using luanet.import_type. &lt;br /&gt;
* It is also important to note that PMDC.Dungeon is prepended because [https://github.com/PMDCollab/PMDC/blob/266ea426dbc5243432bc0d45a4992b88985a09dc/PMDC/Dungeon/GameEffects/ContextState.cs#L440, AbilityLearnContext] is located at under the namespace [https://github.com/PMDCollab/PMDC/blob/266ea426dbc5243432bc0d45a4992b88985a09dc/PMDC/Dungeon/GameEffects/ContextState.cs#L9C4-L9C4, here].&lt;br /&gt;
&lt;br /&gt;
==== [https://github.com/RogueCollab/RogueEssence/blob/54b9be4cc0354dcbb0e4c8a9d021d3dac93f5be9/RogueEssence/Dungeon/GameEffects/GameContext.cs#L52-L63, GameContext::GetContextStateInt&amp;lt;T&amp;gt;(int)] ====&lt;br /&gt;
C#&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int contextVal = context.GetContextStateInt&amp;lt;TargetAtkBoost&amp;gt;(0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TargetAtkBoostType = luanet.import_type(&#039;PMDC.Dungeon.TargetAtkBoost&#039;)&lt;br /&gt;
local context_val = context:GetContextStateInt(luanet.ctype(TargetAtkBoostType), 0)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a Generic C# Class===&lt;br /&gt;
&lt;br /&gt;
==== [https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1.-ctor?view=net-7.0, List&amp;lt;T&amp;gt;] ====&lt;br /&gt;
&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
List&amp;lt;MobSpawn&amp;gt; allSpawns = new List&amp;lt;MobSpawn&amp;gt;();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MobSpawnType = luanet.import_type(&#039;RogueEssence.LevelGen.MobSpawn&#039;)&lt;br /&gt;
local all_spawns = LUA_ENGINE:MakeGenericType( ListType, { MobSpawnType }, { })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [https://github.com/RogueCollab/RogueEssence/blob/9d86c78c282f1104038582be9e789655b323a55d/RogueEssence/LevelGen/Spawning/PlaceMobsStep/PlaceEntranceMobsStep.cs#L14C18-L14C18, PlaceEntranceMobsStep&amp;lt;T, TEntrance&amp;gt;] ====&lt;br /&gt;
&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SpecificTeamSpawner specificTeam = SpecificTeamSpawner();&lt;br /&gt;
MobSpawn postMob = MobSpawn();&lt;br /&gt;
postMob.BaseForm = MonsterID(&amp;quot;oshawott&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Unknown);&lt;br /&gt;
postMob.Tactic = &amp;quot;boss&amp;quot;;&lt;br /&gt;
mostMob.Level = RandRange(50);&lt;br /&gt;
specificTeam.Spawns.Add(postMob);&lt;br /&gt;
PresetMultiTeamSpawner picker = new PresetMultiTeamSpawner&amp;lt;MapGenContext&amp;gt;();&lt;br /&gt;
picker.Spawns.Add(specificTeam);&lt;br /&gt;
PlaceEntranceMobsStep mobPlacement = new PlaceEntranceMobsStep&amp;lt;MapGenContext, MapGenEntrance&amp;gt;(picker);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PresetMultiTeamSpawnerType = luanet.import_type(&#039;RogueEssence.LevelGen.PresetMultiTeamSpawner`1&#039;)&lt;br /&gt;
EntranceType = luanet.import_type(&#039;RogueEssence.LevelGen.MapGenEntrance&#039;)&lt;br /&gt;
PlaceEntranceMobsStepType = luanet.import_type(&#039;RogueEssence.LevelGen.PlaceEntranceMobsStep`2&#039;)&lt;br /&gt;
MapGenContextType = luanet.import_type(&#039;RogueEssence.LevelGen.ListMapGenContext&#039;)&lt;br /&gt;
&lt;br /&gt;
local specific_team = RogueEssence.LevelGen.SpecificTeamSpawner()&lt;br /&gt;
local post_mob = RogueEssence.LevelGen.MobSpawn()&lt;br /&gt;
post_mob.BaseForm = RogueEssence.Dungeon.MonsterID(&amp;quot;oshawott&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Unknown)&lt;br /&gt;
post_mob.Tactic = &amp;quot;boss&amp;quot;&lt;br /&gt;
post_mob.Level = RogueElements.RandRange(50)&lt;br /&gt;
specific_team.Spawns:Add(post_mob)&lt;br /&gt;
local picker = LUA_ENGINE:MakeGenericType(PresetMultiTeamSpawnerType, { MapGenContextType }, { })&lt;br /&gt;
picker.Spawns:Add(specific_team)&lt;br /&gt;
local mob_placement = LUA_ENGINE:MakeGenericType(PlaceEntranceMobsStepType, { MapGenContextType, EntranceType }, { picker })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notice the `1 and `2 appended at the end of the import_type. These represent how many generics the class requires. &lt;br /&gt;
* The [https://github.com/RogueCollab/RogueEssence/blob/9d86c78c282f1104038582be9e789655b323a55d/RogueEssence/Lua/LuaEngine.cs#L1624, LUA_ENGINE:MakeGenericType] method takes in three parameters:&lt;br /&gt;
** The 1st parameter is what generic type to create&lt;br /&gt;
** The 2nd parameter is a table of types necessary to create the generic type&lt;br /&gt;
** The 3rd parameter is a table of values that is called with the constructor of the generic type&lt;br /&gt;
&lt;br /&gt;
== Source Code Conversion Example ==&lt;br /&gt;
=== [https://github.com/PMDCollab/PMDC/blob/266ea426dbc5243432bc0d45a4992b88985a09dc/PMDC/Dungeon/GameEffects/SingleCharEvent.cs#L1820, LeechSeedEvent] ===&lt;br /&gt;
&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public override IEnumerator&amp;lt;YieldInstruction&amp;gt; Apply(GameEventOwner owner, Character ownerChar, SingleCharContext context)&lt;br /&gt;
{&lt;br /&gt;
  if (context.User.CharStates.Contains&amp;lt;MagicGuardState&amp;gt;())&lt;br /&gt;
      yield break;&lt;br /&gt;
          &lt;br /&gt;
  //check for someone within 4 tiles away; if there&#039;s no one, then remove the status&lt;br /&gt;
  List&amp;lt;Character&amp;gt; targets = AreaAction.GetTargetsInArea(context.User, context.User.CharLoc, Alignment.Foe, 4);&lt;br /&gt;
  int lowestDist = Int32.MaxValue;&lt;br /&gt;
  Character target = null;&lt;br /&gt;
  for (int ii = 0; ii &amp;lt; targets.Count; ii++)&lt;br /&gt;
  {&lt;br /&gt;
    int newDist = (targets[ii].CharLoc - context.User.CharLoc).DistSquared();&lt;br /&gt;
    if (newDist &amp;lt; lowestDist)&lt;br /&gt;
    {&lt;br /&gt;
        target = targets[ii];&lt;br /&gt;
        lowestDist = newDist;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (target == null)&lt;br /&gt;
    yield return CoroutineManager.Instance.StartCoroutine(context.User.RemoveStatusEffect(((StatusEffect)owner).ID));&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    int seeddmg = Math.Max(1, context.User.MaxHP / 12);&lt;br /&gt;
&lt;br /&gt;
    DungeonScene.Instance.LogMsg(Text.FormatGrammar(new StringKey(&amp;quot;MSG_LEECH_SEED&amp;quot;).ToLocal(), context.User.GetDisplayName(false)));&lt;br /&gt;
    &lt;br /&gt;
    GameManager.Instance.BattleSE(&amp;quot;DUN_Hit_Neutral&amp;quot;);&lt;br /&gt;
    if (!context.User.Unidentifiable)&lt;br /&gt;
    {&lt;br /&gt;
        SingleEmitter endEmitter = new SingleEmitter(new AnimData(&amp;quot;Hit_Neutral&amp;quot;, 3));&lt;br /&gt;
        endEmitter.SetupEmit(context.User.MapLoc, context.User.MapLoc, context.User.CharDir);&lt;br /&gt;
        DungeonScene.Instance.CreateAnim(endEmitter, DrawLayer.NoDraw);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    yield return CoroutineManager.Instance.StartCoroutine(context.User.InflictDamage(seeddmg, false));&lt;br /&gt;
&lt;br /&gt;
    if (context.User.CharStates.Contains&amp;lt;DrainDamageState&amp;gt;())&lt;br /&gt;
    {&lt;br /&gt;
        GameManager.Instance.BattleSE(&amp;quot;DUN_Toxic&amp;quot;);&lt;br /&gt;
        DungeonScene.Instance.LogMsg(Text.FormatGrammar(new StringKey(&amp;quot;MSG_LIQUID_OOZE&amp;quot;).ToLocal(), target.GetDisplayName(false)));&lt;br /&gt;
        yield return CoroutineManager.Instance.StartCoroutine(target.InflictDamage(seeddmg * 4, false));&lt;br /&gt;
    }&lt;br /&gt;
    else if (target.HP &amp;lt; target.MaxHP)&lt;br /&gt;
    {&lt;br /&gt;
        yield return CoroutineManager.Instance.StartCoroutine(target.RestoreHP(seeddmg, false));&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SINGLE_CHAR_SCRIPT = {}&lt;br /&gt;
DrainDamageStateType = luanet.import_type(&#039;PMDC.Dungeon.DrainDamageState&#039;)&lt;br /&gt;
MagicGuardStateType = luanet.import_type(&#039;PMDC.Dungeon.MagicGuardState&#039;)&lt;br /&gt;
&lt;br /&gt;
function SINGLE_CHAR_SCRIPT.LeechSeedEvent(owner, ownerChar, context, args)&lt;br /&gt;
  if context.User.CharStates:Contains(luanet.ctype(MagicGuardStateType)) then&lt;br /&gt;
    return&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  local targets = RogueEssence.Dungeon.AreaAction.GetTargetsInArea(context.User, context.User.CharLoc, RogueEssence.Dungeon.Alignment.Foe, 4)&lt;br /&gt;
  local lowestDist = 10000&lt;br /&gt;
  local target = nil&lt;br /&gt;
  for ii = 0, targets.Count - 1, 1 do&lt;br /&gt;
    local newDist = (targets[ii].CharLoc - context.User.CharLoc):DistSquared()&lt;br /&gt;
    if newDist &amp;lt; lowestDist then&lt;br /&gt;
      target = targets[ii]&lt;br /&gt;
      lowestDist = newDist&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  if target == nil then&lt;br /&gt;
    TASK:WaitTask(context.User:RemoveStatusEffect(owner:GetID()))&lt;br /&gt;
    return&lt;br /&gt;
  else&lt;br /&gt;
    local seeddmg = math.max(1, context.User.MaxHP / 12)&lt;br /&gt;
    _DUNGEON:LogMsg(STRINGS:Format(RogueEssence.StringKey(&amp;quot;MSG_LEECH_SEED&amp;quot;):ToLocal(), context.User:GetDisplayName(false)))&lt;br /&gt;
    SOUND:PlayBattleSE(&#039;DUN_Hit_Neutral&#039;)&lt;br /&gt;
    if not context.User.Unidentifiable then&lt;br /&gt;
      local endEmitter = RogueEssence.Content.SingleEmitter(RogueEssence.Content.AnimData(&amp;quot;Hit_Neutral&amp;quot;, 3))&lt;br /&gt;
      endEmitter:SetupEmit(context.User.MapLoc, context.User.MapLoc, context.User.CharDir)&lt;br /&gt;
      _DUNGEON:CreateAnim(endEmitter, RogueEssence.Content.DrawLayer.NoDraw)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    TASK:WaitTask(context.User:InflictDamage(seeddmg, false))&lt;br /&gt;
    if context.User.CharStates:Contains(luanet.ctype(MagicGuardStateType)) then&lt;br /&gt;
      SOUND:PlayBattleSE(&#039;DUN_Toxic&#039;)&lt;br /&gt;
      _DUNGEON:LogMsg(STRINGS:Format(RogueEssence.StringKey(&amp;quot;MSG_LIQUID_OOZE&amp;quot;):ToLocal(), target:GetDisplayName(false)))&lt;br /&gt;
      TASK:WaitTask(target:InflictDamage(seeddmg * 4, false))&lt;br /&gt;
    elseif target.HP &amp;lt; target.MaxHP then&lt;br /&gt;
      TASK:WaitTask(target:RestoreHP(seeddmg, false))&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This concludes converting Lua to C# code! Knowing how and when to call and use the source engine&#039;s classes, methods, and enums allows you write more complex battle events beyond the Dev menu!&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding Data]]&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Lua_Conversion_Guide&amp;diff=1671</id>
		<title>Tutorial:Lua Conversion Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Lua_Conversion_Guide&amp;diff=1671"/>
		<updated>2023-08-30T21:48:13Z</updated>

		<summary type="html">&lt;p&gt;Trio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While writing your own custom Lua scripts, there could be several instances where you might replicate the engine source code and modify it from there. However, it can be tricky translating C# into Lua, especially with C# methods and classes involving generics. &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
Below are some C# to Lua conversion cases you might encounter:&lt;br /&gt;
&lt;br /&gt;
=== Calling C# Enum ===&lt;br /&gt;
&lt;br /&gt;
==== [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Dirs.cs#L36, Dir8] ====&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dir8 dir = Dir8.DownLeft;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local dir = RogueElements.Dir8.DownLeft&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notice how RogueElements is prepended in the Lua implementation. This is because it is located under the RogueElements [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Dirs.cs#L11, namespace]. &#039;&#039;&#039;This is essential to keep notice when working with the engine&#039;s C# classes.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Creating C# Class ===&lt;br /&gt;
&lt;br /&gt;
==== [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Loc.cs#L11, Loc] ====&lt;br /&gt;
&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Loc origin = new Loc(10, 10);&lt;br /&gt;
Loc origin2 = new Loc(25);&lt;br /&gt;
Console.WriteLine(origin.X);&lt;br /&gt;
Console.WriteLine(Loc.Dot(origin, origin2));&lt;br /&gt;
Console.WriteLine(origin2.ToString());&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local origin = RogueElements.Loc(10, 10)&lt;br /&gt;
local origin2 = RogueElements.Loc(25)&lt;br /&gt;
PrintInfo(tostring(origin.X))&lt;br /&gt;
PrintInfo(tostring(RogueElements.Loc.Dot(origin, origin2)))&lt;br /&gt;
PrintInfo(origin:ToString())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Note that you can call any of the class&#039;s [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Loc.cs#L21-L31, constructor]&lt;br /&gt;
* In Lua, you can access a class [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Loc.cs#L18, member variable] through the &amp;quot;.&amp;quot; operator&lt;br /&gt;
* You also use the &amp;quot;.&amp;quot; operator for [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Loc.cs#L119C27-L119C30, static methods]&lt;br /&gt;
* To call a [https://github.com/audinowho/RogueElements/blob/225fc028d31b285c609d4b7cbf3b4deb88045e02/RogueElements/Loc.cs#L188C32-L188C42, class method] (not static) is different. You use the &amp;quot;:&amp;quot; operator in Lua instead &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Calling C# Generic Method ===&lt;br /&gt;
&lt;br /&gt;
==== [https://github.com/RogueCollab/RogueEssence/blob/9d86c78c282f1104038582be9e789655b323a55d/RogueEssence/Dungeon/GameEffects/StateCollection.cs#L38, StateCollections::GetWithDefault&amp;lt;K&amp;gt;] ====&lt;br /&gt;
&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AbilityLearnContext learn = context.ContextStates.GetWithDefault&amp;lt;AbilityLearnContext&amp;gt;();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AbilityLearnContextType = luanet.import_type(&#039;PMDC.Dungeon.AbilityLearnContext&#039;)&lt;br /&gt;
local learn = context.ContextStates:GetWithDefault(luanet.ctype(AbilityLearnContextType))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notice that in Lua, you have to import the type directly using luanet.import_type. &lt;br /&gt;
* It is also important to note that PMDC.Dungeon is prepended because [https://github.com/PMDCollab/PMDC/blob/266ea426dbc5243432bc0d45a4992b88985a09dc/PMDC/Dungeon/GameEffects/ContextState.cs#L440, AbilityLearnContext] is located at under the namespace [https://github.com/PMDCollab/PMDC/blob/266ea426dbc5243432bc0d45a4992b88985a09dc/PMDC/Dungeon/GameEffects/ContextState.cs#L9C4-L9C4, here].&lt;br /&gt;
&lt;br /&gt;
==== [https://github.com/RogueCollab/RogueEssence/blob/54b9be4cc0354dcbb0e4c8a9d021d3dac93f5be9/RogueEssence/Dungeon/GameEffects/GameContext.cs#L52-L63, GameContext::GetContextStateInt&amp;lt;T&amp;gt;(int)] ====&lt;br /&gt;
C#&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int contextVal = context.GetContextStateInt&amp;lt;TargetAtkBoost&amp;gt;(0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TargetAtkBoostType = luanet.import_type(&#039;PMDC.Dungeon.TargetAtkBoost&#039;)&lt;br /&gt;
local context_val = context:GetContextStateInt(luanet.ctype(TargetAtkBoostType), 0)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create a Generic C# Class===&lt;br /&gt;
&lt;br /&gt;
==== [https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1.-ctor?view=net-7.0, List&amp;lt;T&amp;gt;] ====&lt;br /&gt;
&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
List&amp;lt;MobSpawn&amp;gt; allSpawns = new List&amp;lt;MobSpawn&amp;gt;();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local all_spawns = LUA_ENGINE:MakeGenericType( ListType, { MobSpawnType }, { })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [https://github.com/RogueCollab/RogueEssence/blob/9d86c78c282f1104038582be9e789655b323a55d/RogueEssence/LevelGen/Spawning/PlaceMobsStep/PlaceEntranceMobsStep.cs#L14C18-L14C18, PlaceEntranceMobsStep&amp;lt;T, TEntrance&amp;gt;] ====&lt;br /&gt;
&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SpecificTeamSpawner specificTeam = SpecificTeamSpawner();&lt;br /&gt;
MobSpawn postMob = MobSpawn();&lt;br /&gt;
postMob.BaseForm = MonsterID(&amp;quot;oshawott&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Unknown);&lt;br /&gt;
postMob.Tactic = &amp;quot;boss&amp;quot;;&lt;br /&gt;
mostMob.Level = RandRange(50);&lt;br /&gt;
specificTeam.Spawns.Add(postMob);&lt;br /&gt;
PresetMultiTeamSpawner picker = new PresetMultiTeamSpawner&amp;lt;MapGenContext&amp;gt;();&lt;br /&gt;
picker.Spawns.Add(specificTeam);&lt;br /&gt;
PlaceEntranceMobsStep mobPlacement = new PlaceEntranceMobsStep&amp;lt;MapGenContext, MapGenEntrance&amp;gt;(picker);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PresetMultiTeamSpawnerType = luanet.import_type(&#039;RogueEssence.LevelGen.PresetMultiTeamSpawner`1&#039;)&lt;br /&gt;
EntranceType = luanet.import_type(&#039;RogueEssence.LevelGen.MapGenEntrance&#039;)&lt;br /&gt;
PlaceEntranceMobsStepType = luanet.import_type(&#039;RogueEssence.LevelGen.PlaceEntranceMobsStep`2&#039;)&lt;br /&gt;
MapGenContextType = luanet.import_type(&#039;RogueEssence.LevelGen.ListMapGenContext&#039;)&lt;br /&gt;
&lt;br /&gt;
local specific_team = RogueEssence.LevelGen.SpecificTeamSpawner()&lt;br /&gt;
local post_mob = RogueEssence.LevelGen.MobSpawn()&lt;br /&gt;
post_mob.BaseForm = RogueEssence.Dungeon.MonsterID(&amp;quot;oshawott&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Unknown)&lt;br /&gt;
post_mob.Tactic = &amp;quot;boss&amp;quot;&lt;br /&gt;
post_mob.Level = RogueElements.RandRange(50)&lt;br /&gt;
specific_team.Spawns:Add(post_mob)&lt;br /&gt;
local picker = LUA_ENGINE:MakeGenericType(PresetMultiTeamSpawnerType, { MapGenContextType }, { })&lt;br /&gt;
picker.Spawns:Add(specific_team)&lt;br /&gt;
local mob_placement = LUA_ENGINE:MakeGenericType(PlaceEntranceMobsStepType, { MapGenContextType, EntranceType }, { picker })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Notice the `1 and `2 appended at the end of the import_type. These represent how many generics the class requires. &lt;br /&gt;
* The [https://github.com/RogueCollab/RogueEssence/blob/9d86c78c282f1104038582be9e789655b323a55d/RogueEssence/Lua/LuaEngine.cs#L1624, LUA_ENGINE:MakeGenericType] method takes in three parameters:&lt;br /&gt;
** The 1st parameter is what generic type to create&lt;br /&gt;
** The 2nd parameter is a table of types necessary to create the generic type&lt;br /&gt;
** The 3rd parameter is a table of values that is called with the constructor of the generic type&lt;br /&gt;
&lt;br /&gt;
== Source Code Conversion Example ==&lt;br /&gt;
=== [https://github.com/PMDCollab/PMDC/blob/266ea426dbc5243432bc0d45a4992b88985a09dc/PMDC/Dungeon/GameEffects/SingleCharEvent.cs#L1820, LeechSeedEvent] ===&lt;br /&gt;
&lt;br /&gt;
C#:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public override IEnumerator&amp;lt;YieldInstruction&amp;gt; Apply(GameEventOwner owner, Character ownerChar, SingleCharContext context)&lt;br /&gt;
{&lt;br /&gt;
  if (context.User.CharStates.Contains&amp;lt;MagicGuardState&amp;gt;())&lt;br /&gt;
      yield break;&lt;br /&gt;
          &lt;br /&gt;
  //check for someone within 4 tiles away; if there&#039;s no one, then remove the status&lt;br /&gt;
  List&amp;lt;Character&amp;gt; targets = AreaAction.GetTargetsInArea(context.User, context.User.CharLoc, Alignment.Foe, 4);&lt;br /&gt;
  int lowestDist = Int32.MaxValue;&lt;br /&gt;
  Character target = null;&lt;br /&gt;
  for (int ii = 0; ii &amp;lt; targets.Count; ii++)&lt;br /&gt;
  {&lt;br /&gt;
    int newDist = (targets[ii].CharLoc - context.User.CharLoc).DistSquared();&lt;br /&gt;
    if (newDist &amp;lt; lowestDist)&lt;br /&gt;
    {&lt;br /&gt;
        target = targets[ii];&lt;br /&gt;
        lowestDist = newDist;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (target == null)&lt;br /&gt;
    yield return CoroutineManager.Instance.StartCoroutine(context.User.RemoveStatusEffect(((StatusEffect)owner).ID));&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    int seeddmg = Math.Max(1, context.User.MaxHP / 12);&lt;br /&gt;
&lt;br /&gt;
    DungeonScene.Instance.LogMsg(Text.FormatGrammar(new StringKey(&amp;quot;MSG_LEECH_SEED&amp;quot;).ToLocal(), context.User.GetDisplayName(false)));&lt;br /&gt;
    &lt;br /&gt;
    GameManager.Instance.BattleSE(&amp;quot;DUN_Hit_Neutral&amp;quot;);&lt;br /&gt;
    if (!context.User.Unidentifiable)&lt;br /&gt;
    {&lt;br /&gt;
        SingleEmitter endEmitter = new SingleEmitter(new AnimData(&amp;quot;Hit_Neutral&amp;quot;, 3));&lt;br /&gt;
        endEmitter.SetupEmit(context.User.MapLoc, context.User.MapLoc, context.User.CharDir);&lt;br /&gt;
        DungeonScene.Instance.CreateAnim(endEmitter, DrawLayer.NoDraw);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    yield return CoroutineManager.Instance.StartCoroutine(context.User.InflictDamage(seeddmg, false));&lt;br /&gt;
&lt;br /&gt;
    if (context.User.CharStates.Contains&amp;lt;DrainDamageState&amp;gt;())&lt;br /&gt;
    {&lt;br /&gt;
        GameManager.Instance.BattleSE(&amp;quot;DUN_Toxic&amp;quot;);&lt;br /&gt;
        DungeonScene.Instance.LogMsg(Text.FormatGrammar(new StringKey(&amp;quot;MSG_LIQUID_OOZE&amp;quot;).ToLocal(), target.GetDisplayName(false)));&lt;br /&gt;
        yield return CoroutineManager.Instance.StartCoroutine(target.InflictDamage(seeddmg * 4, false));&lt;br /&gt;
    }&lt;br /&gt;
    else if (target.HP &amp;lt; target.MaxHP)&lt;br /&gt;
    {&lt;br /&gt;
        yield return CoroutineManager.Instance.StartCoroutine(target.RestoreHP(seeddmg, false));&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lua:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SINGLE_CHAR_SCRIPT = {}&lt;br /&gt;
DrainDamageStateType = luanet.import_type(&#039;PMDC.Dungeon.DrainDamageState&#039;)&lt;br /&gt;
MagicGuardStateType = luanet.import_type(&#039;PMDC.Dungeon.MagicGuardState&#039;)&lt;br /&gt;
&lt;br /&gt;
function SINGLE_CHAR_SCRIPT.LeechSeedEvent(owner, ownerChar, context, args)&lt;br /&gt;
  if context.User.CharStates:Contains(luanet.ctype(MagicGuardStateType)) then&lt;br /&gt;
    return&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  local targets = RogueEssence.Dungeon.AreaAction.GetTargetsInArea(context.User, context.User.CharLoc, RogueEssence.Dungeon.Alignment.Foe, 4)&lt;br /&gt;
  local lowestDist = 10000&lt;br /&gt;
  local target = nil&lt;br /&gt;
  for ii = 0, targets.Count - 1, 1 do&lt;br /&gt;
    local newDist = (targets[ii].CharLoc - context.User.CharLoc):DistSquared()&lt;br /&gt;
    if newDist &amp;lt; lowestDist then&lt;br /&gt;
      target = targets[ii]&lt;br /&gt;
      lowestDist = newDist&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  if target == nil then&lt;br /&gt;
    TASK:WaitTask(context.User:RemoveStatusEffect(owner:GetID()))&lt;br /&gt;
    return&lt;br /&gt;
  else&lt;br /&gt;
    local seeddmg = math.max(1, context.User.MaxHP / 12)&lt;br /&gt;
    _DUNGEON:LogMsg(STRINGS:Format(RogueEssence.StringKey(&amp;quot;MSG_LEECH_SEED&amp;quot;):ToLocal(), context.User:GetDisplayName(false)))&lt;br /&gt;
    SOUND:PlayBattleSE(&#039;DUN_Hit_Neutral&#039;)&lt;br /&gt;
    if not context.User.Unidentifiable then&lt;br /&gt;
      local endEmitter = RogueEssence.Content.SingleEmitter(RogueEssence.Content.AnimData(&amp;quot;Hit_Neutral&amp;quot;, 3))&lt;br /&gt;
      endEmitter:SetupEmit(context.User.MapLoc, context.User.MapLoc, context.User.CharDir)&lt;br /&gt;
      _DUNGEON:CreateAnim(endEmitter, RogueEssence.Content.DrawLayer.NoDraw)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    TASK:WaitTask(context.User:InflictDamage(seeddmg, false))&lt;br /&gt;
    if context.User.CharStates:Contains(luanet.ctype(MagicGuardStateType)) then&lt;br /&gt;
      SOUND:PlayBattleSE(&#039;DUN_Toxic&#039;)&lt;br /&gt;
      _DUNGEON:LogMsg(STRINGS:Format(RogueEssence.StringKey(&amp;quot;MSG_LIQUID_OOZE&amp;quot;):ToLocal(), target:GetDisplayName(false)))&lt;br /&gt;
      TASK:WaitTask(target:InflictDamage(seeddmg * 4, false))&lt;br /&gt;
    elseif target.HP &amp;lt; target.MaxHP then&lt;br /&gt;
      TASK:WaitTask(target:RestoreHP(seeddmg, false))&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This concludes converting Lua to C# code! Knowing how and when to call and use the source engine&#039;s classes, methods, and enums allows you write more complex battle events beyond the Dev menu!&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding Data]]&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1597</id>
		<title>Tutorial:Creating New Types</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1597"/>
		<updated>2023-08-26T03:36:22Z</updated>

		<summary type="html">&lt;p&gt;Trio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this walkthrough, we&#039;ll add a new type — Sound — into PMDO, which is based on the specification described [https://pokemon-xenoverse.fandom.com/wiki/Sound_(type) here].  Make your game is set to a mod in [[Modding Intro]] so that you’re editing a mod instead of the base game. &lt;br /&gt;
&lt;br /&gt;
== Creating the New Type ==&lt;br /&gt;
&lt;br /&gt;
Begin by creating a new type in the Element list.&lt;br /&gt;
&lt;br /&gt;
[[File:DevPanel_Data.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementList2.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;Add&#039;&#039;&#039; and set the name to be &amp;quot;sound&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundName.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should see the following page below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundOverview.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then do the following steps:&lt;br /&gt;
* Set the &#039;&#039;&#039;Name&#039;&#039;&#039; to be &amp;quot;Sound&amp;quot;&lt;br /&gt;
* Set the &#039;&#039;&#039;Symbol&#039;&#039;&#039; to be &amp;quot;&amp;quot; which represents the unicode &#039;&#039;&#039;\uE093&#039;&#039;&#039;. This will be located next to {{TypeIcon|type=Water}}Water in [https://wiki.pmdo.pmdcollab.org/Text_Guide#Special_Characters, PMDO&#039;s unicode ordering].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: As of 0.7.16, you will need to manually open PMDO/MODS/{MOD_NAME}/Elements/sound.json to add the &#039;&#039;&#039;Symbol&#039;&#039;&#039; &amp;quot;&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Your JSON file for Sound should look similar to below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;Version&amp;quot;: &amp;quot;0.7.16.0&amp;quot;,&lt;br /&gt;
&amp;quot;Object&amp;quot;: {&lt;br /&gt;
&amp;quot;$type&amp;quot;: &amp;quot;RogueEssence.Data.ElementData, RogueEssence&amp;quot;,&lt;br /&gt;
&amp;quot;Name&amp;quot;: {&lt;br /&gt;
&amp;quot;DefaultText&amp;quot;: &amp;quot;Sound&amp;quot;,&lt;br /&gt;
&amp;quot;LocalTexts&amp;quot;: {}&lt;br /&gt;
},&lt;br /&gt;
&amp;quot;Comment&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;Symbol&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;OK&#039;&#039;&#039; and save your progress!&lt;br /&gt;
&lt;br /&gt;
== Editing Type Matchups ==&lt;br /&gt;
&lt;br /&gt;
We will be referencing the chart below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundChart.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In the Dev Menu, navigate over to &#039;&#039;&#039;Constants&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Universal&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_UniversalEvent.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Under &#039;&#039;&#039;Universal States&#039;&#039;&#039;, click on &#039;&#039;&#039;PMDC.Dungeon.ElementTableState&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Below shows how the Type Matchups are ordered/indexed:&lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ Type Ordering&lt;br /&gt;
! Index&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| {{TypeIcon|type=None}}None&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| {{TypeIcon|type=Bug}}Bug&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| {{TypeIcon|type=Dark}}Dark&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| {{TypeIcon|type=Dragon}}Dragon&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| {{TypeIcon|type=Electric}}Electric&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| {{TypeIcon|type=Fairy}}Fairy&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| {{TypeIcon|type=Fighting}}Fighting&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| {{TypeIcon|type=Fire}}Fire&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| {{TypeIcon|type=Flying}}Flying&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| {{TypeIcon|type=Ghost}}Ghost&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| {{TypeIcon|type=Grass}}Grass&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| {{TypeIcon|type=Ground}}Ground&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| {{TypeIcon|type=Ice}}Ice&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| {{TypeIcon|type=Normal}}Normal&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| {{TypeIcon|type=Poison}}Poison&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| {{TypeIcon|type=Psychic}}Psychic&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| {{TypeIcon|type=Rock}}Rock&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| {{TypeIcon|type=Steel}}Steel&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| {{TypeIcon|type=Water}}Water&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example, clicking on the second &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 1)&#039;&#039; opens all the effectiveness of {{TypeIcon|type=Bug}}Bug against all other types. The third element &#039;&#039;(Index 2)&#039;&#039; which represents {{TypeIcon|type=Dark}}Dark is shown with an effectiveness of &#039;&#039;&#039;5&#039;&#039;&#039; (see table below). &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_BugTypeMatchup.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Below is a table of what effectiveness each number represents. &lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ &lt;br /&gt;
! # Representation&lt;br /&gt;
! Effectiveness&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| No effect&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Not very effective&lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| Neutral&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Super effective&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In this case, the &#039;&#039;&#039;5&#039;&#039;&#039; represents that {{TypeIcon|type=Bug}}Bug is super-effective against {{TypeIcon|type=Dark}}Dark.  &lt;br /&gt;
&lt;br /&gt;
Thus, when we add the &#039;&#039;&#039;Sound-type&#039;&#039;&#039;, we need to update each &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; element to include its matchup against Sound.  For example, the first &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 0)&#039;&#039; is  {{TypeIcon|type=None}}Typeless versus all types.&lt;br /&gt;
&lt;br /&gt;
Click on that. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessAll.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then click on &#039;&#039;&#039;Add&#039;&#039;&#039; and enter 4 to indicate that {{TypeIcon|type=None}}Typeless is neutral against Sound.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and continue adding the rest of the type matchups (19 types in total) against Sound. &lt;br /&gt;
&lt;br /&gt;
We also need to add a new &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; to represent how effective the Sound-type is against other types.  &lt;br /&gt;
&lt;br /&gt;
Under Type Matchups, click on &#039;&#039;&#039;Add&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundEmptyMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then, begin adding the effectiveness number from the table above. You will need add 20 (including Sound) numbers in total in the order corresponding to the indexed Pokémon types table. You should have the following numbers in this specific order: &#039;&#039;&#039;[4, 4, 4, 3, 3, 5, 4, 4, 5, 4, 4, 4, 4, 4, 4, 3, 4, 4, 5, 4]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Lastly, under &#039;&#039;&#039;Type Map&#039;&#039;&#039;, add the key &amp;quot;sound&amp;quot; with the value of &#039;&#039;&#039;19&#039;&#039;&#039; representing the 19th index within the Type Matchup table. It is essential that the key is the &#039;&#039;&#039;same&#039;&#039;&#039; name as the one we first created in the Element list.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypeMap.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and make be sure to save once you are finished!&lt;br /&gt;
&lt;br /&gt;
== Adding Type Icon ==&lt;br /&gt;
&lt;br /&gt;
Remember that we set the Sound icon to &amp;quot;&amp;quot; (\uE093). We now need to modify the base game font to include the icon below.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_E093.png]]&lt;br /&gt;
&lt;br /&gt;
Save the image and rename it to &#039;&#039;&#039;E093.png&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should create backup of PMDO/Font/text.font or you can redownload later [https://github.com/audinowho/DumpAsset/tree/37e1c791568acb4a9b776c4abb7020fea015108d/Content/Font, here].&lt;br /&gt;
&lt;br /&gt;
Then you will need to download the necessary assets (~1.57 GB) [https://github.com/PMDCollab/RawAsset, here] and place the folder the same level as the PMDO executable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: You actually only need the RawAsset/Font directory for this guide.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Your folder structure should have a similar structure below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MODS/&lt;br /&gt;
RawAsset/&lt;br /&gt;
├─ font/&lt;br /&gt;
│  ├─ text/&lt;br /&gt;
│  ├─ yellow/&lt;br /&gt;
PMDO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then move the &#039;&#039;&#039;E093.png&#039;&#039;&#039; into RawAsset/font/text. &lt;br /&gt;
&lt;br /&gt;
Through the command line, run the PMDO executable file like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./PMDO -convert font&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This might take a couple minutes for the program to finish executing. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This has the side-effect of replacing the current fonts in PMDO/Content/Fonts, hence the backup.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If everything worked correctly, you should see the following files in PMDO/Content/Fonts.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_FontResults.png|300px]]&lt;br /&gt;
&lt;br /&gt;
You can move/copy the new text.font into PMDO/MODS/{MOD_NAME}/Content/Fonts.&lt;br /&gt;
&lt;br /&gt;
== Viewing Results ==&lt;br /&gt;
&lt;br /&gt;
We will now modify the one of the Pokémon to be Sound type. In the Dev Menu, navigate to Data-&amp;gt;Monster and select Whismur. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_Whismur.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Scroll down until you see Forms and click on Whismur.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_WhismurForm.png|250px]]&lt;br /&gt;
&lt;br /&gt;
Scroll down until you see the types and change &#039;&#039;&#039;Element 1&#039;&#039;&#039; to Sound. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_WhismurSound.png|250px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and save your work!&lt;br /&gt;
&lt;br /&gt;
In the Player tab in the Dev Menu, set your character to be Whismur. You should see that Whismur is now a &#039;&#039;&#039;Sound-type&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
![[File:Custom_Types_WhisterFinalResult.png|300px]]&lt;br /&gt;
&lt;br /&gt;
This concludes adding your custom Pokémon type! You can enter a dungeon and check to see the type matchups are correct. This guide covered modifying the Type Matchup table and font modding! Keep in mind, you will need to modify many Pokémon and moves to be Sound type. &lt;br /&gt;
&lt;br /&gt;
[[Category:Modding Data]]&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1595</id>
		<title>Tutorial:Creating New Types</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1595"/>
		<updated>2023-08-26T03:28:42Z</updated>

		<summary type="html">&lt;p&gt;Trio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this walkthrough, we&#039;ll add a new type — Sound — into PMDO, which is based on the specification described [https://pokemon-xenoverse.fandom.com/wiki/Sound_(type) here].  Make your game is set to a mod in [[Modding Intro]] so that you’re editing a mod instead of the base game. &lt;br /&gt;
&lt;br /&gt;
== Creating the New Type ==&lt;br /&gt;
&lt;br /&gt;
Begin by creating a new type in the Element list.&lt;br /&gt;
&lt;br /&gt;
[[File:DevPanel_Data.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementList2.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;Add&#039;&#039;&#039; and set the name to be &amp;quot;sound&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundName.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should see the following page below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundOverview.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then do the following steps:&lt;br /&gt;
* Set the &#039;&#039;&#039;Name&#039;&#039;&#039; to be &amp;quot;Sound&amp;quot;&lt;br /&gt;
* Set the &#039;&#039;&#039;Symbol&#039;&#039;&#039; to be &amp;quot;&amp;quot; which represents the unicode &#039;&#039;&#039;\uE093&#039;&#039;&#039;. This will be located next to {{TypeIcon|type=Water}}Water in　[https://wiki.pmdo.pmdcollab.org/Text_Guide#Special_Characters, PMDO&#039;s unicode ordering].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: As of 0.7.16, you will need to manually open PMDO/MODS/{MOD_NAME}/Elements/sound.json to add the &#039;&#039;&#039;Symbol&#039;&#039;&#039; &amp;quot;&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Your JSON file for Sound should look similar to below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;Version&amp;quot;: &amp;quot;0.7.16.0&amp;quot;,&lt;br /&gt;
&amp;quot;Object&amp;quot;: {&lt;br /&gt;
&amp;quot;$type&amp;quot;: &amp;quot;RogueEssence.Data.ElementData, RogueEssence&amp;quot;,&lt;br /&gt;
&amp;quot;Name&amp;quot;: {&lt;br /&gt;
&amp;quot;DefaultText&amp;quot;: &amp;quot;Sound&amp;quot;,&lt;br /&gt;
&amp;quot;LocalTexts&amp;quot;: {}&lt;br /&gt;
},&lt;br /&gt;
&amp;quot;Comment&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;Symbol&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;OK&#039;&#039;&#039; and save your progress!&lt;br /&gt;
&lt;br /&gt;
== Editing Type Matchups ==&lt;br /&gt;
&lt;br /&gt;
We will be referencing the chart below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundChart.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In the Dev Menu, navigate over to &#039;&#039;&#039;Constants&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Universal&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_UniversalEvent.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Under &#039;&#039;&#039;Universal States&#039;&#039;&#039;, click on &#039;&#039;&#039;PMDC.Dungeon.ElementTableState&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Below shows how the Type Matchups are ordered/indexed:&lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ Type Ordering&lt;br /&gt;
! Index&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| {{TypeIcon|type=None}}None&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| {{TypeIcon|type=Bug}}Bug&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| {{TypeIcon|type=Dark}}Dark&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| {{TypeIcon|type=Dragon}}Dragon&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| {{TypeIcon|type=Electric}}Electric&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| {{TypeIcon|type=Fairy}}Fairy&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| {{TypeIcon|type=Fighting}}Fighting&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| {{TypeIcon|type=Fire}}Fire&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| {{TypeIcon|type=Flying}}Flying&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| {{TypeIcon|type=Ghost}}Ghost&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| {{TypeIcon|type=Grass}}Grass&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| {{TypeIcon|type=Ground}}Ground&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| {{TypeIcon|type=Ice}}Ice&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| {{TypeIcon|type=Normal}}Normal&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| {{TypeIcon|type=Poison}}Poison&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| {{TypeIcon|type=Psychic}}Psychic&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| {{TypeIcon|type=Rock}}Rock&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| {{TypeIcon|type=Steel}}Steel&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| {{TypeIcon|type=Water}}Water&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example, clicking on the second &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 1)&#039;&#039; opens all the effectiveness of {{TypeIcon|type=Bug}}Bug against all other types. The third element &#039;&#039;(Index 2)&#039;&#039; which represents {{TypeIcon|type=Dark}}Dark is shown with an effectiveness of &#039;&#039;&#039;5&#039;&#039;&#039; (see table below). &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_BugTypeMatchup.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Below is a table of what effectiveness each number represents. &lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ &lt;br /&gt;
! # Representation&lt;br /&gt;
! Effectiveness&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| No effect&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Not very effective&lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| Neutral&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Super effective&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In this case, the &#039;&#039;&#039;5&#039;&#039;&#039; represents that {{TypeIcon|type=Bug}}Bug is super-effective against {{TypeIcon|type=Dark}}Dark.  &lt;br /&gt;
&lt;br /&gt;
Thus, when we add the &#039;&#039;&#039;Sound-type&#039;&#039;&#039;, we need to update each &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; element to include its matchup against Sound.  For example, the first &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 0)&#039;&#039; is  {{TypeIcon|type=None}}Typeless versus all types.&lt;br /&gt;
&lt;br /&gt;
Click on that. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessAll.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then click on &#039;&#039;&#039;Add&#039;&#039;&#039; and enter 4 to indicate that {{TypeIcon|type=None}}Typeless is neutral against Sound.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and continue adding the rest of the type matchups (19 types in total) against Sound. &lt;br /&gt;
&lt;br /&gt;
We also need to add a new &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; to represent how effective the Sound-type is against other types.  &lt;br /&gt;
&lt;br /&gt;
Under Type Matchups, click on &#039;&#039;&#039;Add&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundEmptyMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then, begin adding the effectiveness number from the table above. You will need add 20 (including Sound) numbers in total in the order corresponding to the indexed Pokémon types table. You should have the following numbers in this specific order: &#039;&#039;&#039;[4, 4, 4, 3, 3, 5, 4, 4, 5, 4, 4, 4, 4, 4, 4, 3, 4, 4, 5, 4]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Lastly, under &#039;&#039;&#039;Type Map&#039;&#039;&#039;, add the key &amp;quot;sound&amp;quot; with the value of &#039;&#039;&#039;19&#039;&#039;&#039; representing the 19th index within the Type Matchup table. It is essential that the key is the &#039;&#039;&#039;same&#039;&#039;&#039; name as the one we first created in the Element list.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypeMap.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and make be sure to save once you are finished!&lt;br /&gt;
&lt;br /&gt;
== Adding Type Icon ==&lt;br /&gt;
&lt;br /&gt;
Remember that we set the Sound icon to &amp;quot;&amp;quot; (\uE093). We now need to modify the base game font to include the icon below.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_E093.png]]&lt;br /&gt;
&lt;br /&gt;
Save the image and rename it to &#039;&#039;&#039;E093.png&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should create backup of PMDO/Font/text.font or you can redownload later [https://github.com/audinowho/DumpAsset/tree/37e1c791568acb4a9b776c4abb7020fea015108d/Content/Font, here].&lt;br /&gt;
&lt;br /&gt;
Then you will need to download the necessary assets (~1.57 GB) [https://github.com/PMDCollab/RawAsset, here] and place the folder the same level as the PMDO executable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: You actually only need the RawAsset/Font directory for this guide.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Your folder structure should have a similar structure below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MODS/&lt;br /&gt;
RawAsset/&lt;br /&gt;
├─ font/&lt;br /&gt;
│  ├─ text/&lt;br /&gt;
│  ├─ yellow/&lt;br /&gt;
PMDO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then move the &#039;&#039;&#039;E093.png&#039;&#039;&#039; into RawAsset/font/text. &lt;br /&gt;
&lt;br /&gt;
Through the command line, run the PMDO executable file like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./PMDO -convert font&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This might take a couple minutes for the program to finish executing. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This has the side-effect of replacing the current fonts in PMDO/Content/Fonts, hence the backup.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If everything worked correctly, you should see the following files in PMDO/Content/Fonts.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_FontResults.png|300px]]&lt;br /&gt;
&lt;br /&gt;
You can move/copy the new text.font into PMDO/MODS/{MOD_NAME}/Content/Fonts.&lt;br /&gt;
&lt;br /&gt;
== Viewing Results ==&lt;br /&gt;
&lt;br /&gt;
We will now modify the one of the Pokémon to be Sound type. In the Dev Menu, navigate to Data-&amp;gt;Monster and select Whismur. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_Whismur.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Scroll down until you see Forms and click on Whismur.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_WhismurForm.png|250px]]&lt;br /&gt;
&lt;br /&gt;
Scroll down until you see the types and change &#039;&#039;&#039;Element 1&#039;&#039;&#039; to Sound. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_WhismurSound.png|250px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and save your work!&lt;br /&gt;
&lt;br /&gt;
In the Player tab in the Dev Menu, set your character to be Whismur. You should see that Whismur is now a &#039;&#039;&#039;Sound-type&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
![[File:Custom_Types_WhisterFinalResult.png|300px]]&lt;br /&gt;
&lt;br /&gt;
This concludes adding your custom Pokémon type! You can enter a dungeon and check to see the type matchups are correct. This guide covered modifying the Type Matchup table and font modding! Keep in mind, you will need to modify many Pokémon and moves to be Sound type. &lt;br /&gt;
&lt;br /&gt;
[[Category:Modding Data]]&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1594</id>
		<title>Tutorial:Creating New Types</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1594"/>
		<updated>2023-08-26T03:25:50Z</updated>

		<summary type="html">&lt;p&gt;Trio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this walkthrough, we&#039;ll add a new type — Sound — into PMDO, which is based on the specification described [https://pokemon-xenoverse.fandom.com/wiki/Sound_(type) here].  Make your game is set to a mod in [[Modding Intro]] so that you’re editing a mod instead of the base game. &lt;br /&gt;
&lt;br /&gt;
== Creating the New Type ==&lt;br /&gt;
&lt;br /&gt;
Begin by creating a new type in the Element list.&lt;br /&gt;
&lt;br /&gt;
[[File:DevPanel_Data.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementList2.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;Add&#039;&#039;&#039; and set the name to be &amp;quot;sound&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundName.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should see the following page below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundOverview.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then do the following steps:&lt;br /&gt;
* Set the &#039;&#039;&#039;Name&#039;&#039;&#039; to be &amp;quot;Sound&amp;quot;&lt;br /&gt;
* Set the &#039;&#039;&#039;Symbol&#039;&#039;&#039; to be &amp;quot;&amp;quot; which represents the unicode &#039;&#039;&#039;\uE093&#039;&#039;&#039;. This will be located next to {{TypeIcon|type=Water}}Water in　[https://wiki.pmdo.pmdcollab.org/Text_Guide#Special_Characters, PMDO&#039;s unicode ordering].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: As of 0.7.16, you will need to manually open PMDO/MODS/{MOD_NAME}/Elements/sound.json to add the &#039;&#039;&#039;Symbol&#039;&#039;&#039; &amp;quot;&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Your JSON file for Sound should look similar to below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;Version&amp;quot;: &amp;quot;0.7.16.0&amp;quot;,&lt;br /&gt;
&amp;quot;Object&amp;quot;: {&lt;br /&gt;
&amp;quot;$type&amp;quot;: &amp;quot;RogueEssence.Data.ElementData, RogueEssence&amp;quot;,&lt;br /&gt;
&amp;quot;Name&amp;quot;: {&lt;br /&gt;
&amp;quot;DefaultText&amp;quot;: &amp;quot;Sound&amp;quot;,&lt;br /&gt;
&amp;quot;LocalTexts&amp;quot;: {}&lt;br /&gt;
},&lt;br /&gt;
&amp;quot;Comment&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;Symbol&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;OK&#039;&#039;&#039; and save your progress!&lt;br /&gt;
&lt;br /&gt;
== Editing Type Matchups ==&lt;br /&gt;
&lt;br /&gt;
We will be referencing the chart below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundChart.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In the Dev Menu, navigate over to &#039;&#039;&#039;Constants&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Universal&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_UniversalEvent.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Under &#039;&#039;&#039;Universal States&#039;&#039;&#039;, click on &#039;&#039;&#039;PMDC.Dungeon.ElementTableState&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Below shows how the Type Matchups are ordered/indexed:&lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ Type Ordering&lt;br /&gt;
! Index&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| {{TypeIcon|type=None}}None&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| {{TypeIcon|type=Bug}}Bug&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| {{TypeIcon|type=Dark}}Dark&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| {{TypeIcon|type=Dragon}}Dragon&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| {{TypeIcon|type=Electric}}Electric&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| {{TypeIcon|type=Fairy}}Fairy&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| {{TypeIcon|type=Fighting}}Fighting&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| {{TypeIcon|type=Fire}}Fire&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| {{TypeIcon|type=Flying}}Flying&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| {{TypeIcon|type=Ghost}}Ghost&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| {{TypeIcon|type=Grass}}Grass&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| {{TypeIcon|type=Ground}}Ground&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| {{TypeIcon|type=Ice}}Ice&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| {{TypeIcon|type=Normal}}Normal&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| {{TypeIcon|type=Poison}}Poison&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| {{TypeIcon|type=Psychic}}Psychic&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| {{TypeIcon|type=Rock}}Rock&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| {{TypeIcon|type=Steel}}Steel&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| {{TypeIcon|type=Water}}Water&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example, clicking on the second &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 1)&#039;&#039; opens all the effectiveness of {{TypeIcon|type=Bug}}Bug against all other types. The third element &#039;&#039;(Index 2)&#039;&#039; which represents {{TypeIcon|type=Dark}}Dark is shown with an effectiveness of &#039;&#039;&#039;5&#039;&#039;&#039; (see table below). &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_BugTypeMatchup.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Below is a table of what effectiveness each number represents. &lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ &lt;br /&gt;
! # Representation&lt;br /&gt;
! Effectiveness&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| No effect&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Not very effective&lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| Neutral&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Super effective&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In this case, the &#039;&#039;&#039;5&#039;&#039;&#039; represents that {{TypeIcon|type=Bug}}Bug is super-effective against {{TypeIcon|type=Dark}}Dark.  &lt;br /&gt;
&lt;br /&gt;
Thus, when we add the &#039;&#039;&#039;Sound-type&#039;&#039;&#039;, we need to update each &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; element to include its matchup against Sound.  For example, the first &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 0)&#039;&#039; is  {{TypeIcon|type=None}}Typeless versus all types.&lt;br /&gt;
&lt;br /&gt;
Click on that. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessAll.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then click on &#039;&#039;&#039;Add&#039;&#039;&#039; and enter 4 to indicate that {{TypeIcon|type=None}}Typeless is neutral against Sound.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and continue adding the rest of the type matchups (19 types in total) against Sound. &lt;br /&gt;
&lt;br /&gt;
We also need to add a new &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; to represent how effective the Sound-type is against other types.  &lt;br /&gt;
&lt;br /&gt;
Under Type Matchups, click on &#039;&#039;&#039;Add&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundEmptyMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then, begin adding the effectiveness number from the table above. You will need add 20 (including Sound) numbers in total in the order corresponding to the indexed Pokémon types table. You should have the following numbers in this specific order: &#039;&#039;&#039;[4, 4, 4, 3, 3, 5, 4, 4, 5, 4, 4, 4, 4, 4, 4, 3, 4, 4, 5, 4]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Lastly, under &#039;&#039;&#039;Type Map&#039;&#039;&#039;, add the key &amp;quot;sound&amp;quot; with the value of &#039;&#039;&#039;19&#039;&#039;&#039; representing the 19th index within the Type Matchup table. It is essential that the key is the &#039;&#039;&#039;same&#039;&#039;&#039; name as the one we first created in the Element list.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypeMap.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and make be sure to save once you are finished!&lt;br /&gt;
&lt;br /&gt;
== Adding Type Icon ==&lt;br /&gt;
&lt;br /&gt;
Remember that we set the Sound icon to &amp;quot;&amp;quot; (\uE093). We now need to modify the base game font to include the icon below.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_E093.png]]&lt;br /&gt;
&lt;br /&gt;
Save the image and rename it to &#039;&#039;&#039;E093.png&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should create backup of PMDO/Font/text.font or you can redownload later [https://github.com/audinowho/DumpAsset/tree/37e1c791568acb4a9b776c4abb7020fea015108d/Content/Font, here].&lt;br /&gt;
&lt;br /&gt;
Then you will need to download the necessary assets (~1.57 GB) [https://github.com/PMDCollab/RawAsset, here] and place the folder the same level as the PMDO executable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: You actually only need the RawAsset/Font directory for this guide.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Your folder structure should have a similar structure below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MODS/&lt;br /&gt;
RawAsset/&lt;br /&gt;
├─ font/&lt;br /&gt;
│  ├─ text/&lt;br /&gt;
│  ├─ yellow/&lt;br /&gt;
PMDO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then move the &#039;&#039;&#039;E093.png&#039;&#039;&#039; into RawAsset/font/text. &lt;br /&gt;
&lt;br /&gt;
Through the command line, run the PMDO executable file like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./PMDO -convert font&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This might take a couple minutes for the program to finish executing. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This has the side-effect of replacing the current fonts in PMDO/Content/Fonts, hence the backup.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If everything worked correctly, you should see the following files in PMDO/Content/Fonts.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_FontResults.png|300px]]&lt;br /&gt;
&lt;br /&gt;
You can move/copy the new text.font into PMDO/MODS/{MOD_NAME}/Content/Fonts.&lt;br /&gt;
&lt;br /&gt;
== Viewing Results ==&lt;br /&gt;
&lt;br /&gt;
We will now modify the one of the Pokémon to be Sound type. In the Dev Menu, navigate to Data-&amp;gt;Monster and select Whismur. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_Whismur.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Scroll down until you see Forms and click on Whismur.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_WhismurForm.png|250px]]&lt;br /&gt;
&lt;br /&gt;
Scroll down until you see the types and change &#039;&#039;&#039;Element 1&#039;&#039;&#039; to Sound. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_WhismurSound.png|250px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and save your work!&lt;br /&gt;
&lt;br /&gt;
In the Player tab in the Dev Menu, set your character to be Whismur. You should see that Whismur is now a &#039;&#039;&#039;Sound-type&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
![[File:Custom_Types_WhisterFinalResult.png|300px]]&lt;br /&gt;
&lt;br /&gt;
This concludes adding your custom Pokémon type! This guide covered modifying the Type Matchup table and font modding! Keep in mind, you will need to modify many Pokémon and moves to be Sound type. &lt;br /&gt;
&lt;br /&gt;
[[Category:Modding Data]]&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1593</id>
		<title>Tutorial:Creating New Types</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1593"/>
		<updated>2023-08-26T03:24:56Z</updated>

		<summary type="html">&lt;p&gt;Trio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this walkthrough, we&#039;ll add a new type — Sound — into PMDO, which is based on the specification described [https://pokemon-xenoverse.fandom.com/wiki/Sound_(type) here].  Make your game is set to a mod in [[Modding Intro]] so that you’re editing a mod instead of the base game. &lt;br /&gt;
&lt;br /&gt;
== Creating the New Type ==&lt;br /&gt;
&lt;br /&gt;
Begin by creating a new type in the Element list.&lt;br /&gt;
&lt;br /&gt;
[[File:DevPanel_Data.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementList2.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;Add&#039;&#039;&#039; and set the name to be &amp;quot;sound&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundName.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should see the following page below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundOverview.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then do the following steps:&lt;br /&gt;
* Set the &#039;&#039;&#039;Name&#039;&#039;&#039; to be &amp;quot;Sound&amp;quot;&lt;br /&gt;
* Set the &#039;&#039;&#039;Symbol&#039;&#039;&#039; to be &amp;quot;&amp;quot; which represents the unicode &#039;&#039;&#039;\uE093&#039;&#039;&#039;. This will be located next to {{TypeIcon|type=Water}}Water in　[https://wiki.pmdo.pmdcollab.org/Text_Guide#Special_Characters, PMDO&#039;s unicode ordering].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: As of 0.7.16, you will need to manually open PMDO/MODS/{MOD_NAME}/Elements/sound.json to add the &#039;&#039;&#039;Symbol&#039;&#039;&#039; &amp;quot;&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Your JSON file for Sound should look similar to below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;Version&amp;quot;: &amp;quot;0.7.16.0&amp;quot;,&lt;br /&gt;
&amp;quot;Object&amp;quot;: {&lt;br /&gt;
&amp;quot;$type&amp;quot;: &amp;quot;RogueEssence.Data.ElementData, RogueEssence&amp;quot;,&lt;br /&gt;
&amp;quot;Name&amp;quot;: {&lt;br /&gt;
&amp;quot;DefaultText&amp;quot;: &amp;quot;Sound&amp;quot;,&lt;br /&gt;
&amp;quot;LocalTexts&amp;quot;: {}&lt;br /&gt;
},&lt;br /&gt;
&amp;quot;Comment&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;Symbol&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;OK&#039;&#039;&#039; and save your progress!&lt;br /&gt;
&lt;br /&gt;
== Editing Type Matchups ==&lt;br /&gt;
&lt;br /&gt;
We will be referencing the chart below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundChart.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In the Dev Menu, navigate over to &#039;&#039;&#039;Constants&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Universal&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_UniversalEvent.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Under &#039;&#039;&#039;Universal States&#039;&#039;&#039;, click on &#039;&#039;&#039;PMDC.Dungeon.ElementTableState&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Below shows how the Type Matchups are ordered/indexed:&lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ Type Ordering&lt;br /&gt;
! Index&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| {{TypeIcon|type=None}}None&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| {{TypeIcon|type=Bug}}Bug&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| {{TypeIcon|type=Dark}}Dark&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| {{TypeIcon|type=Dragon}}Dragon&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| {{TypeIcon|type=Electric}}Electric&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| {{TypeIcon|type=Fairy}}Fairy&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| {{TypeIcon|type=Fighting}}Fighting&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| {{TypeIcon|type=Fire}}Fire&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| {{TypeIcon|type=Flying}}Flying&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| {{TypeIcon|type=Ghost}}Ghost&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| {{TypeIcon|type=Grass}}Grass&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| {{TypeIcon|type=Ground}}Ground&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| {{TypeIcon|type=Ice}}Ice&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| {{TypeIcon|type=Normal}}Normal&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| {{TypeIcon|type=Poison}}Poison&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| {{TypeIcon|type=Psychic}}Psychic&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| {{TypeIcon|type=Rock}}Rock&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| {{TypeIcon|type=Steel}}Steel&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| {{TypeIcon|type=Water}}Water&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example, clicking on the second &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 1)&#039;&#039; opens all the effectiveness of {{TypeIcon|type=Bug}}Bug against all other types. The third element &#039;&#039;(Index 2)&#039;&#039; which represents {{TypeIcon|type=Dark}}Dark is shown with an effectiveness of &#039;&#039;&#039;5&#039;&#039;&#039; (see table below). &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_BugTypeMatchup.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Below is a table of what effectiveness each number represents. &lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ &lt;br /&gt;
! # Representation&lt;br /&gt;
! Effectiveness&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| No effect&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Not very effective&lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| Neutral&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Super effective&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In this case, the &#039;&#039;&#039;5&#039;&#039;&#039; represents that {{TypeIcon|type=Bug}}Bug is super-effective against {{TypeIcon|type=Dark}}Dark.  &lt;br /&gt;
&lt;br /&gt;
Thus, when we add the &#039;&#039;&#039;Sound-type&#039;&#039;&#039;, we need to update each &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; element to include its matchup against Sound.  For example, the first &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 0)&#039;&#039; is  {{TypeIcon|type=None}}Typeless versus all types.&lt;br /&gt;
&lt;br /&gt;
Click on that. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessAll.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then click on &#039;&#039;&#039;Add&#039;&#039;&#039; and enter 4 to indicate that {{TypeIcon|type=None}}Typeless is neutral against Sound.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and continue adding the rest of the type matchups (19 types in total) against Sound. &lt;br /&gt;
&lt;br /&gt;
We also need to add a new &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; to represent how effective the Sound-type is against other types.  &lt;br /&gt;
&lt;br /&gt;
Under Type Matchups, click on &#039;&#039;&#039;Add&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundEmptyMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then, begin adding the effectiveness number from the table above. You will need add 20 (including Sound) numbers in total in the order corresponding to the indexed Pokémon types table. You should have the following numbers in this specific order: &#039;&#039;&#039;[4, 4, 4, 3, 3, 5, 4, 4, 5, 4, 4, 4, 4, 4, 4, 3, 4, 4, 5, 4]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Lastly, under &#039;&#039;&#039;Type Map&#039;&#039;&#039;, add the key &amp;quot;sound&amp;quot; with the value of &#039;&#039;&#039;19&#039;&#039;&#039; representing the 19th index within the Type Matchup table. It is essential that the key is the same as the one we first created in the Element list.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypeMap.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and make be sure to save once you are finished!&lt;br /&gt;
&lt;br /&gt;
== Adding Type Icon ==&lt;br /&gt;
&lt;br /&gt;
Remember that we set the Sound icon to &amp;quot;&amp;quot; (\uE093). We now need to modify the base game font to include the icon below.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_E093.png]]&lt;br /&gt;
&lt;br /&gt;
Save the image and rename it to &#039;&#039;&#039;E093.png&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should create backup of PMDO/Font/text.font or you can redownload later [https://github.com/audinowho/DumpAsset/tree/37e1c791568acb4a9b776c4abb7020fea015108d/Content/Font, here].&lt;br /&gt;
&lt;br /&gt;
Then you will need to download the necessary assets (~1.57 GB) [https://github.com/PMDCollab/RawAsset, here] and place the folder the same level as the PMDO executable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: You actually only need the RawAsset/Font directory for this guide.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Your folder structure should have a similar structure below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MODS/&lt;br /&gt;
RawAsset/&lt;br /&gt;
├─ font/&lt;br /&gt;
│  ├─ text/&lt;br /&gt;
│  ├─ yellow/&lt;br /&gt;
PMDO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then move the &#039;&#039;&#039;E093.png&#039;&#039;&#039; into RawAsset/font/text. &lt;br /&gt;
&lt;br /&gt;
Through the command line, run the PMDO executable file like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./PMDO -convert font&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This might take a couple minutes for the program to finish executing. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This has the side-effect of replacing the current fonts in PMDO/Content/Fonts, hence the backup.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If everything worked correctly, you should see the following files in PMDO/Content/Fonts.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_FontResults.png|300px]]&lt;br /&gt;
&lt;br /&gt;
You can move/copy the new text.font into PMDO/MODS/{MOD_NAME}/Content/Fonts.&lt;br /&gt;
&lt;br /&gt;
== Viewing Results ==&lt;br /&gt;
&lt;br /&gt;
We will now modify the one of the Pokémon to be Sound type. In the Dev Menu, navigate to Data-&amp;gt;Monster and select Whismur. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_Whismur.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Scroll down until you see Forms and click on Whismur.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_WhismurForm.png|250px]]&lt;br /&gt;
&lt;br /&gt;
Scroll down until you see the types and change &#039;&#039;&#039;Element 1&#039;&#039;&#039; to Sound. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_WhismurSound.png|250px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and save your work!&lt;br /&gt;
&lt;br /&gt;
In the Player tab in the Dev Menu, set your character to be Whismur. You should see that Whismur is now a &#039;&#039;&#039;Sound-type&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
![[File:Custom_Types_WhisterFinalResult.png|300px]]&lt;br /&gt;
&lt;br /&gt;
This concludes adding your custom Pokémon type! This guide covered modifying the Type Matchup table and font modding! Keep in mind, you will need to modify many Pokémon and moves to be Sound type. &lt;br /&gt;
&lt;br /&gt;
[[Category:Modding Data]]&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1588</id>
		<title>Tutorial:Creating New Types</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1588"/>
		<updated>2023-08-25T23:18:44Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* Editing Type Matchups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this walkthrough, we&#039;ll add a new type — Sound — into PMDO, which is based on the specification described [https://pokemon-xenoverse.fandom.com/wiki/Sound_(type) here].  Make your game is set to a mod in [[Modding Intro]] so that you’re editing a mod instead of the base game. &lt;br /&gt;
&lt;br /&gt;
== Creating the New Type ==&lt;br /&gt;
&lt;br /&gt;
Begin by creating a new type in the Element list.&lt;br /&gt;
&lt;br /&gt;
[[File:DevPanel_Data.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementList2.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;Add&#039;&#039;&#039; and set the name to be &amp;quot;sound&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundName.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should see the following page below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundOverview.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then do the following steps:&lt;br /&gt;
* Set the &#039;&#039;&#039;Name&#039;&#039;&#039; to be &amp;quot;Sound&amp;quot;&lt;br /&gt;
* Set the &#039;&#039;&#039;Symbol&#039;&#039;&#039; to be &amp;quot;&amp;quot; which represents the unicode &#039;&#039;&#039;\uE093&#039;&#039;&#039;. This will be located next to {{TypeIcon|type=Water}}Water in the [https://wiki.pmdo.pmdcollab.org/Text_Guide#Special_Characters, PMDO&#039;s unicode ordering].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: As of 0.7.16, you will need to manually open PMDO/MODS/{MOD_NAME}/Elements/sound.json to add the &#039;&#039;&#039;Symbol&#039;&#039;&#039; &amp;quot;&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Your JSON file for Sound should look similar to below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;Version&amp;quot;: &amp;quot;0.7.16.0&amp;quot;,&lt;br /&gt;
&amp;quot;Object&amp;quot;: {&lt;br /&gt;
&amp;quot;$type&amp;quot;: &amp;quot;RogueEssence.Data.ElementData, RogueEssence&amp;quot;,&lt;br /&gt;
&amp;quot;Name&amp;quot;: {&lt;br /&gt;
&amp;quot;DefaultText&amp;quot;: &amp;quot;Sound&amp;quot;,&lt;br /&gt;
&amp;quot;LocalTexts&amp;quot;: {}&lt;br /&gt;
},&lt;br /&gt;
&amp;quot;Comment&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;Symbol&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;OK&#039;&#039;&#039; and save your progress!&lt;br /&gt;
&lt;br /&gt;
== Editing Type Matchups ==&lt;br /&gt;
&lt;br /&gt;
We will be referencing the chart below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundChart.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In the Dev Menu, navigate over to &#039;&#039;&#039;Constants&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Universal&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_UniversalEvent.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Under &#039;&#039;&#039;Universal States&#039;&#039;&#039;, click on &#039;&#039;&#039;PMDC.Dungeon.ElementTableState&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Below shows how the Type Matchups are ordered/indexed:&lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ Type Ordering&lt;br /&gt;
! Index&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| {{TypeIcon|type=None}}Typeless&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| {{TypeIcon|type=Bug}}Bug&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| {{TypeIcon|type=Dark}}Dark&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| {{TypeIcon|type=Dragon}}Dragon&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| {{TypeIcon|type=Electric}}Electric&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| {{TypeIcon|type=Fairy}}Fairy&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| {{TypeIcon|type=Fighting}}Fighting&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| {{TypeIcon|type=Fire}}Fire&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| {{TypeIcon|type=Flying}}Flying&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| {{TypeIcon|type=Ghost}}Ghost&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| {{TypeIcon|type=Grass}}Grass&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| {{TypeIcon|type=Ground}}Ground&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| {{TypeIcon|type=Ice}}Ice&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| {{TypeIcon|type=Normal}}Normal&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| {{TypeIcon|type=Poison}}Poison&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| {{TypeIcon|type=Psychic}}Psychic&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| {{TypeIcon|type=Rock}}Rock&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| {{TypeIcon|type=Steel}}Steel&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| {{TypeIcon|type=Water}}Water&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example, clicking on the second &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 1)&#039;&#039; opens all the effectiveness of {{TypeIcon|type=Bug}}Bug against all other types. The third element &#039;&#039;(Index 2)&#039;&#039; which represents {{TypeIcon|type=Dark}}Dark is shown with an effectiveness of &#039;&#039;&#039;5&#039;&#039;&#039; (see table below). &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_BugTypeMatchup.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Below is a table of what effectiveness each number represents. &lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ &lt;br /&gt;
! # Representation&lt;br /&gt;
! Effectiveness&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| No effect&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Not very effective&lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| Neutral&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Super effective&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In this case, the &#039;&#039;&#039;5&#039;&#039;&#039; represents that {{TypeIcon|type=Bug}}Bug is super-effective against {{TypeIcon|type=Dark}}Dark.  &lt;br /&gt;
&lt;br /&gt;
Thus, when we add the &#039;&#039;&#039;Sound-type&#039;&#039;&#039;, we need to update each &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; element to include its matchup against Sound.  For example, the first &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 0)&#039;&#039; is  {{TypeIcon|type=None}}Typeless versus all types.&lt;br /&gt;
&lt;br /&gt;
Click on that. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessAll.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then click on &#039;&#039;&#039;Add&#039;&#039;&#039; and enter 4 to indicate that {{TypeIcon|type=None}}Typeless is neutral against Sound.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and continue adding the rest of the type matchups (19 types in total) against Sound. &lt;br /&gt;
&lt;br /&gt;
We also need to add a new &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; to represent how effective the Sound-type is against other types.  &lt;br /&gt;
&lt;br /&gt;
Under Type Matchups, click on &#039;&#039;&#039;Add&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundEmptyMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then you will begin adding the effectiveness number from the table above. You will need add 20 (including Sound) numbers in total in the order corresponding to the indexed Pokémon types table. You should have the following numbers in this specific order: &#039;&#039;&#039;[4, 4, 4, 3, 3, 5, 4, 4, 5, 4, 4, 4, 4, 4, 4, 3, 4, 4, 5, 4]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Lastly, under &#039;&#039;&#039;Type Map&#039;&#039;&#039;, add the key &amp;quot;sound&amp;quot; with the value of &#039;&#039;&#039;19&#039;&#039;&#039; representing the 19th index within the Type Matchup table. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypeMap.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and make be sure to save once you are finished!&lt;br /&gt;
&lt;br /&gt;
== Adding Type Icon ==&lt;br /&gt;
&lt;br /&gt;
Remember that we set the Sound icon to &amp;quot;&amp;quot; (\uE093). We now need to modify the base game font to include the icon below.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_E093.png]]&lt;br /&gt;
&lt;br /&gt;
Save the image and rename it to &#039;&#039;&#039;E093.png&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should create backup of PMDO/Font/text.font or you can redownload later [https://github.com/audinowho/DumpAsset/tree/37e1c791568acb4a9b776c4abb7020fea015108d/Content/Font, here].&lt;br /&gt;
&lt;br /&gt;
Then you will need to download the necessary assets (~1.57 GB) [https://github.com/PMDCollab/RawAsset, here] and place the folder the same level as the PMDO executable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: You actually only need the RawAsset/Font directory for this guide.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Your folder structure should have a similar structure below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MODS/&lt;br /&gt;
RawAsset/&lt;br /&gt;
├─ font/&lt;br /&gt;
│  ├─ text/&lt;br /&gt;
│  ├─ yellow/&lt;br /&gt;
PMDO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then move the &#039;&#039;&#039;E093.png&#039;&#039;&#039; into RawAsset/font/text. &lt;br /&gt;
&lt;br /&gt;
Through the command line, run the PMDO executable file like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./PMDO -convert font&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This might take a couple minutes for the program to finish executing. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This has the side-effect of replacing the current fonts in PMDO/Content/Fonts, hence the backup.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If everything worked correctly, you should see the following files in PMDO/Content/Fonts.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_FontResults.png|300px]]&lt;br /&gt;
&lt;br /&gt;
You can move/copy the new text.font into PMDO/MODS/{MOD_NAME}/Content/Fonts.&lt;br /&gt;
&lt;br /&gt;
== Viewing Results ==&lt;br /&gt;
&lt;br /&gt;
We will now modify the one of the Pokémon to be Sound type. In the Dev Menu, navigate to Data-&amp;gt;Monster and select Whismur. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_Whismur.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Scroll down until you see Forms and click on Whismur.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_WhismurForm.png|250px]]&lt;br /&gt;
&lt;br /&gt;
Scroll down until you see the types and change &#039;&#039;&#039;Element 1&#039;&#039;&#039; to Sound. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_WhismurSound.png|250px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and save your work!&lt;br /&gt;
&lt;br /&gt;
In the Player tab in the Dev Menu, set your character to be Whismur. You should see that Whismur is now a &#039;&#039;&#039;Sound-type&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
![[File:Custom_Types_WhisterFinalResult.png|300px]]&lt;br /&gt;
&lt;br /&gt;
This concludes adding your custom Pokémon type! This guide covered modifying the Type Matchup table and font modding! Keep in mind, you will need to modify many Pokémon and moves to be Sound type. &lt;br /&gt;
&lt;br /&gt;
[[Category:Modding Data]]&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1587</id>
		<title>Tutorial:Creating New Types</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1587"/>
		<updated>2023-08-25T23:14:29Z</updated>

		<summary type="html">&lt;p&gt;Trio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this walkthrough, we&#039;ll add a new type — Sound — into PMDO, which is based on the specification described [https://pokemon-xenoverse.fandom.com/wiki/Sound_(type) here].  Make your game is set to a mod in [[Modding Intro]] so that you’re editing a mod instead of the base game. &lt;br /&gt;
&lt;br /&gt;
== Creating the New Type ==&lt;br /&gt;
&lt;br /&gt;
Begin by creating a new type in the Element list.&lt;br /&gt;
&lt;br /&gt;
[[File:DevPanel_Data.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementList2.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;Add&#039;&#039;&#039; and set the name to be &amp;quot;sound&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundName.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should see the following page below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundOverview.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then do the following steps:&lt;br /&gt;
* Set the &#039;&#039;&#039;Name&#039;&#039;&#039; to be &amp;quot;Sound&amp;quot;&lt;br /&gt;
* Set the &#039;&#039;&#039;Symbol&#039;&#039;&#039; to be &amp;quot;&amp;quot; which represents the unicode &#039;&#039;&#039;\uE093&#039;&#039;&#039;. This will be located next to {{TypeIcon|type=Water}}Water in the [https://wiki.pmdo.pmdcollab.org/Text_Guide#Special_Characters, PMDO&#039;s unicode ordering].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: As of 0.7.16, you will need to manually open PMDO/MODS/{MOD_NAME}/Elements/sound.json to add the &#039;&#039;&#039;Symbol&#039;&#039;&#039; &amp;quot;&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Your JSON file for Sound should look similar to below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;Version&amp;quot;: &amp;quot;0.7.16.0&amp;quot;,&lt;br /&gt;
&amp;quot;Object&amp;quot;: {&lt;br /&gt;
&amp;quot;$type&amp;quot;: &amp;quot;RogueEssence.Data.ElementData, RogueEssence&amp;quot;,&lt;br /&gt;
&amp;quot;Name&amp;quot;: {&lt;br /&gt;
&amp;quot;DefaultText&amp;quot;: &amp;quot;Sound&amp;quot;,&lt;br /&gt;
&amp;quot;LocalTexts&amp;quot;: {}&lt;br /&gt;
},&lt;br /&gt;
&amp;quot;Comment&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;Symbol&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;OK&#039;&#039;&#039; and save your progress!&lt;br /&gt;
&lt;br /&gt;
== Editing Type Matchups ==&lt;br /&gt;
&lt;br /&gt;
We will be referencing the chart below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundChart.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In the Dev Menu, navigate over to &#039;&#039;&#039;Constants&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Universal&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_UniversalEvent.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Under &#039;&#039;&#039;Universal States&#039;&#039;&#039;, click on &#039;&#039;&#039;PMDC.Dungeon.ElementTableState&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Below shows how the Type Matchups are ordered:&lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ Type Ordering&lt;br /&gt;
! Index&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| {{TypeIcon|type=None}}Typeless&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| {{TypeIcon|type=Bug}}Bug&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| {{TypeIcon|type=Dark}}Dark&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| {{TypeIcon|type=Dragon}}Dragon&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| {{TypeIcon|type=Electric}}Electric&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| {{TypeIcon|type=Fairy}}Fairy&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| {{TypeIcon|type=Fighting}}Fighting&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| {{TypeIcon|type=Fire}}Fire&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| {{TypeIcon|type=Flying}}Flying&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| {{TypeIcon|type=Ghost}}Ghost&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| {{TypeIcon|type=Grass}}Grass&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| {{TypeIcon|type=Ground}}Ground&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| {{TypeIcon|type=Ice}}Ice&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| {{TypeIcon|type=Normal}}Normal&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| {{TypeIcon|type=Poison}}Poison&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| {{TypeIcon|type=Psychic}}Psychic&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| {{TypeIcon|type=Rock}}Rock&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| {{TypeIcon|type=Steel}}Steel&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| {{TypeIcon|type=Water}}Water&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example, clicking on the second &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 1)&#039;&#039; opens all the effectiveness of {{TypeIcon|type=Bug}}Bug against all other types. The third element &#039;&#039;(Index 2)&#039;&#039; which represents {{TypeIcon|type=Dark}}Dark is shown with an effectiveness of &#039;&#039;&#039;5&#039;&#039;&#039; (see table below). &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_BugTypeMatchup.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Below is a table of what effectiveness each number represents. &lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ &lt;br /&gt;
! # Representation&lt;br /&gt;
! Effectiveness&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| No effect&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Not very effective&lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| Neutral&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Super effective&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In this case, the &#039;&#039;&#039;5&#039;&#039;&#039; represents that {{TypeIcon|type=Bug}}Bug is super-effective against {{TypeIcon|type=Dark}}Dark.  &lt;br /&gt;
&lt;br /&gt;
Thus, when we add the &#039;&#039;&#039;Sound-type&#039;&#039;&#039;, we need to update each &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; element to include its matchup against Sound.  For example, the first &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 0)&#039;&#039; is  {{TypeIcon|type=None}}Typeless versus all types.&lt;br /&gt;
&lt;br /&gt;
Click on that. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessAll.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then click on &#039;&#039;&#039;Add&#039;&#039;&#039; and enter 4 to indicate that {{TypeIcon|type=None}}Typeless is neutral against Sound.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and continue adding the rest of the type matchups (19 types in total) against Sound. &lt;br /&gt;
&lt;br /&gt;
We also need to add a new &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; to represent how effective the Sound-type is against other types.  &lt;br /&gt;
&lt;br /&gt;
Under Type Matchups, click on &#039;&#039;&#039;Add&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundEmptyMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Then you will begin adding the effectiveness number from the table above. You will need add 20 (including Sound) numbers in total in the order corresponding to the indexed Pokémon types table. You should have the following numbers in this specific order: &#039;&#039;&#039;[4, 4, 4, 3, 3, 5, 4, 4, 5, 4, 4, 4, 4, 4, 4, 3, 4, 4, 5, 4]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Lastly, under &#039;&#039;&#039;Type Map&#039;&#039;&#039;, add the key &amp;quot;sound&amp;quot; with the value of &#039;&#039;&#039;19&#039;&#039;&#039; representing the 19th index within the Type Matchup table. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypeMap.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and make be sure to save once you are finished!&lt;br /&gt;
&lt;br /&gt;
== Adding Type Icon ==&lt;br /&gt;
&lt;br /&gt;
Remember that we set the Sound icon to &amp;quot;&amp;quot; (\uE093). We now need to modify the base game font to include the icon below.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_E093.png]]&lt;br /&gt;
&lt;br /&gt;
Save the image and rename it to &#039;&#039;&#039;E093.png&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should create backup of PMDO/Font/text.font or you can redownload later [https://github.com/audinowho/DumpAsset/tree/37e1c791568acb4a9b776c4abb7020fea015108d/Content/Font, here].&lt;br /&gt;
&lt;br /&gt;
Then you will need to download the necessary assets (~1.57 GB) [https://github.com/PMDCollab/RawAsset, here] and place the folder the same level as the PMDO executable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: You actually only need the RawAsset/Font directory for this guide.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Your folder structure should have a similar structure below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MODS/&lt;br /&gt;
RawAsset/&lt;br /&gt;
├─ font/&lt;br /&gt;
│  ├─ text/&lt;br /&gt;
│  ├─ yellow/&lt;br /&gt;
PMDO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then move the &#039;&#039;&#039;E093.png&#039;&#039;&#039; into RawAsset/font/text. &lt;br /&gt;
&lt;br /&gt;
Through the command line, run the PMDO executable file like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./PMDO -convert font&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This might take a couple minutes for the program to finish executing. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This has the side-effect of replacing the current fonts in PMDO/Content/Fonts, hence the backup.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If everything worked correctly, you should see the following files in PMDO/Content/Fonts.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_FontResults.png|300px]]&lt;br /&gt;
&lt;br /&gt;
You can move/copy the new text.font into PMDO/MODS/{MOD_NAME}/Content/Fonts.&lt;br /&gt;
&lt;br /&gt;
== Viewing Results ==&lt;br /&gt;
&lt;br /&gt;
We will now modify the one of the Pokémon to be Sound type. In the Dev Menu, navigate to Data-&amp;gt;Monster and select Whismur. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_Whismur.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Scroll down until you see Forms and click on Whismur.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_WhismurForm.png|250px]]&lt;br /&gt;
&lt;br /&gt;
Scroll down until you see the types and change &#039;&#039;&#039;Element 1&#039;&#039;&#039; to Sound. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_WhismurSound.png|250px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039; and save your work!&lt;br /&gt;
&lt;br /&gt;
In the Player tab in the Dev Menu, set your character to be Whismur. You should see that Whismur is now a &#039;&#039;&#039;Sound-type&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
![[File:Custom_Types_WhisterFinalResult.png|300px]]&lt;br /&gt;
&lt;br /&gt;
This concludes adding your custom Pokémon type! This guide covered modifying the Type Matchup table and font modding! Keep in mind, you will need to modify many Pokémon and moves to be Sound type. &lt;br /&gt;
&lt;br /&gt;
[[Category:Modding Data]]&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1586</id>
		<title>Tutorial:Creating New Types</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1586"/>
		<updated>2023-08-25T23:09:18Z</updated>

		<summary type="html">&lt;p&gt;Trio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this walkthrough, we&#039;ll add a new type — Sound — into PMDO, which is based on the specification described [https://pokemon-xenoverse.fandom.com/wiki/Sound_(type) here].  Make your game is set to a mod in [[Modding Intro]] so that you’re editing a mod instead of the base game. &lt;br /&gt;
&lt;br /&gt;
== Creating the New Type ==&lt;br /&gt;
&lt;br /&gt;
Begin by creating a new type in the Element list.&lt;br /&gt;
&lt;br /&gt;
[[File:DevPanel_Data.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementList2.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;Add&#039;&#039;&#039; and set the name to be &amp;quot;sound&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundName.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should see the following page below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundOverview.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Then do the following steps:&lt;br /&gt;
* Set the &#039;&#039;&#039;Name&#039;&#039;&#039; to be &amp;quot;Sound&amp;quot;&lt;br /&gt;
* Set the &#039;&#039;&#039;Symbol&#039;&#039;&#039; to be &amp;quot;&amp;quot; which represents the unicode &#039;&#039;&#039;\uE093&#039;&#039;&#039;. This will be located next to {{TypeIcon|type=Water}}Water in the [https://wiki.pmdo.pmdcollab.org/Text_Guide#Special_Characters, PMDO&#039;s unicode ordering].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: As of 0.7.16, you will need to manually open PMDO/MODS/{MOD_NAME}/Elements/sound.json to add the &#039;&#039;&#039;Symbol&#039;&#039;&#039; &amp;quot;&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Your JSON file for Sound should look similar to below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;Version&amp;quot;: &amp;quot;0.7.16.0&amp;quot;,&lt;br /&gt;
&amp;quot;Object&amp;quot;: {&lt;br /&gt;
&amp;quot;$type&amp;quot;: &amp;quot;RogueEssence.Data.ElementData, RogueEssence&amp;quot;,&lt;br /&gt;
&amp;quot;Name&amp;quot;: {&lt;br /&gt;
&amp;quot;DefaultText&amp;quot;: &amp;quot;Sound&amp;quot;,&lt;br /&gt;
&amp;quot;LocalTexts&amp;quot;: {}&lt;br /&gt;
},&lt;br /&gt;
&amp;quot;Comment&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;Symbol&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;OK&#039;&#039;&#039; and save your progress!&lt;br /&gt;
&lt;br /&gt;
== Editing Type Matchups ==&lt;br /&gt;
&lt;br /&gt;
We will be referencing the chart below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundChart.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In the Dev Menu, navigate over to &#039;&#039;&#039;Constants&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Universal&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_UniversalEvent.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Under &#039;&#039;&#039;Universal States&#039;&#039;&#039;, click on &#039;&#039;&#039;PMDC.Dungeon.ElementTableState&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Below shows how the Type Matchups are ordered:&lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ Type Ordering&lt;br /&gt;
! Index&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| {{TypeIcon|type=None}}Typeless&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| {{TypeIcon|type=Bug}}Bug&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| {{TypeIcon|type=Dark}}Dark&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| {{TypeIcon|type=Dragon}}Dragon&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| {{TypeIcon|type=Electric}}Electric&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| {{TypeIcon|type=Fairy}}Fairy&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| {{TypeIcon|type=Fighting}}Fighting&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| {{TypeIcon|type=Fire}}Fire&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| {{TypeIcon|type=Flying}}Flying&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| {{TypeIcon|type=Ghost}}Ghost&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| {{TypeIcon|type=Grass}}Grass&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| {{TypeIcon|type=Ground}}Ground&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| {{TypeIcon|type=Ice}}Ice&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| {{TypeIcon|type=Normal}}Normal&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| {{TypeIcon|type=Poison}}Poison&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| {{TypeIcon|type=Psychic}}Psychic&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| {{TypeIcon|type=Rock}}Rock&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| {{TypeIcon|type=Steel}}Steel&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| {{TypeIcon|type=Water}}Water&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example, clicking on the second &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 1)&#039;&#039; opens all the effectiveness of {{TypeIcon|type=Bug}}Bug against all other types. The third element (Index 2) which represents {{TypeIcon|type=Dark}}Dark is shown with an effectiveness of &#039;&#039;&#039;5&#039;&#039;&#039; (see table below). &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_BugTypeMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Below is a table of what effectiveness each number represents. &lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ &lt;br /&gt;
! # Representation&lt;br /&gt;
! Effectiveness&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| No effect&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Not very effective&lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| Neutral&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Super effective&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In this case, the &#039;&#039;&#039;5&#039;&#039;&#039; represents that {{TypeIcon|type=Bug}}Bug is super-effective against {{TypeIcon|type=Dark}}Dark.  &lt;br /&gt;
&lt;br /&gt;
Thus, when we add the &#039;&#039;&#039;Sound-type&#039;&#039;&#039;, we need to update each &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; element to include its matchup against Sound.  For example, the first &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 0)&#039;&#039; is  {{TypeIcon|type=None}}Typeless versus all types.&lt;br /&gt;
&lt;br /&gt;
Click on that. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessAll.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Then click on [Add] and enter 4 to indicate that {{TypeIcon|type=None}}Typeless is neutral against Sound.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessMatchup.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click [OK] and continue adding the rest of the type matchups (19 types in total) against Sound. &lt;br /&gt;
&lt;br /&gt;
We also need to add a new &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; to represent how effective the Sound-type is against other types.  &lt;br /&gt;
&lt;br /&gt;
Under Type Matchups, click on [Add]. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|200px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundEmptyMatchup.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Then you will begin adding the effectiveness number from the table above. You will need add 20 (including Sound) numbers in total in the order corresponding to the indexed Pokémon types table. You should have the following numbers in this specific order: &#039;&#039;&#039;[4, 4, 4, 3, 3, 5, 4, 4, 5, 4, 4, 4, 4, 4, 4, 3, 4, 4, 5, 4]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Lastly, under &#039;&#039;&#039;Type Map&#039;&#039;&#039;, add the key &amp;quot;sound&amp;quot; with the value of &#039;&#039;&#039;19&#039;&#039;&#039; representing the 19th index within the Type Matchup table. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypeMap.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click [OK] and make be sure to save once you are finished!&lt;br /&gt;
&lt;br /&gt;
== Adding Type Icon ==&lt;br /&gt;
&lt;br /&gt;
Remember that we set the Sound icon to &amp;quot;&amp;quot; (\uE093). We now need to modify the base game font to include the icon below.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_E093.png]]&lt;br /&gt;
&lt;br /&gt;
Save the image and rename it to &#039;&#039;&#039;E093.png&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should create backup of PMDO/Font/text.font or you can redownload later [https://github.com/audinowho/DumpAsset/tree/37e1c791568acb4a9b776c4abb7020fea015108d/Content/Font, here].&lt;br /&gt;
&lt;br /&gt;
Then you will need to download the necessary assets (~1.57 GB) [https://github.com/PMDCollab/RawAsset, here] and place the folder the same level as the PMDO executable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: You actually only need the RawAsset/Font directory for this guide.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Your folder structure should have a similar structure below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MODS/&lt;br /&gt;
RawAsset/&lt;br /&gt;
├─ font/&lt;br /&gt;
│  ├─ text/&lt;br /&gt;
│  ├─ yellow/&lt;br /&gt;
PMDO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then move the &#039;&#039;&#039;E093.png&#039;&#039;&#039; into RawAsset/font/text. &lt;br /&gt;
&lt;br /&gt;
Through the command line, run the PMDO executable file like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./PMDO -convert font&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This might take a couple minutes for the program to finish executing. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This has the side-effect of replacing the current fonts in PMDO/Content/Fonts, hence the backup.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If everything worked correctly, you should see the following files in PMDO/Content/Fonts.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_FontResults.png|300px]]&lt;br /&gt;
&lt;br /&gt;
You can move/copy the new text.font into PMDO/MODS/{MOD_NAME}/Content/Fonts.&lt;br /&gt;
&lt;br /&gt;
== Viewing Results ==&lt;br /&gt;
&lt;br /&gt;
We will now modify the one of the Pokémon to be Sound type. In the Dev Menu, navigate to Data-&amp;gt;Monster and select Whismur. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_Whismur.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Scroll down until you see Forms and click on Whismur.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_WhismurForm.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Scroll down until you see the types and change Element 1 to Sound. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_WhismurSound.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Click [OK] and save your work!&lt;br /&gt;
&lt;br /&gt;
In the Player tab in the Dev Menu, set your character to be Whismur. You should see that Whismur is now a &#039;&#039;&#039;Sound-type&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
![[File:Custom_Types_WhisterFinalResult.png|300px]]&lt;br /&gt;
&lt;br /&gt;
This concludes adding your custom Pokémon type! This guide covered modifying the Type Matchup table and font modding! Keep in mind, you will need to modify many Pokémon and moves to be Sound type. &lt;br /&gt;
&lt;br /&gt;
[[Category:Modding Data]]&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1585</id>
		<title>Tutorial:Creating New Types</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1585"/>
		<updated>2023-08-25T23:03:53Z</updated>

		<summary type="html">&lt;p&gt;Trio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this walkthrough, we&#039;ll add a new type — Sound — into PMDO, which is based on the specification described [https://pokemon-xenoverse.fandom.com/wiki/Sound_(type) here].  Make your game is set to a mod in [[Modding Intro]] so that you’re editing a mod instead of the base game. &lt;br /&gt;
&lt;br /&gt;
== Creating the New Type ==&lt;br /&gt;
&lt;br /&gt;
Begin by creating a new type in the Element list.&lt;br /&gt;
&lt;br /&gt;
[[File:DevPanel_Data.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementList2.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;Add&#039;&#039;&#039; and set the name to be &amp;quot;sound&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundName.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should see the following page below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundOverview.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Then do the following steps:&lt;br /&gt;
* Set the &#039;&#039;&#039;Name&#039;&#039;&#039; to be &amp;quot;Sound&amp;quot;&lt;br /&gt;
* Set the &#039;&#039;&#039;Symbol&#039;&#039;&#039; to be &amp;quot;&amp;quot; which represents the unicode &#039;&#039;&#039;\uE093&#039;&#039;&#039;. This will be located next to {{TypeIcon|type=Water}}Water in the [https://wiki.pmdo.pmdcollab.org/Text_Guide#Special_Characters, PMDO&#039;s unicode ordering].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: As of 0.7.16, you will need to manually open PMDO/MODS/{MOD_NAME}/Elements/sound.json to add the &#039;&#039;&#039;Symbol&#039;&#039;&#039; &amp;quot;&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Your JSON file for Sound should look similar to below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;Version&amp;quot;: &amp;quot;0.7.16.0&amp;quot;,&lt;br /&gt;
&amp;quot;Object&amp;quot;: {&lt;br /&gt;
&amp;quot;$type&amp;quot;: &amp;quot;RogueEssence.Data.ElementData, RogueEssence&amp;quot;,&lt;br /&gt;
&amp;quot;Name&amp;quot;: {&lt;br /&gt;
&amp;quot;DefaultText&amp;quot;: &amp;quot;Sound&amp;quot;,&lt;br /&gt;
&amp;quot;LocalTexts&amp;quot;: {}&lt;br /&gt;
},&lt;br /&gt;
&amp;quot;Comment&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;Symbol&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;OK&#039;&#039;&#039; and save your progress!&lt;br /&gt;
&lt;br /&gt;
== Editing Type Matchups ==&lt;br /&gt;
&lt;br /&gt;
We will be referencing the chart below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundChart.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In the Dev Menu, navigate over to &#039;&#039;&#039;Constants&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Universal&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_UniversalEvent.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Under &#039;&#039;&#039;Universal States&#039;&#039;&#039;, click on &#039;&#039;&#039;PMDC.Dungeon.ElementTableState&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Below shows how the Type Matchups are ordered:&lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ Type Ordering&lt;br /&gt;
! Index&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| {{TypeIcon|type=None}}Typeless&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| {{TypeIcon|type=Bug}}Bug&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| {{TypeIcon|type=Dark}}Dark&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| {{TypeIcon|type=Dragon}}Dragon&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| {{TypeIcon|type=Electric}}Electric&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| {{TypeIcon|type=Fairy}}Fairy&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| {{TypeIcon|type=Fighting}}Fighting&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| {{TypeIcon|type=Fire}}Fire&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| {{TypeIcon|type=Flying}}Flying&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| {{TypeIcon|type=Ghost}}Ghost&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| {{TypeIcon|type=Grass}}Grass&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| {{TypeIcon|type=Ground}}Ground&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| {{TypeIcon|type=Ice}}Ice&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| {{TypeIcon|type=Normal}}Normal&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| {{TypeIcon|type=Poison}}Poison&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| {{TypeIcon|type=Psychic}}Psychic&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| {{TypeIcon|type=Rock}}Rock&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| {{TypeIcon|type=Steel}}Steel&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| {{TypeIcon|type=Water}}Water&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example, clicking on the second &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 1)&#039;&#039; opens all the effectiveness of {{TypeIcon|type=Bug}}Bug against all other types. The third element (Index 2) which represents {{TypeIcon|type=Dark}}Dark is shown with an effectiveness of &#039;&#039;&#039;5&#039;&#039;&#039; (see table below). &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_BugTypeMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Below is a table of what effectiveness each number represents. &lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ &lt;br /&gt;
! # Representation&lt;br /&gt;
! Effectiveness&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| No effect&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Not very effective&lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| Neutral&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Super effective&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In this case, the &#039;&#039;&#039;5&#039;&#039;&#039; represents that {{TypeIcon|type=Bug}}Bug is super-effective against {{TypeIcon|type=Dark}}Dark.  &lt;br /&gt;
&lt;br /&gt;
Thus, when we add the &#039;&#039;&#039;Sound-type&#039;&#039;&#039;, we need to update each &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; element to include its matchup against Sound.  For example, the first &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 0)&#039;&#039; is  {{TypeIcon|type=None}}Typeless versus all types.&lt;br /&gt;
&lt;br /&gt;
Click on that. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessAll.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Then click on [Add] and enter 4 to indicate that {{TypeIcon|type=None}}Typeless is neutral against Sound.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessMatchup.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click [OK] and continue adding the rest of the type matchups (19 types in total) against Sound. &lt;br /&gt;
&lt;br /&gt;
We also need to add a new &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; to represent how effective the Sound-type is against other types.  &lt;br /&gt;
&lt;br /&gt;
Under Type Matchups, click on [Add]. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|200px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundEmptyMatchup.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Then you will begin adding the effectiveness number from the table above. You will need add 20 (including Sound) numbers in total in the order corresponding to the indexed Pokémon types table. You should have the following numbers in this specific order: &#039;&#039;&#039;[4, 4, 4, 3, 3, 5, 4, 4, 5, 4, 4, 4, 4, 4, 4, 3, 4, 4, 5, 4]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Lastly, under Type Map, add the key &amp;quot;sound&amp;quot; with the value of &#039;&#039;&#039;19&#039;&#039;&#039; representing the 19th index within the Type Matchup table. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypeMap.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click [OK] and make be sure to save once you are finished!&lt;br /&gt;
&lt;br /&gt;
== Adding Type Icon ==&lt;br /&gt;
&lt;br /&gt;
Remember that we set the Sound icon to &amp;quot;&amp;quot; (\uE093). We now need to modify the base game font to include the icon below.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_E093.png]]&lt;br /&gt;
&lt;br /&gt;
Save the image and rename it to &#039;&#039;&#039;E093.png&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should create backup of PMDO/Font/text.font or you can redownload later [https://github.com/audinowho/DumpAsset/tree/37e1c791568acb4a9b776c4abb7020fea015108d/Content/Font, here].&lt;br /&gt;
&lt;br /&gt;
Then you will need to download the necessary assets (~1.57 GB) [https://github.com/PMDCollab/RawAsset, here] and place the folder the same level as the PMDO executable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: You actually only need the RawAsset/Font directory for this guide.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Your folder structure should have a similar structure below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MODS/&lt;br /&gt;
RawAsset/&lt;br /&gt;
├─ font/&lt;br /&gt;
│  ├─ text/&lt;br /&gt;
│  ├─ yellow/&lt;br /&gt;
PMDO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then move the &#039;&#039;&#039;E093.png&#039;&#039;&#039; into RawAsset/font/text. &lt;br /&gt;
&lt;br /&gt;
Through the command line, run the PMDO executable file like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./PMDO -convert font&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This might take a couple minutes for the program to finish executing. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This has the side-effect of replacing the current fonts in PMDO/Content/Fonts, hence the backup.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If everything worked correctly, you should see the following files in PMDO/Content/Fonts.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_FontResults]]&lt;br /&gt;
&lt;br /&gt;
You can move/copy the new text.font into PMDO/MODS/{MOD_NAME}/Content/Fonts.&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1584</id>
		<title>Tutorial:Creating New Types</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1584"/>
		<updated>2023-08-25T22:50:12Z</updated>

		<summary type="html">&lt;p&gt;Trio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this walkthrough, we&#039;ll add a new type — Sound — into PMDO, which is based on the specification described [https://pokemon-xenoverse.fandom.com/wiki/Sound_(type) here].  Make your game is set to a mod in [[Modding Intro]] so that you’re editing a mod instead of the base game. &lt;br /&gt;
&lt;br /&gt;
== Creating the New Type ==&lt;br /&gt;
&lt;br /&gt;
Begin by creating a new type in the Element list.&lt;br /&gt;
&lt;br /&gt;
[[File:DevPanel_Data.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementList2.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;Add&#039;&#039;&#039; and set the name to be &amp;quot;sound&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundName.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should see the following page below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundOverview.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Then do the following steps:&lt;br /&gt;
* Set the &#039;&#039;&#039;Name&#039;&#039;&#039; to be &amp;quot;Sound&amp;quot;&lt;br /&gt;
* Set the &#039;&#039;&#039;Symbol&#039;&#039;&#039; to be &amp;quot;&amp;quot; which represents the unicode &#039;&#039;&#039;\uE093&#039;&#039;&#039;. This will be located next to {{TypeIcon|type=Water}}Water in the [https://wiki.pmdo.pmdcollab.org/Text_Guide#Special_Characters, PMDO&#039;s unicode ordering].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: As of 0.7.16, you will need to manually open PMDO/MODS/{MOD_NAME}/Elements/sound.json to add the &#039;&#039;&#039;Symbol&#039;&#039;&#039; &amp;quot;&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Your JSON file for Sound should look similar to below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;Version&amp;quot;: &amp;quot;0.7.16.0&amp;quot;,&lt;br /&gt;
&amp;quot;Object&amp;quot;: {&lt;br /&gt;
&amp;quot;$type&amp;quot;: &amp;quot;RogueEssence.Data.ElementData, RogueEssence&amp;quot;,&lt;br /&gt;
&amp;quot;Name&amp;quot;: {&lt;br /&gt;
&amp;quot;DefaultText&amp;quot;: &amp;quot;Sound&amp;quot;,&lt;br /&gt;
&amp;quot;LocalTexts&amp;quot;: {}&lt;br /&gt;
},&lt;br /&gt;
&amp;quot;Comment&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;Symbol&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;OK&#039;&#039;&#039; and save your progress!&lt;br /&gt;
&lt;br /&gt;
== Editing Type Matchups ==&lt;br /&gt;
&lt;br /&gt;
We will be referencing the chart below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundChart.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In the Dev Menu, navigate over to &#039;&#039;&#039;Constants&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Universal&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_UniversalEvent.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Under &#039;&#039;&#039;Universal States&#039;&#039;&#039;, click on &#039;&#039;&#039;PMDC.Dungeon.ElementTableState&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Below shows how the Type Matchups are ordered:&lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ Type Ordering&lt;br /&gt;
! Index&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| {{TypeIcon|type=None}}Typeless&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| {{TypeIcon|type=Bug}}Bug&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| {{TypeIcon|type=Dark}}Dark&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| {{TypeIcon|type=Dragon}}Dragon&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| {{TypeIcon|type=Electric}}Electric&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| {{TypeIcon|type=Fairy}}Fairy&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| {{TypeIcon|type=Fighting}}Fighting&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| {{TypeIcon|type=Fire}}Fire&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| {{TypeIcon|type=Flying}}Flying&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| {{TypeIcon|type=Ghost}}Ghost&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| {{TypeIcon|type=Grass}}Grass&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| {{TypeIcon|type=Ground}}Ground&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| {{TypeIcon|type=Ice}}Ice&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| {{TypeIcon|type=Normal}}Normal&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| {{TypeIcon|type=Poison}}Poison&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| {{TypeIcon|type=Psychic}}Psychic&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| {{TypeIcon|type=Rock}}Rock&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| {{TypeIcon|type=Steel}}Steel&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| {{TypeIcon|type=Water}}Water&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example, clicking on the second &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 1)&#039;&#039; opens all the effectiveness of {{TypeIcon|type=Bug}}Bug against all other types. The third element (Index 2) which represents {{TypeIcon|type=Dark}}Dark is shown with an effectiveness of &#039;&#039;&#039;5&#039;&#039;&#039; (see table below). &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_BugTypeMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Below is a table of what effectiveness each number represents. &lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ &lt;br /&gt;
! # Representation&lt;br /&gt;
! Effectiveness&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| No effect&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Not very effective&lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| Neutral&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Super effective&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In this case, the &#039;&#039;&#039;5&#039;&#039;&#039; represents that {TypeIcon|type=Bug}}Bug is super-effective against {{TypeIcon|type=Dark}}Dark.  &lt;br /&gt;
&lt;br /&gt;
Thus, when we add the &#039;&#039;&#039;Sound-type&#039;&#039;&#039;, we need to update each &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; element to include its matchup against Sound.  For example, the first &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; &#039;&#039;(Index 0)&#039;&#039; is  {{TypeIcon|type=None}}Typeless versus all types.&lt;br /&gt;
&lt;br /&gt;
Click on that. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessAll.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Then click on [Add] and enter 4 to indicate that {{TypeIcon|type=None}}Typeless is neutral against Sound.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypelessMatchup.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click [OK] and continue adding the rest of the type matchups (19 types in total) against Sound. &lt;br /&gt;
&lt;br /&gt;
We also need to add a new &#039;&#039;&#039;System.Int32[]&#039;&#039;&#039; to represent how effective the Sound-type is against other types.  &lt;br /&gt;
&lt;br /&gt;
Under Type Matchups, click on [Add]. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|200px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundEmptyMatchup.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Then you will begin adding the effectiveness number from the table above. You will need add 20 (including Sound) numbers in total in the order corresponding to the indexed Pokémon types table. You should have the following numbers in this specific order: &#039;&#039;&#039;[4, 4, 4, 3, 3, 5, 4, 4, 5, 4, 4, 4, 4, 4, 4, 3, 4, 4, 5, 4]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Lastly, under Type Map, add the key &amp;quot;sound&amp;quot; with the value of &#039;&#039;&#039;19&#039;&#039;&#039; representing the 19th index within the Type Matchup table. &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_TypeMap.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click [OK] and make be sure to save once you are finished!&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1583</id>
		<title>Tutorial:Creating New Types</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Tutorial:Creating_New_Types&amp;diff=1583"/>
		<updated>2023-08-25T22:36:30Z</updated>

		<summary type="html">&lt;p&gt;Trio: Created page with &amp;quot;In this walkthrough, we&amp;#039;ll add a new type — Sound — into PMDO, which is based on the specification described [https://pokemon-xenoverse.fandom.com/wiki/Sound_(type) here].  Make your game is set to a mod in Modding Intro so that you’re editing a mod instead of the base game.   == Creating the New Type ==  Begin by creating a new type in the Element list.  frameless  200px  Click on &amp;#039;&amp;#039;&amp;#039;Add&amp;#039;&amp;#039;&amp;#039; and...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this walkthrough, we&#039;ll add a new type — Sound — into PMDO, which is based on the specification described [https://pokemon-xenoverse.fandom.com/wiki/Sound_(type) here].  Make your game is set to a mod in [[Modding Intro]] so that you’re editing a mod instead of the base game. &lt;br /&gt;
&lt;br /&gt;
== Creating the New Type ==&lt;br /&gt;
&lt;br /&gt;
Begin by creating a new type in the Element list.&lt;br /&gt;
&lt;br /&gt;
[[File:DevPanel_Data.png|frameless]]&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementList2.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;Add&#039;&#039;&#039; and set the name to be &amp;quot;sound&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundName.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Click &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You should see the following page below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundOverview.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Then do the following steps:&lt;br /&gt;
* Set the &#039;&#039;&#039;Name&#039;&#039;&#039; to be &amp;quot;Sound&amp;quot;&lt;br /&gt;
* Set the &#039;&#039;&#039;Symbol&#039;&#039;&#039; to be &amp;quot;&amp;quot; which represents the unicode &#039;&#039;&#039;\uE093&#039;&#039;&#039;. This will be located next to {{TypeIcon|type=Water}}Water in the [https://wiki.pmdo.pmdcollab.org/Text_Guide#Special_Characters, PMDO&#039;s unicode ordering].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: As of 0.7.16, you will need to manually open PMDO/MODS/{MOD_NAME}/Elements/sound.json to add the &#039;&#039;&#039;Symbol&#039;&#039;&#039; &amp;quot;&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Your JSON file for Sound should look similar to below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;Version&amp;quot;: &amp;quot;0.7.16.0&amp;quot;,&lt;br /&gt;
&amp;quot;Object&amp;quot;: {&lt;br /&gt;
&amp;quot;$type&amp;quot;: &amp;quot;RogueEssence.Data.ElementData, RogueEssence&amp;quot;,&lt;br /&gt;
&amp;quot;Name&amp;quot;: {&lt;br /&gt;
&amp;quot;DefaultText&amp;quot;: &amp;quot;Sound&amp;quot;,&lt;br /&gt;
&amp;quot;LocalTexts&amp;quot;: {}&lt;br /&gt;
},&lt;br /&gt;
&amp;quot;Comment&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;Symbol&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on &#039;&#039;&#039;OK&#039;&#039;&#039; and save your progress!&lt;br /&gt;
&lt;br /&gt;
== Editing Type Matchups ==&lt;br /&gt;
&lt;br /&gt;
We will be referencing the chart below:&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_SoundChart.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In the Dev Menu, navigate over to &#039;&#039;&#039;Constants&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Universal&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_UniversalEvent.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Under &#039;&#039;&#039;Universal States&#039;&#039;&#039;, click on &#039;&#039;&#039;PMDC.Dungeon.ElementTableState&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_ElementTableState.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Below shows how the Type Matchups are ordered:&lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ Type Ordering&lt;br /&gt;
! Index&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| {{TypeIcon|type=None}}Typeless&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| {{TypeIcon|type=Bug}}Bug&lt;br /&gt;
|-&lt;br /&gt;
| 2 &lt;br /&gt;
| {{TypeIcon|type=Dark}}Dark&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| {{TypeIcon|type=Dragon}}Dragon&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| {{TypeIcon|type=Electric}}Electric&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| {{TypeIcon|type=Fairy}}Fairy&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| {{TypeIcon|type=Fighting}}Fighting&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| {{TypeIcon|type=Fire}}Fire&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| {{TypeIcon|type=Flying}}Flying&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| {{TypeIcon|type=Ghost}}Ghost&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| {{TypeIcon|type=Grass}}Grass&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| {{TypeIcon|type=Ground}}Ground&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| {{TypeIcon|type=Ice}}Ice&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| {{TypeIcon|type=Normal}}Normal&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| {{TypeIcon|type=Poison}}Poison&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| {{TypeIcon|type=Psychic}}Psychic&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| {{TypeIcon|type=Rock}}Rock&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| {{TypeIcon|type=Steel}}Steel&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| {{TypeIcon|type=Water}}Water&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example, clicking on the second &#039;&#039;&#039;&#039;&#039;System.Int32[]&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;(Index 1)&#039;&#039;&#039; opens all the effectiveness of {{TypeIcon|type=Bug}}Bug against all other types. The third element (Index 2) which represents {{TypeIcon|type=Dark}}Dark is shown with an effectiveness of 5 (see table below). &lt;br /&gt;
&lt;br /&gt;
[[File:Custom_Types_BugTypeMatchup.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Below is a table of what effectiveness each number represents. &lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|+ &lt;br /&gt;
! # Representation&lt;br /&gt;
! Effectiveness&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| No effect&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Not very effective&lt;br /&gt;
|-&lt;br /&gt;
| 4 &lt;br /&gt;
| Neutral&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Super effective&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_ElementList2.png&amp;diff=1582</id>
		<title>File:Custom Types ElementList2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_ElementList2.png&amp;diff=1582"/>
		<updated>2023-08-25T22:18:17Z</updated>

		<summary type="html">&lt;p&gt;Trio: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_TypeMap.png&amp;diff=1581</id>
		<title>File:Custom Types TypeMap.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_TypeMap.png&amp;diff=1581"/>
		<updated>2023-08-25T22:05:25Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_TypelessMatchup.png&amp;diff=1580</id>
		<title>File:Custom Types TypelessMatchup.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_TypelessMatchup.png&amp;diff=1580"/>
		<updated>2023-08-25T22:05:25Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_SoundChart.png&amp;diff=1579</id>
		<title>File:Custom Types SoundChart.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_SoundChart.png&amp;diff=1579"/>
		<updated>2023-08-25T22:05:25Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_E093.png&amp;diff=1578</id>
		<title>File:Custom Types E093.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_E093.png&amp;diff=1578"/>
		<updated>2023-08-25T22:05:25Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_WhisterFinalResult.png&amp;diff=1577</id>
		<title>File:Custom Types WhisterFinalResult.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_WhisterFinalResult.png&amp;diff=1577"/>
		<updated>2023-08-25T22:05:25Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_SoundEmptyMatchup.png&amp;diff=1576</id>
		<title>File:Custom Types SoundEmptyMatchup.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_SoundEmptyMatchup.png&amp;diff=1576"/>
		<updated>2023-08-25T22:05:24Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_FontResults.png&amp;diff=1575</id>
		<title>File:Custom Types FontResults.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_FontResults.png&amp;diff=1575"/>
		<updated>2023-08-25T22:05:24Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_WhismurSound.png&amp;diff=1574</id>
		<title>File:Custom Types WhismurSound.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_WhismurSound.png&amp;diff=1574"/>
		<updated>2023-08-25T22:05:24Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_ElementTableState.png&amp;diff=1573</id>
		<title>File:Custom Types ElementTableState.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_ElementTableState.png&amp;diff=1573"/>
		<updated>2023-08-25T22:05:24Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_SoundOverview.png&amp;diff=1572</id>
		<title>File:Custom Types SoundOverview.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_SoundOverview.png&amp;diff=1572"/>
		<updated>2023-08-25T22:05:24Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_SoundCompleted.png&amp;diff=1571</id>
		<title>File:Custom Types SoundCompleted.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_SoundCompleted.png&amp;diff=1571"/>
		<updated>2023-08-25T22:05:24Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_UniversalEvent.png&amp;diff=1570</id>
		<title>File:Custom Types UniversalEvent.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_UniversalEvent.png&amp;diff=1570"/>
		<updated>2023-08-25T22:05:24Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_BugTypeMatchup.png&amp;diff=1569</id>
		<title>File:Custom Types BugTypeMatchup.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_BugTypeMatchup.png&amp;diff=1569"/>
		<updated>2023-08-25T22:05:23Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_WhismurForm.png&amp;diff=1568</id>
		<title>File:Custom Types WhismurForm.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_WhismurForm.png&amp;diff=1568"/>
		<updated>2023-08-25T22:05:23Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_TypelessAll.png&amp;diff=1567</id>
		<title>File:Custom Types TypelessAll.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_TypelessAll.png&amp;diff=1567"/>
		<updated>2023-08-25T22:05:23Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_Whismur.png&amp;diff=1566</id>
		<title>File:Custom Types Whismur.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_Whismur.png&amp;diff=1566"/>
		<updated>2023-08-25T22:05:22Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_ElementList.png&amp;diff=1565</id>
		<title>File:Custom Types ElementList.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_ElementList.png&amp;diff=1565"/>
		<updated>2023-08-25T22:05:22Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_SoundName.png&amp;diff=1564</id>
		<title>File:Custom Types SoundName.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=File:Custom_Types_SoundName.png&amp;diff=1564"/>
		<updated>2023-08-25T22:05:22Z</updated>

		<summary type="html">&lt;p&gt;Trio: Uploaded with SimpleBatchUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1524</id>
		<title>Lua Function Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1524"/>
		<updated>2023-08-20T05:38:54Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* GROUND:Unhide(System.String) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows all script functions that can be called from Lua&lt;br /&gt;
&lt;br /&gt;
== AI:SetCharacterAI(RogueEssence.Ground.GroundChar,System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assign the given scripted AI class to the specified GroundChar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;classpath&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:DisableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disable a given groundchar&#039;s AI processing until its enabled again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:EnableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:SetAIState(RogueEssence.Ground.GroundChar,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharTurnToChar(RogueEssence.Dungeon.Character,RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:LastDungeonResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the result of the last dungeon adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the floor number of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonAssetName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the internal name for the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonDisplayName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the localized name of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharSetEmote(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s emote in a dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DUNGEON:CharSetEmote(chara, &amp;quot;sweating&amp;quot;, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharStartAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharEndAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharEndAnim(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation, and waits until it completed before continue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX in the dungeon map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position in pixels&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local shake = RogueEssence.Content.ScreenMover(0, 12, 50)&lt;br /&gt;
GROUND:MoveScreen(shake)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GroundSave ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saves the game while in ground mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:GroundSave()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetModDiff(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;uuidStr&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentGround ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current zone, also known as dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.Int32,System.Int32,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The index of the ground map in the zone&lt;br /&gt;
* &amp;lt;code&amp;gt;idxentrypoint&amp;lt;/code&amp;gt;: The index of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within a new zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;: The name of the destination zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;stakes&amp;lt;/code&amp;gt;: Decides what happens when the adventure fails/succeeds.&lt;br /&gt;
* &amp;lt;code&amp;gt;recorded&amp;lt;/code&amp;gt;: Record the adventure in a replay&lt;br /&gt;
* &amp;lt;code&amp;gt;silentRestrict&amp;lt;/code&amp;gt;: Make the dungeon restrictions silently&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterDungeon(1, 0, 0, 0, RogueEssence.Data.GameProgress.DungeonStakes.Risk, true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:ContinueDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and continues the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:ContinueDungeon(1, 1, 0, 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EndDungeonRun ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ends the current adventure, sending the player to a specified destination.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt;: The result of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;destzoneid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entryid&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;display&amp;lt;/code&amp;gt;: Display an epitaph marking the end of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;fanfare&amp;lt;/code&amp;gt;: Play a fanfare.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EndDungeonRun(GameProgress.ResultType.Cleared, 0, -1, 1, 0, true, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterRescue ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a rescue adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sosPath&amp;lt;/code&amp;gt;: The path of the sos mail.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterRescue(&amp;quot;RESCUE/INBOX/SOS/example.sosmail&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:AddAOKRemark(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;remarkIndex&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartToTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map and load up the title screen.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TASK:WaitTask(GAME:RestartToTitle())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartRogue(RogueEssence.Data.RogueConfig) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restarts a Roguelocke run based on the configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt;: The configuration of the roguelocke run&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local config = RogueEssence.Data.RogueConfig.RerollFromOther(_DATA.Save.Config)&lt;br /&gt;
GAME:RestartRogue(config)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterZone(System.String,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeOut ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade out the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;white&amp;lt;/code&amp;gt;: Fade to white if set to true.  Fades to black otherwise.&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeOut(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeIn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade into the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeIn(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:MoveCamera ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Centers the camera on a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time it takes ot move to the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;toPlayer&amp;lt;/code&amp;gt;: Destination is in absolute coordinates if false, and relative to the player character if set to true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:MoveCamera(200, 240, 60, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCameraCenter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current center of the camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Loc object representing the center of the camera.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsCameraOnChar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determines whether the camera is centered relative to the player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if the camera is relative to the player, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasSOSMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:HasAOKMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamLeaderIndex ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamLeaderIndex(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the leader to the chosen index within the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;idx&amp;lt;/code&amp;gt;: The index of the team member within the team.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCanSwitch(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prevents or allows the switching of leaders for the save file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;canSwitch&amp;lt;/code&amp;gt;: Set to true to allow switching, set to false to prevent it.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the player party count.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The count of players&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the party as a LuaTable.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of guests currently in the player&#039;s party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of guests&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the guests as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of characters currently in the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the assembly as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The assembly member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerTeam(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerTeam(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerGuest(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerGuest(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team&#039;s guests, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerAssembly(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerAssembly(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the assembly, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterNickname(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to rename&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;: The new name&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GAME:SetCharacterNickname(chara, &amp;quot;Steve&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterNickname(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to get the nickname from&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamName(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;teamname&amp;lt;/code&amp;gt;: The new team name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team&#039;s name&lt;br /&gt;
&lt;br /&gt;
== GAME:CanRelearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can relearn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanForget(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can forget any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanLearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can learn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CheckLevelSkills ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks the levels gained by a character and prompts to learn all skills along the levels.&lt;br /&gt;
Waits until all skills have been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to prompt for learning.&lt;br /&gt;
* &amp;lt;code&amp;gt;oldLevel&amp;lt;/code&amp;gt;: The level that the character leveled up from.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:CheckLevelSkills(player, 5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:TryLearnSkill ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempts to give a new skill to the specified character, prompting to replace an old one if they are full.&lt;br /&gt;
Waits until all the skill has been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:TryLearnSkill(player, &amp;quot;thunder&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:LearnSkill(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character.&lt;br /&gt;
Fails if the character&#039;s skills are full.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
== GAME:ForgetSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removed a skill from the specified character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to forget the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the skill to forget&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterSkill(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character, replacing a specifically chosen slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skillId&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to replace&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the skill from a specified character and specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to get the skill from.&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to get the skill from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ID of the skill in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:CanPromote(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can be promoted to a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the character can be promoted, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetAvailablePromotions(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets a list of possible classes that the character can prmote to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A lua table of PromoteBranch objects&lt;br /&gt;
&lt;br /&gt;
== GAME:PromoteCharacter(RogueEssence.Dungeon.Character,RogueEssence.Data.PromoteBranch,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Promotes a character ot a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to promote&lt;br /&gt;
* &amp;lt;code&amp;gt;branch&amp;lt;/code&amp;gt;: The PromoteBranch to promote with&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
== GAME:FindPlayerItem(System.String,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finds an item in the player&#039;s team and returns its slot within the inventory or among its team&#039;s equips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The item ID to search for.&lt;br /&gt;
* &amp;lt;code&amp;gt;held&amp;lt;/code&amp;gt;: Check equipped items.&lt;br /&gt;
* &amp;lt;code&amp;gt;inv&amp;lt;/code&amp;gt;: Check inventory items.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The InvSlot of the item. Invalid if the item could not be found.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local inv_slot = GAME:FindPlayerItem(&amp;quot;food_apple&amp;quot;, false, true)&lt;br /&gt;
if inv_slot:IsValid() then &lt;br /&gt;
  GAME:TakePlayerBagItem(inv_slot.Slot)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items equipped by players.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items in the bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagLimit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the maximum amount of item the player&#039;s team can carry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The team slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified guest slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The guest slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the item found at the specified slot of the player&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The item found in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove an item from player inventory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen member of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakeGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen guest of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team&#039;s guest list from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of items in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageItemCount(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of a specific item in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: ID of the item ot check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of copies currently in storage&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerStorageItem(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes an item from the storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item to take&lt;br /&gt;
&lt;br /&gt;
== GAME:DepositAll ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes all items in the player team&#039;s bag and equipped items, and deposits them in storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoney ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money the player currently has on hand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoneyBank ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money in the player&#039;s bank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsKeyDown(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a player is making a certain input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keyid&amp;lt;/code&amp;gt;: The ID of the input&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the button is currently pressed.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:CutsceneMode(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the game in cutscene mode. This prevents characters from taking idle action and hides certain UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bon&amp;lt;/code&amp;gt;: If set to true, turns cutscene mode on. If set to false, turns it off.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetDailySeed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the random seed for the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current adventure&#039;s seed.&lt;br /&gt;
&lt;br /&gt;
== GAME:UnlockDungeon(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unlocks a specified dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to unlock.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GAME:UnlockDungeon(&#039;faded_trail&#039;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:DungeonUnlocked(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a dungeon is unlocked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if unlocked, false otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local is_unlocked = GAME:DungeonUnlocked(&amp;quot;faded_trail&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:InRogueMode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the current game is in rogue mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if in rogue mode, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasServerSet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetRescueAllowed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks to see if rescue is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if rescues are allowed, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetRescueAllowed(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the value in the player&#039;s save file to determine if they can be rescued or not.&lt;br /&gt;
If rescue is possible on the Save File level, it can still be prevented by the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;allowed&amp;lt;/code&amp;gt;: Set to true to allow the player to be rescued.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:QueueLeaderEvent(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares an event to execute on the next frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:WaitFrames ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for a specified number of frames before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;frames&amp;lt;/code&amp;gt;: The number of frames ot wait.  Each frame is 1/60th of a second.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:WaitFrames(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(RogueElements.Loc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turns a vector (preferably a unit vector) into a cardinal or diagonal direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;: The vector.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(System.Double,System.Double) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenience function to get a vector&#039;s components from lua numbers(doubles)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;: The X value of the vector&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;: The Y value of the vector&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction the vector points to as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:RandomDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generates a random direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
An 8-directional direction.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetupLuaFunctions(RogueEssence.Script.LuaEngine) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setups any extra functionalities for this object written on the lua side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:Hide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to hide.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GROUND:Hide(&amp;quot;North_Exit&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:Unhide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unhides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to unhide.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GROUND:Hide(&amp;quot;North_Exit&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateObject(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;objtype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacter(System.String,System.String,System.Int32,System.Int32,System.String,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chartype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;actionfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;thinkfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveObject(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes an object from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveCharacter(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes a character from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacterFromCharData(System.String,RogueEssence.Dungeon.Character,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creates a ground character, given a dungeon character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name to give the character&lt;br /&gt;
* &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt;: Character data to create from&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction the character will face, defaults to Dir8.Down&lt;br /&gt;
&lt;br /&gt;
== GROUND:RefreshPlayer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reloads the controllable player&#039;s character data to be the current team&#039;s leader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:SetPlayer(RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the controllable player to use new character data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;charData&amp;lt;/code&amp;gt;: The new character data&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerDoSpawn(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make the specified spawner run its spawn method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ground character spawned.&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerSetSpawn(System.String,RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the character to the specified spawner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: The spawner to set the character to, by name&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnChar&amp;lt;/code&amp;gt;: The character to spawn.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToChar(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another character instantly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;turnchar&amp;lt;/code&amp;gt;: The character that is turning.&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: The character to turn to.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToCharAnimated ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face another character over the specified time.&lt;br /&gt;
Clockwise or counter-clockwise are chosen based on the closest direction.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: Character that is turning&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: Character to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: Time spent on each direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, charTo, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:EntTurn(RogueEssence.Ground.GroundEntity,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a ground entity turn to face a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity.  Can be a character or object.&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to face.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Must specify clockwise or counter-clockwise.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;ccw&amp;lt;/code&amp;gt;: false if clockwise, true if counter-clockwise&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurnTo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:TeleportTo(RogueEssence.Ground.GroundEntity,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Repositions the ground entity in a specified location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity to reposition&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to point the entity.  Defaults to Dir8.None, which leaves it untouched.&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move in a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, Dir8.Down, 24, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToMarker ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a ground marker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;mark&amp;lt;/code&amp;gt;: GroundMarker object ot move to&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, marker, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveObjectToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground object move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Ground Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground character move in a direction with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateInDirection(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 24, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground entity move to a position with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateToPosition(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 200, 240, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetEmote(RogueEssence.Ground.GroundChar,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a character emote on the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAnim(RogueEssence.Ground.GroundChar,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndAnim(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an animation and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Animation to play&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAnim(player, &amp;quot;Hurt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAction(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundAction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to perfomr the action&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: The action to perform&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an action and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: Action to perform&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAction(player, action)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetAnim(RogueEssence.Ground.GroundObject,System.Int32,System.Int32,System.Int32,RogueElements.Dir8,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s animation.  After it finishes, it will return to the default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to repeat the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetDefaultAnim(RogueEssence.Ground.GroundObject,System.String,System.Int32,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;animName&amp;lt;/code&amp;gt;: The name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectWaitAnimFrame ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the object to reach a specific frame before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object ot wait on&lt;br /&gt;
* &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: The frame of animation to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:WaitObjectAnim(fountain, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local chara = CH(&#039;PLAYER&#039;)&lt;br /&gt;
local emitter = RogueEssence.Content.FlashEmitter()&lt;br /&gt;
emitter.FadeInTime = 2&lt;br /&gt;
emitter.HoldTime = 4&lt;br /&gt;
emitter.FadeOutTime = 2&lt;br /&gt;
emitter.StartColor = Color(0, 0, 0, 0)&lt;br /&gt;
emitter.Layer = DrawLayer.Top&lt;br /&gt;
emitter.Anim = RogueEssence.Content.BGAnimData(&amp;quot;White&amp;quot;, 0)&lt;br /&gt;
GROUND:PlayVFX(emitter, chara.MapLoc.X, chara.MapLoc.Y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
== GROUND:AddMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a mapstatus to the ground map.  Map statuses only have an aesthetic effect in ground maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes a map status from the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status to remove.&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlaySE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect specifically from the Battle/ subdirectory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitSE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect, and waits for it to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitSE(&amp;quot;Battle/Hit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayFanfare(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitFanfare ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration.&lt;br /&gt;
This function waits for the sound to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitFanfare(&amp;quot;Battle/LevelUp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBGM(System.String,System.Boolean,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a song, replacing the current one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The file name of the song, relative to the Content/Music folder.&lt;br /&gt;
* &amp;lt;code&amp;gt;fade&amp;lt;/code&amp;gt;: Whether to fade the old song out, or start a new one.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the old song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBGM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops playing the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBGM(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:SetBGMVolume(System.Single) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current volume of the song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;: A float value between 0 and 1&lt;br /&gt;
&lt;br /&gt;
== SOUND:GetCurrentSong ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the currently playing song.  If the current song is fading out, gets the next song to be played.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The filename of the song, relative to the Content/Music folder&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocaleCode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current language setting of the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current language, represented by a locale code.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:Format(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: String to format.&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: Arguments&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The formatted string.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:FormatKey(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string given a string key.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: The string key to format&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: string arguments&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocalKeyString(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the string representing a button or key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The input type of the input.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The string representing the button o key the input maps to.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:CreateList(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Builds a single string of comma separated elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;listStrings&amp;lt;/code&amp;gt;: LuaTable of strings containing the elements to build the list from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The combined string containing all elements.&lt;br /&gt;
&lt;br /&gt;
== TASK:StartEntityTask(RogueEssence.Ground.GroundEntity,NLua.LuaFunction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to make an entity run the specified task.&lt;br /&gt;
Will not replace a running task!&lt;br /&gt;
Tasks are run interlocked with the script processing and game processing, and characters cannot run multiple tasks at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
== TASK:StopEntityTask(RogueEssence.Ground.GroundEntity) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to force stop an entity&#039;s current task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity running the task to stop.&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitStartEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes an entity run a specified task, and waits for it to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the specified entity to finish its task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which task we&#039;ll wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitEntityTask(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Runs a task and waits for it to complete.&lt;br /&gt;
Most methods that do not expose themselves to script need to be wrapped with this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitTask(_DUNGEON:AddMapStatus(&amp;quot;rain&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:StartScriptLocalCoroutine(NLua.LuaFunction,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A wrapper around the StartCoroutine method of the GameManager, so lua coroutines can be executed locally to the script context.&lt;br /&gt;
AKA, it will block the script execution while its executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== TASK:BranchCoroutine(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Starts a new coroutine to run parallel to the current execution.&lt;br /&gt;
Useful for performing multiple actions at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to run in parallel&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local coro1 = TASK:BranchCoroutine(GAME:_FadeIn(60))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:JoinCoroutines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for all specified coroutines to finish before continuing execution.&lt;br /&gt;
Often used for coroutines created using TASK:BranchCoroutine()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;coroTable&amp;lt;/code&amp;gt;: A table of coroutines to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:JoinCoroutines({coro1})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitInput ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the player to press a button before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowDialogue(System.String, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the player completes it.&lt;br /&gt;
Takes a string as an argument and optional LuaTable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function exclaim()&lt;br /&gt;
  SOUND:PlayBattleSE(&amp;quot;EVT_Emote_Exclaim_2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Exclaim [script=0]sound!&amp;quot;, { exclaim })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTimedDialogue(System.String, System.Int32, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the specified time has expired. Can take an optional LuaTable containing script calls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTimedDialogue(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextDialogue(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current dialogue text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowVoiceOver ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a voice over, waiting until the player completes it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowVoiceOver(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextVoiceOver(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current voice-over text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:PopUp(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes text pop up in the bottom-left corner. Displays concurrently with any other process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a title text, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTitle(&amp;quot;Hello World!&amp;quot;, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextShowTitle(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shows text in the format of a title drop.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the currently displayed title, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideTitle(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextFadeTitle(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the text set in a title drop.  Requires WaitDialog to actually fade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a chosen background image, with a chosen framerate, at a certain fade time, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowBG(&amp;quot;TestBG&amp;quot;, 3, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ShowBG(System.String,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets an image to display.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current background image, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideBG(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:FadeBG(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares a fade-out of the current image.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeaker(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clears the current speaker, so none is displayed the next time TextDialogue is called.&lt;br /&gt;
This also resets any custom dialogue box positions, portrait positions, and choice positions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: If turned on, the text from the dialogue boxes make sounds.  Default is on.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(System.String,System.Boolean,System.String,System.Int32,System.String,RogueEssence.Data.Gender) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Speaker name.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
* &amp;lt;code&amp;gt;specie&amp;lt;/code&amp;gt;: Species of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt;: Form of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt;: Skin of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;gender&amp;lt;/code&amp;gt;: Gender of the speaker&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Ground.GroundChar,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a ground map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Dungeon.Character,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a dungeon map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerReverse(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reverses the speaker orientation to face left instead of right.  This depends on the boolean passed in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetChoiceLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetChoiceLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog back to default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetBounds(System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;: Height of the box&lt;br /&gt;
&lt;br /&gt;
== UI:ResetBounds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerLoc(144, 16)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeakerLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSe(System.String, System.Int32) == &lt;br /&gt;
&lt;br /&gt;
Sets the speaker sound effect and the amount of frames in between each sound effect &lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;newSe&amp;lt;/code&amp;gt;: The path to the new sound effect&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect, optional&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:SetSe(&amp;quot;Battle/_UNK_DUN_Water_Drop&amp;quot;, 10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSe ==&lt;br /&gt;
 &lt;br /&gt;
Resets the default speaker sound effect and speak frames&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerTime(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
Sets the amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerTime(10)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerEmotion(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
Sets the emotion of the speaker in the dialogue box.&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emo&amp;lt;/code&amp;gt;: Emotion to display&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerEmotion(&amp;quot;Pain&amp;quot;, true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCenter(System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the centering of the text in the textbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;centerH&amp;lt;/code&amp;gt;: Horizontal centering&lt;br /&gt;
* &amp;lt;code&amp;gt;centerV&amp;lt;/code&amp;gt;: Vertical centering&lt;br /&gt;
&lt;br /&gt;
== UI:SetAutoFinish(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the text automatically finish when it shows up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;autoFinish&amp;lt;/code&amp;gt;: Auto-finishes text if true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetAutoFinish(true)&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;The mailbox is empty.&amp;quot;)&lt;br /&gt;
UI:SetAutoFinish(false)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitDialog ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set dialogue box and waits for the player to complete it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitDialog()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:_DummyWait ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instantly break. Used as default/invalid value when returning a yieldable value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceMenuYesNo(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask a question answered by yes or no via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: Question to be asked to the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;bdefaultstono&amp;lt;/code&amp;gt;: Whether the cursor starts on no by default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ChoiceMenuYesNo(&amp;quot;Would you like to continue on?&amp;quot;, false)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
localc continue = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:NameMenu(System.String,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the name input box.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The text to show above the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;: The text to show below the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;maxLength&amp;lt;/code&amp;gt;: The length of the text in pixels.&lt;br /&gt;
&lt;br /&gt;
== UI:AssemblyMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a menu for replacing party members with the assembly.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the boolean value indicating whether the team composition was changed or not, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShopMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Shop menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;goods&amp;lt;/code&amp;gt;: A table of items to be sold.  The format is { Item=InvItem, Price=int } for each item.&lt;br /&gt;
&lt;br /&gt;
== UI:SellMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Sell menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items to sell, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:StorageMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to exchange items in the inventory with.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WithdrawMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to withdraw from.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BankMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Bank menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SpoilsMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Spoils menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;appraisalMap&amp;lt;/code&amp;gt;: A table of mappings from containers to items, in the format of { Box=InvItem , Item=InvItem }&lt;br /&gt;
&lt;br /&gt;
== UI:AppraiseMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Appraisal menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TutorTeamMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Tutor Team menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team member, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:RelearnMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Relearn menu for a character.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:LearnMenu(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Learn menu for a character to replace an existing skill with a new one.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
* &amp;lt;code&amp;gt;skillNum&amp;lt;/code&amp;gt;: The new skill&lt;br /&gt;
&lt;br /&gt;
== UI:ForgetMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Forget menu for a character to forget a skill.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:ShowPromoteMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Promote menu to choose a team member to promote.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team slot, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CanSwapMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SwapMenu(NLua.LuaTable,NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TributeMenu(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowMusicMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Music menu to browse music for the game.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string representing the chosen song, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spoilerUnlocks&amp;lt;/code&amp;gt;: A lua table of strings representing progression flags that have been completed.&lt;br /&gt;
            Any ogg file that uses this tag as a spoiler tag will display in the menu only if the flag has been passed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ShowMusicMenu({&#039;MAIN_001&#039;})&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:DungeonChoice(System.String,RogueEssence.Dungeon.ZoneLoc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask to enter a destintion via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Name of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;dest&amp;lt;/code&amp;gt;: The ZoneLoc location of the destination.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:DungeonChoice(&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0) )&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local choice = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DungeonChoice&lt;br /&gt;
&lt;br /&gt;
== UI:DestinationMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing destinations, showing a preview of restrictions and requirements for dungeons.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the ZoneLoc indicating the chosen destination, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;destinations&amp;lt;/code&amp;gt;: A lua table representing the list of destinations with each element in the format of { Name=string, Dest=ZoneLoc }&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  local all_dests = { { Name=&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, Dest=RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0)} }&lt;br /&gt;
&lt;br /&gt;
  UI:DestinationMenu(all_dests)&lt;br /&gt;
  UI:WaitForChoice()&lt;br /&gt;
  local dest = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DestinationMenu&lt;br /&gt;
&lt;br /&gt;
== UI:ServersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ContactsMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SOSMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:AOKMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:PeersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowConnectMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CurrentActivityMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChooseMonsterMenu(System.String,NLua.LuaTable,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing monsters, showing a preview of their appearances via portrait.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string indicating the chosen species, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The title of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choices&amp;lt;/code&amp;gt;: A lua table of choices with each element being a MonsterID.&lt;br /&gt;
* &amp;lt;code&amp;gt;canMenu&amp;lt;/code&amp;gt;: If set to true, the Menu Button exits the menu if pressed.&lt;br /&gt;
* &amp;lt;code&amp;gt;canCancel&amp;lt;/code&amp;gt;: If set to true, the Cancel Button exits the menu if pressed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;bulbasaur&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;charmander&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;squirtle&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless)&lt;br /&gt;
}&lt;br /&gt;
UI:ChooseMonsterMenu(&amp;quot;Starter?&amp;quot;, choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCustomMenu(RogueEssence.Menu.InteractableMenu) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a custom menu of the caller&#039;s choice.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BeginChoiceMenu(System.String,NLua.LuaTable,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: The question to ask the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local color_choices = {&#039;Red&#039;, &#039;Yellow&#039;, &amp;quot;Green&amp;quot;}&lt;br /&gt;
UI:BeginChoiceMenu(&amp;quot;Which color do you like the most?&amp;quot;, color_choices, 1, 1)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local color = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:BeginMultiPageMenu(System.Int32,System.Int32,System.Int32,System.String,NLua.LuaTable,System.Int32,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-paged choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: Height of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;linesPerPage&amp;lt;/code&amp;gt;: Number of choices per page&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&#039;Choice 1&#039;, &amp;quot;Choice 2&amp;quot;, &amp;quot;Choice 3&amp;quot; }&lt;br /&gt;
UI:BeginMultiPageMenu(24, 24, 196, &amp;quot;All Choices&amp;quot;, choices, 8, 1, #choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local entry = choices[UI:ChoiceResult()]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the result of the last choice menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The result of the choice&lt;br /&gt;
&lt;br /&gt;
== UI:GetChoiceAction(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s complicated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== UI:WaitForChoice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set choice menu and waits for the player&#039;s selection to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;br /&gt;
[[Category:Quick Reference]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1523</id>
		<title>Lua Function Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1523"/>
		<updated>2023-08-20T05:38:28Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* GROUND:Hide(System.String) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows all script functions that can be called from Lua&lt;br /&gt;
&lt;br /&gt;
== AI:SetCharacterAI(RogueEssence.Ground.GroundChar,System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assign the given scripted AI class to the specified GroundChar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;classpath&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:DisableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disable a given groundchar&#039;s AI processing until its enabled again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:EnableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:SetAIState(RogueEssence.Ground.GroundChar,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharTurnToChar(RogueEssence.Dungeon.Character,RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:LastDungeonResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the result of the last dungeon adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the floor number of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonAssetName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the internal name for the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonDisplayName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the localized name of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharSetEmote(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s emote in a dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DUNGEON:CharSetEmote(chara, &amp;quot;sweating&amp;quot;, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharStartAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharEndAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharEndAnim(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation, and waits until it completed before continue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX in the dungeon map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position in pixels&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local shake = RogueEssence.Content.ScreenMover(0, 12, 50)&lt;br /&gt;
GROUND:MoveScreen(shake)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GroundSave ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saves the game while in ground mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:GroundSave()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetModDiff(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;uuidStr&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentGround ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current zone, also known as dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.Int32,System.Int32,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The index of the ground map in the zone&lt;br /&gt;
* &amp;lt;code&amp;gt;idxentrypoint&amp;lt;/code&amp;gt;: The index of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within a new zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;: The name of the destination zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;stakes&amp;lt;/code&amp;gt;: Decides what happens when the adventure fails/succeeds.&lt;br /&gt;
* &amp;lt;code&amp;gt;recorded&amp;lt;/code&amp;gt;: Record the adventure in a replay&lt;br /&gt;
* &amp;lt;code&amp;gt;silentRestrict&amp;lt;/code&amp;gt;: Make the dungeon restrictions silently&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterDungeon(1, 0, 0, 0, RogueEssence.Data.GameProgress.DungeonStakes.Risk, true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:ContinueDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and continues the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:ContinueDungeon(1, 1, 0, 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EndDungeonRun ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ends the current adventure, sending the player to a specified destination.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt;: The result of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;destzoneid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entryid&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;display&amp;lt;/code&amp;gt;: Display an epitaph marking the end of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;fanfare&amp;lt;/code&amp;gt;: Play a fanfare.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EndDungeonRun(GameProgress.ResultType.Cleared, 0, -1, 1, 0, true, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterRescue ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a rescue adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sosPath&amp;lt;/code&amp;gt;: The path of the sos mail.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterRescue(&amp;quot;RESCUE/INBOX/SOS/example.sosmail&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:AddAOKRemark(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;remarkIndex&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartToTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map and load up the title screen.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TASK:WaitTask(GAME:RestartToTitle())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartRogue(RogueEssence.Data.RogueConfig) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restarts a Roguelocke run based on the configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt;: The configuration of the roguelocke run&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local config = RogueEssence.Data.RogueConfig.RerollFromOther(_DATA.Save.Config)&lt;br /&gt;
GAME:RestartRogue(config)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterZone(System.String,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeOut ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade out the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;white&amp;lt;/code&amp;gt;: Fade to white if set to true.  Fades to black otherwise.&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeOut(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeIn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade into the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeIn(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:MoveCamera ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Centers the camera on a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time it takes ot move to the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;toPlayer&amp;lt;/code&amp;gt;: Destination is in absolute coordinates if false, and relative to the player character if set to true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:MoveCamera(200, 240, 60, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCameraCenter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current center of the camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Loc object representing the center of the camera.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsCameraOnChar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determines whether the camera is centered relative to the player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if the camera is relative to the player, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasSOSMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:HasAOKMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamLeaderIndex ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamLeaderIndex(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the leader to the chosen index within the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;idx&amp;lt;/code&amp;gt;: The index of the team member within the team.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCanSwitch(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prevents or allows the switching of leaders for the save file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;canSwitch&amp;lt;/code&amp;gt;: Set to true to allow switching, set to false to prevent it.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the player party count.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The count of players&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the party as a LuaTable.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of guests currently in the player&#039;s party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of guests&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the guests as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of characters currently in the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the assembly as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The assembly member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerTeam(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerTeam(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerGuest(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerGuest(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team&#039;s guests, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerAssembly(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerAssembly(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the assembly, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterNickname(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to rename&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;: The new name&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GAME:SetCharacterNickname(chara, &amp;quot;Steve&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterNickname(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to get the nickname from&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamName(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;teamname&amp;lt;/code&amp;gt;: The new team name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team&#039;s name&lt;br /&gt;
&lt;br /&gt;
== GAME:CanRelearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can relearn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanForget(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can forget any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanLearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can learn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CheckLevelSkills ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks the levels gained by a character and prompts to learn all skills along the levels.&lt;br /&gt;
Waits until all skills have been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to prompt for learning.&lt;br /&gt;
* &amp;lt;code&amp;gt;oldLevel&amp;lt;/code&amp;gt;: The level that the character leveled up from.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:CheckLevelSkills(player, 5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:TryLearnSkill ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempts to give a new skill to the specified character, prompting to replace an old one if they are full.&lt;br /&gt;
Waits until all the skill has been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:TryLearnSkill(player, &amp;quot;thunder&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:LearnSkill(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character.&lt;br /&gt;
Fails if the character&#039;s skills are full.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
== GAME:ForgetSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removed a skill from the specified character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to forget the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the skill to forget&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterSkill(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character, replacing a specifically chosen slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skillId&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to replace&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the skill from a specified character and specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to get the skill from.&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to get the skill from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ID of the skill in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:CanPromote(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can be promoted to a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the character can be promoted, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetAvailablePromotions(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets a list of possible classes that the character can prmote to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A lua table of PromoteBranch objects&lt;br /&gt;
&lt;br /&gt;
== GAME:PromoteCharacter(RogueEssence.Dungeon.Character,RogueEssence.Data.PromoteBranch,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Promotes a character ot a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to promote&lt;br /&gt;
* &amp;lt;code&amp;gt;branch&amp;lt;/code&amp;gt;: The PromoteBranch to promote with&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
== GAME:FindPlayerItem(System.String,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finds an item in the player&#039;s team and returns its slot within the inventory or among its team&#039;s equips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The item ID to search for.&lt;br /&gt;
* &amp;lt;code&amp;gt;held&amp;lt;/code&amp;gt;: Check equipped items.&lt;br /&gt;
* &amp;lt;code&amp;gt;inv&amp;lt;/code&amp;gt;: Check inventory items.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The InvSlot of the item. Invalid if the item could not be found.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local inv_slot = GAME:FindPlayerItem(&amp;quot;food_apple&amp;quot;, false, true)&lt;br /&gt;
if inv_slot:IsValid() then &lt;br /&gt;
  GAME:TakePlayerBagItem(inv_slot.Slot)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items equipped by players.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items in the bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagLimit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the maximum amount of item the player&#039;s team can carry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The team slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified guest slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The guest slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the item found at the specified slot of the player&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The item found in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove an item from player inventory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen member of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakeGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen guest of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team&#039;s guest list from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of items in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageItemCount(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of a specific item in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: ID of the item ot check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of copies currently in storage&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerStorageItem(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes an item from the storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item to take&lt;br /&gt;
&lt;br /&gt;
== GAME:DepositAll ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes all items in the player team&#039;s bag and equipped items, and deposits them in storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoney ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money the player currently has on hand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoneyBank ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money in the player&#039;s bank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsKeyDown(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a player is making a certain input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keyid&amp;lt;/code&amp;gt;: The ID of the input&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the button is currently pressed.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:CutsceneMode(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the game in cutscene mode. This prevents characters from taking idle action and hides certain UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bon&amp;lt;/code&amp;gt;: If set to true, turns cutscene mode on. If set to false, turns it off.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetDailySeed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the random seed for the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current adventure&#039;s seed.&lt;br /&gt;
&lt;br /&gt;
== GAME:UnlockDungeon(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unlocks a specified dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to unlock.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GAME:UnlockDungeon(&#039;faded_trail&#039;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:DungeonUnlocked(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a dungeon is unlocked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if unlocked, false otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local is_unlocked = GAME:DungeonUnlocked(&amp;quot;faded_trail&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:InRogueMode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the current game is in rogue mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if in rogue mode, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasServerSet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetRescueAllowed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks to see if rescue is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if rescues are allowed, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetRescueAllowed(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the value in the player&#039;s save file to determine if they can be rescued or not.&lt;br /&gt;
If rescue is possible on the Save File level, it can still be prevented by the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;allowed&amp;lt;/code&amp;gt;: Set to true to allow the player to be rescued.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:QueueLeaderEvent(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares an event to execute on the next frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:WaitFrames ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for a specified number of frames before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;frames&amp;lt;/code&amp;gt;: The number of frames ot wait.  Each frame is 1/60th of a second.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:WaitFrames(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(RogueElements.Loc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turns a vector (preferably a unit vector) into a cardinal or diagonal direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;: The vector.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(System.Double,System.Double) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenience function to get a vector&#039;s components from lua numbers(doubles)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;: The X value of the vector&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;: The Y value of the vector&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction the vector points to as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:RandomDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generates a random direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
An 8-directional direction.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetupLuaFunctions(RogueEssence.Script.LuaEngine) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setups any extra functionalities for this object written on the lua side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:Hide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to hide.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GROUND:Hide(&amp;quot;North_Exit&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:Unhide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unhides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to unhide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateObject(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;objtype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacter(System.String,System.String,System.Int32,System.Int32,System.String,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chartype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;actionfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;thinkfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveObject(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes an object from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveCharacter(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes a character from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacterFromCharData(System.String,RogueEssence.Dungeon.Character,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creates a ground character, given a dungeon character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name to give the character&lt;br /&gt;
* &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt;: Character data to create from&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction the character will face, defaults to Dir8.Down&lt;br /&gt;
&lt;br /&gt;
== GROUND:RefreshPlayer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reloads the controllable player&#039;s character data to be the current team&#039;s leader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:SetPlayer(RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the controllable player to use new character data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;charData&amp;lt;/code&amp;gt;: The new character data&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerDoSpawn(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make the specified spawner run its spawn method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ground character spawned.&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerSetSpawn(System.String,RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the character to the specified spawner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: The spawner to set the character to, by name&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnChar&amp;lt;/code&amp;gt;: The character to spawn.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToChar(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another character instantly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;turnchar&amp;lt;/code&amp;gt;: The character that is turning.&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: The character to turn to.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToCharAnimated ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face another character over the specified time.&lt;br /&gt;
Clockwise or counter-clockwise are chosen based on the closest direction.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: Character that is turning&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: Character to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: Time spent on each direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, charTo, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:EntTurn(RogueEssence.Ground.GroundEntity,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a ground entity turn to face a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity.  Can be a character or object.&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to face.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Must specify clockwise or counter-clockwise.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;ccw&amp;lt;/code&amp;gt;: false if clockwise, true if counter-clockwise&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurnTo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:TeleportTo(RogueEssence.Ground.GroundEntity,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Repositions the ground entity in a specified location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity to reposition&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to point the entity.  Defaults to Dir8.None, which leaves it untouched.&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move in a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, Dir8.Down, 24, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToMarker ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a ground marker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;mark&amp;lt;/code&amp;gt;: GroundMarker object ot move to&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, marker, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveObjectToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground object move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Ground Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground character move in a direction with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateInDirection(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 24, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground entity move to a position with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateToPosition(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 200, 240, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetEmote(RogueEssence.Ground.GroundChar,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a character emote on the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAnim(RogueEssence.Ground.GroundChar,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndAnim(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an animation and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Animation to play&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAnim(player, &amp;quot;Hurt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAction(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundAction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to perfomr the action&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: The action to perform&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an action and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: Action to perform&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAction(player, action)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetAnim(RogueEssence.Ground.GroundObject,System.Int32,System.Int32,System.Int32,RogueElements.Dir8,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s animation.  After it finishes, it will return to the default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to repeat the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetDefaultAnim(RogueEssence.Ground.GroundObject,System.String,System.Int32,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;animName&amp;lt;/code&amp;gt;: The name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectWaitAnimFrame ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the object to reach a specific frame before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object ot wait on&lt;br /&gt;
* &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: The frame of animation to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:WaitObjectAnim(fountain, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local chara = CH(&#039;PLAYER&#039;)&lt;br /&gt;
local emitter = RogueEssence.Content.FlashEmitter()&lt;br /&gt;
emitter.FadeInTime = 2&lt;br /&gt;
emitter.HoldTime = 4&lt;br /&gt;
emitter.FadeOutTime = 2&lt;br /&gt;
emitter.StartColor = Color(0, 0, 0, 0)&lt;br /&gt;
emitter.Layer = DrawLayer.Top&lt;br /&gt;
emitter.Anim = RogueEssence.Content.BGAnimData(&amp;quot;White&amp;quot;, 0)&lt;br /&gt;
GROUND:PlayVFX(emitter, chara.MapLoc.X, chara.MapLoc.Y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
== GROUND:AddMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a mapstatus to the ground map.  Map statuses only have an aesthetic effect in ground maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes a map status from the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status to remove.&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlaySE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect specifically from the Battle/ subdirectory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitSE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect, and waits for it to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitSE(&amp;quot;Battle/Hit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayFanfare(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitFanfare ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration.&lt;br /&gt;
This function waits for the sound to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitFanfare(&amp;quot;Battle/LevelUp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBGM(System.String,System.Boolean,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a song, replacing the current one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The file name of the song, relative to the Content/Music folder.&lt;br /&gt;
* &amp;lt;code&amp;gt;fade&amp;lt;/code&amp;gt;: Whether to fade the old song out, or start a new one.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the old song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBGM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops playing the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBGM(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:SetBGMVolume(System.Single) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current volume of the song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;: A float value between 0 and 1&lt;br /&gt;
&lt;br /&gt;
== SOUND:GetCurrentSong ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the currently playing song.  If the current song is fading out, gets the next song to be played.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The filename of the song, relative to the Content/Music folder&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocaleCode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current language setting of the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current language, represented by a locale code.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:Format(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: String to format.&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: Arguments&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The formatted string.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:FormatKey(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string given a string key.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: The string key to format&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: string arguments&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocalKeyString(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the string representing a button or key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The input type of the input.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The string representing the button o key the input maps to.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:CreateList(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Builds a single string of comma separated elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;listStrings&amp;lt;/code&amp;gt;: LuaTable of strings containing the elements to build the list from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The combined string containing all elements.&lt;br /&gt;
&lt;br /&gt;
== TASK:StartEntityTask(RogueEssence.Ground.GroundEntity,NLua.LuaFunction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to make an entity run the specified task.&lt;br /&gt;
Will not replace a running task!&lt;br /&gt;
Tasks are run interlocked with the script processing and game processing, and characters cannot run multiple tasks at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
== TASK:StopEntityTask(RogueEssence.Ground.GroundEntity) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to force stop an entity&#039;s current task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity running the task to stop.&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitStartEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes an entity run a specified task, and waits for it to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the specified entity to finish its task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which task we&#039;ll wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitEntityTask(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Runs a task and waits for it to complete.&lt;br /&gt;
Most methods that do not expose themselves to script need to be wrapped with this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitTask(_DUNGEON:AddMapStatus(&amp;quot;rain&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:StartScriptLocalCoroutine(NLua.LuaFunction,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A wrapper around the StartCoroutine method of the GameManager, so lua coroutines can be executed locally to the script context.&lt;br /&gt;
AKA, it will block the script execution while its executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== TASK:BranchCoroutine(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Starts a new coroutine to run parallel to the current execution.&lt;br /&gt;
Useful for performing multiple actions at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to run in parallel&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local coro1 = TASK:BranchCoroutine(GAME:_FadeIn(60))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:JoinCoroutines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for all specified coroutines to finish before continuing execution.&lt;br /&gt;
Often used for coroutines created using TASK:BranchCoroutine()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;coroTable&amp;lt;/code&amp;gt;: A table of coroutines to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:JoinCoroutines({coro1})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitInput ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the player to press a button before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowDialogue(System.String, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the player completes it.&lt;br /&gt;
Takes a string as an argument and optional LuaTable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function exclaim()&lt;br /&gt;
  SOUND:PlayBattleSE(&amp;quot;EVT_Emote_Exclaim_2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Exclaim [script=0]sound!&amp;quot;, { exclaim })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTimedDialogue(System.String, System.Int32, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the specified time has expired. Can take an optional LuaTable containing script calls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTimedDialogue(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextDialogue(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current dialogue text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowVoiceOver ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a voice over, waiting until the player completes it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowVoiceOver(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextVoiceOver(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current voice-over text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:PopUp(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes text pop up in the bottom-left corner. Displays concurrently with any other process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a title text, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTitle(&amp;quot;Hello World!&amp;quot;, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextShowTitle(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shows text in the format of a title drop.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the currently displayed title, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideTitle(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextFadeTitle(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the text set in a title drop.  Requires WaitDialog to actually fade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a chosen background image, with a chosen framerate, at a certain fade time, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowBG(&amp;quot;TestBG&amp;quot;, 3, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ShowBG(System.String,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets an image to display.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current background image, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideBG(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:FadeBG(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares a fade-out of the current image.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeaker(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clears the current speaker, so none is displayed the next time TextDialogue is called.&lt;br /&gt;
This also resets any custom dialogue box positions, portrait positions, and choice positions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: If turned on, the text from the dialogue boxes make sounds.  Default is on.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(System.String,System.Boolean,System.String,System.Int32,System.String,RogueEssence.Data.Gender) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Speaker name.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
* &amp;lt;code&amp;gt;specie&amp;lt;/code&amp;gt;: Species of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt;: Form of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt;: Skin of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;gender&amp;lt;/code&amp;gt;: Gender of the speaker&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Ground.GroundChar,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a ground map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Dungeon.Character,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a dungeon map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerReverse(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reverses the speaker orientation to face left instead of right.  This depends on the boolean passed in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetChoiceLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetChoiceLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog back to default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetBounds(System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;: Height of the box&lt;br /&gt;
&lt;br /&gt;
== UI:ResetBounds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerLoc(144, 16)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeakerLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSe(System.String, System.Int32) == &lt;br /&gt;
&lt;br /&gt;
Sets the speaker sound effect and the amount of frames in between each sound effect &lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;newSe&amp;lt;/code&amp;gt;: The path to the new sound effect&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect, optional&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:SetSe(&amp;quot;Battle/_UNK_DUN_Water_Drop&amp;quot;, 10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSe ==&lt;br /&gt;
 &lt;br /&gt;
Resets the default speaker sound effect and speak frames&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerTime(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
Sets the amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerTime(10)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerEmotion(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
Sets the emotion of the speaker in the dialogue box.&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emo&amp;lt;/code&amp;gt;: Emotion to display&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerEmotion(&amp;quot;Pain&amp;quot;, true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCenter(System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the centering of the text in the textbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;centerH&amp;lt;/code&amp;gt;: Horizontal centering&lt;br /&gt;
* &amp;lt;code&amp;gt;centerV&amp;lt;/code&amp;gt;: Vertical centering&lt;br /&gt;
&lt;br /&gt;
== UI:SetAutoFinish(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the text automatically finish when it shows up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;autoFinish&amp;lt;/code&amp;gt;: Auto-finishes text if true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetAutoFinish(true)&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;The mailbox is empty.&amp;quot;)&lt;br /&gt;
UI:SetAutoFinish(false)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitDialog ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set dialogue box and waits for the player to complete it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitDialog()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:_DummyWait ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instantly break. Used as default/invalid value when returning a yieldable value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceMenuYesNo(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask a question answered by yes or no via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: Question to be asked to the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;bdefaultstono&amp;lt;/code&amp;gt;: Whether the cursor starts on no by default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ChoiceMenuYesNo(&amp;quot;Would you like to continue on?&amp;quot;, false)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
localc continue = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:NameMenu(System.String,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the name input box.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The text to show above the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;: The text to show below the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;maxLength&amp;lt;/code&amp;gt;: The length of the text in pixels.&lt;br /&gt;
&lt;br /&gt;
== UI:AssemblyMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a menu for replacing party members with the assembly.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the boolean value indicating whether the team composition was changed or not, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShopMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Shop menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;goods&amp;lt;/code&amp;gt;: A table of items to be sold.  The format is { Item=InvItem, Price=int } for each item.&lt;br /&gt;
&lt;br /&gt;
== UI:SellMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Sell menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items to sell, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:StorageMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to exchange items in the inventory with.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WithdrawMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to withdraw from.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BankMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Bank menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SpoilsMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Spoils menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;appraisalMap&amp;lt;/code&amp;gt;: A table of mappings from containers to items, in the format of { Box=InvItem , Item=InvItem }&lt;br /&gt;
&lt;br /&gt;
== UI:AppraiseMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Appraisal menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TutorTeamMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Tutor Team menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team member, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:RelearnMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Relearn menu for a character.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:LearnMenu(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Learn menu for a character to replace an existing skill with a new one.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
* &amp;lt;code&amp;gt;skillNum&amp;lt;/code&amp;gt;: The new skill&lt;br /&gt;
&lt;br /&gt;
== UI:ForgetMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Forget menu for a character to forget a skill.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:ShowPromoteMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Promote menu to choose a team member to promote.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team slot, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CanSwapMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SwapMenu(NLua.LuaTable,NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TributeMenu(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowMusicMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Music menu to browse music for the game.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string representing the chosen song, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spoilerUnlocks&amp;lt;/code&amp;gt;: A lua table of strings representing progression flags that have been completed.&lt;br /&gt;
            Any ogg file that uses this tag as a spoiler tag will display in the menu only if the flag has been passed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ShowMusicMenu({&#039;MAIN_001&#039;})&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:DungeonChoice(System.String,RogueEssence.Dungeon.ZoneLoc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask to enter a destintion via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Name of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;dest&amp;lt;/code&amp;gt;: The ZoneLoc location of the destination.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:DungeonChoice(&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0) )&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local choice = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DungeonChoice&lt;br /&gt;
&lt;br /&gt;
== UI:DestinationMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing destinations, showing a preview of restrictions and requirements for dungeons.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the ZoneLoc indicating the chosen destination, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;destinations&amp;lt;/code&amp;gt;: A lua table representing the list of destinations with each element in the format of { Name=string, Dest=ZoneLoc }&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  local all_dests = { { Name=&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, Dest=RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0)} }&lt;br /&gt;
&lt;br /&gt;
  UI:DestinationMenu(all_dests)&lt;br /&gt;
  UI:WaitForChoice()&lt;br /&gt;
  local dest = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DestinationMenu&lt;br /&gt;
&lt;br /&gt;
== UI:ServersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ContactsMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SOSMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:AOKMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:PeersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowConnectMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CurrentActivityMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChooseMonsterMenu(System.String,NLua.LuaTable,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing monsters, showing a preview of their appearances via portrait.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string indicating the chosen species, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The title of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choices&amp;lt;/code&amp;gt;: A lua table of choices with each element being a MonsterID.&lt;br /&gt;
* &amp;lt;code&amp;gt;canMenu&amp;lt;/code&amp;gt;: If set to true, the Menu Button exits the menu if pressed.&lt;br /&gt;
* &amp;lt;code&amp;gt;canCancel&amp;lt;/code&amp;gt;: If set to true, the Cancel Button exits the menu if pressed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;bulbasaur&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;charmander&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;squirtle&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless)&lt;br /&gt;
}&lt;br /&gt;
UI:ChooseMonsterMenu(&amp;quot;Starter?&amp;quot;, choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCustomMenu(RogueEssence.Menu.InteractableMenu) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a custom menu of the caller&#039;s choice.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BeginChoiceMenu(System.String,NLua.LuaTable,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: The question to ask the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local color_choices = {&#039;Red&#039;, &#039;Yellow&#039;, &amp;quot;Green&amp;quot;}&lt;br /&gt;
UI:BeginChoiceMenu(&amp;quot;Which color do you like the most?&amp;quot;, color_choices, 1, 1)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local color = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:BeginMultiPageMenu(System.Int32,System.Int32,System.Int32,System.String,NLua.LuaTable,System.Int32,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-paged choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: Height of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;linesPerPage&amp;lt;/code&amp;gt;: Number of choices per page&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&#039;Choice 1&#039;, &amp;quot;Choice 2&amp;quot;, &amp;quot;Choice 3&amp;quot; }&lt;br /&gt;
UI:BeginMultiPageMenu(24, 24, 196, &amp;quot;All Choices&amp;quot;, choices, 8, 1, #choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local entry = choices[UI:ChoiceResult()]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the result of the last choice menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The result of the choice&lt;br /&gt;
&lt;br /&gt;
== UI:GetChoiceAction(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s complicated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== UI:WaitForChoice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set choice menu and waits for the player&#039;s selection to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;br /&gt;
[[Category:Quick Reference]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1522</id>
		<title>Lua Function Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1522"/>
		<updated>2023-08-20T05:35:55Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* GAME:DungeonUnlocked(System.String) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows all script functions that can be called from Lua&lt;br /&gt;
&lt;br /&gt;
== AI:SetCharacterAI(RogueEssence.Ground.GroundChar,System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assign the given scripted AI class to the specified GroundChar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;classpath&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:DisableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disable a given groundchar&#039;s AI processing until its enabled again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:EnableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:SetAIState(RogueEssence.Ground.GroundChar,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharTurnToChar(RogueEssence.Dungeon.Character,RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:LastDungeonResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the result of the last dungeon adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the floor number of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonAssetName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the internal name for the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonDisplayName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the localized name of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharSetEmote(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s emote in a dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DUNGEON:CharSetEmote(chara, &amp;quot;sweating&amp;quot;, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharStartAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharEndAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharEndAnim(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation, and waits until it completed before continue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX in the dungeon map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position in pixels&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local shake = RogueEssence.Content.ScreenMover(0, 12, 50)&lt;br /&gt;
GROUND:MoveScreen(shake)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GroundSave ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saves the game while in ground mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:GroundSave()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetModDiff(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;uuidStr&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentGround ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current zone, also known as dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.Int32,System.Int32,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The index of the ground map in the zone&lt;br /&gt;
* &amp;lt;code&amp;gt;idxentrypoint&amp;lt;/code&amp;gt;: The index of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within a new zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;: The name of the destination zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;stakes&amp;lt;/code&amp;gt;: Decides what happens when the adventure fails/succeeds.&lt;br /&gt;
* &amp;lt;code&amp;gt;recorded&amp;lt;/code&amp;gt;: Record the adventure in a replay&lt;br /&gt;
* &amp;lt;code&amp;gt;silentRestrict&amp;lt;/code&amp;gt;: Make the dungeon restrictions silently&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterDungeon(1, 0, 0, 0, RogueEssence.Data.GameProgress.DungeonStakes.Risk, true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:ContinueDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and continues the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:ContinueDungeon(1, 1, 0, 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EndDungeonRun ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ends the current adventure, sending the player to a specified destination.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt;: The result of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;destzoneid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entryid&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;display&amp;lt;/code&amp;gt;: Display an epitaph marking the end of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;fanfare&amp;lt;/code&amp;gt;: Play a fanfare.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EndDungeonRun(GameProgress.ResultType.Cleared, 0, -1, 1, 0, true, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterRescue ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a rescue adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sosPath&amp;lt;/code&amp;gt;: The path of the sos mail.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterRescue(&amp;quot;RESCUE/INBOX/SOS/example.sosmail&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:AddAOKRemark(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;remarkIndex&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartToTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map and load up the title screen.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TASK:WaitTask(GAME:RestartToTitle())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartRogue(RogueEssence.Data.RogueConfig) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restarts a Roguelocke run based on the configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt;: The configuration of the roguelocke run&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local config = RogueEssence.Data.RogueConfig.RerollFromOther(_DATA.Save.Config)&lt;br /&gt;
GAME:RestartRogue(config)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterZone(System.String,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeOut ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade out the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;white&amp;lt;/code&amp;gt;: Fade to white if set to true.  Fades to black otherwise.&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeOut(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeIn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade into the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeIn(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:MoveCamera ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Centers the camera on a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time it takes ot move to the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;toPlayer&amp;lt;/code&amp;gt;: Destination is in absolute coordinates if false, and relative to the player character if set to true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:MoveCamera(200, 240, 60, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCameraCenter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current center of the camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Loc object representing the center of the camera.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsCameraOnChar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determines whether the camera is centered relative to the player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if the camera is relative to the player, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasSOSMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:HasAOKMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamLeaderIndex ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamLeaderIndex(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the leader to the chosen index within the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;idx&amp;lt;/code&amp;gt;: The index of the team member within the team.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCanSwitch(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prevents or allows the switching of leaders for the save file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;canSwitch&amp;lt;/code&amp;gt;: Set to true to allow switching, set to false to prevent it.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the player party count.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The count of players&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the party as a LuaTable.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of guests currently in the player&#039;s party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of guests&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the guests as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of characters currently in the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the assembly as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The assembly member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerTeam(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerTeam(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerGuest(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerGuest(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team&#039;s guests, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerAssembly(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerAssembly(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the assembly, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterNickname(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to rename&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;: The new name&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GAME:SetCharacterNickname(chara, &amp;quot;Steve&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterNickname(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to get the nickname from&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamName(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;teamname&amp;lt;/code&amp;gt;: The new team name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team&#039;s name&lt;br /&gt;
&lt;br /&gt;
== GAME:CanRelearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can relearn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanForget(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can forget any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanLearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can learn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CheckLevelSkills ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks the levels gained by a character and prompts to learn all skills along the levels.&lt;br /&gt;
Waits until all skills have been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to prompt for learning.&lt;br /&gt;
* &amp;lt;code&amp;gt;oldLevel&amp;lt;/code&amp;gt;: The level that the character leveled up from.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:CheckLevelSkills(player, 5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:TryLearnSkill ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempts to give a new skill to the specified character, prompting to replace an old one if they are full.&lt;br /&gt;
Waits until all the skill has been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:TryLearnSkill(player, &amp;quot;thunder&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:LearnSkill(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character.&lt;br /&gt;
Fails if the character&#039;s skills are full.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
== GAME:ForgetSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removed a skill from the specified character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to forget the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the skill to forget&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterSkill(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character, replacing a specifically chosen slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skillId&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to replace&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the skill from a specified character and specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to get the skill from.&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to get the skill from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ID of the skill in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:CanPromote(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can be promoted to a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the character can be promoted, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetAvailablePromotions(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets a list of possible classes that the character can prmote to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A lua table of PromoteBranch objects&lt;br /&gt;
&lt;br /&gt;
== GAME:PromoteCharacter(RogueEssence.Dungeon.Character,RogueEssence.Data.PromoteBranch,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Promotes a character ot a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to promote&lt;br /&gt;
* &amp;lt;code&amp;gt;branch&amp;lt;/code&amp;gt;: The PromoteBranch to promote with&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
== GAME:FindPlayerItem(System.String,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finds an item in the player&#039;s team and returns its slot within the inventory or among its team&#039;s equips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The item ID to search for.&lt;br /&gt;
* &amp;lt;code&amp;gt;held&amp;lt;/code&amp;gt;: Check equipped items.&lt;br /&gt;
* &amp;lt;code&amp;gt;inv&amp;lt;/code&amp;gt;: Check inventory items.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The InvSlot of the item. Invalid if the item could not be found.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local inv_slot = GAME:FindPlayerItem(&amp;quot;food_apple&amp;quot;, false, true)&lt;br /&gt;
if inv_slot:IsValid() then &lt;br /&gt;
  GAME:TakePlayerBagItem(inv_slot.Slot)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items equipped by players.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items in the bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagLimit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the maximum amount of item the player&#039;s team can carry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The team slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified guest slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The guest slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the item found at the specified slot of the player&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The item found in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove an item from player inventory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen member of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakeGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen guest of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team&#039;s guest list from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of items in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageItemCount(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of a specific item in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: ID of the item ot check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of copies currently in storage&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerStorageItem(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes an item from the storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item to take&lt;br /&gt;
&lt;br /&gt;
== GAME:DepositAll ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes all items in the player team&#039;s bag and equipped items, and deposits them in storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoney ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money the player currently has on hand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoneyBank ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money in the player&#039;s bank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsKeyDown(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a player is making a certain input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keyid&amp;lt;/code&amp;gt;: The ID of the input&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the button is currently pressed.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:CutsceneMode(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the game in cutscene mode. This prevents characters from taking idle action and hides certain UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bon&amp;lt;/code&amp;gt;: If set to true, turns cutscene mode on. If set to false, turns it off.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetDailySeed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the random seed for the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current adventure&#039;s seed.&lt;br /&gt;
&lt;br /&gt;
== GAME:UnlockDungeon(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unlocks a specified dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to unlock.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GAME:UnlockDungeon(&#039;faded_trail&#039;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:DungeonUnlocked(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a dungeon is unlocked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if unlocked, false otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local is_unlocked = GAME:DungeonUnlocked(&amp;quot;faded_trail&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:InRogueMode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the current game is in rogue mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if in rogue mode, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasServerSet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetRescueAllowed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks to see if rescue is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if rescues are allowed, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetRescueAllowed(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the value in the player&#039;s save file to determine if they can be rescued or not.&lt;br /&gt;
If rescue is possible on the Save File level, it can still be prevented by the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;allowed&amp;lt;/code&amp;gt;: Set to true to allow the player to be rescued.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:QueueLeaderEvent(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares an event to execute on the next frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:WaitFrames ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for a specified number of frames before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;frames&amp;lt;/code&amp;gt;: The number of frames ot wait.  Each frame is 1/60th of a second.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:WaitFrames(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(RogueElements.Loc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turns a vector (preferably a unit vector) into a cardinal or diagonal direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;: The vector.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(System.Double,System.Double) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenience function to get a vector&#039;s components from lua numbers(doubles)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;: The X value of the vector&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;: The Y value of the vector&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction the vector points to as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:RandomDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generates a random direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
An 8-directional direction.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetupLuaFunctions(RogueEssence.Script.LuaEngine) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setups any extra functionalities for this object written on the lua side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:Hide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to hide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:Unhide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unhides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to unhide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateObject(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;objtype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacter(System.String,System.String,System.Int32,System.Int32,System.String,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chartype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;actionfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;thinkfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveObject(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes an object from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveCharacter(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes a character from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacterFromCharData(System.String,RogueEssence.Dungeon.Character,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creates a ground character, given a dungeon character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name to give the character&lt;br /&gt;
* &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt;: Character data to create from&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction the character will face, defaults to Dir8.Down&lt;br /&gt;
&lt;br /&gt;
== GROUND:RefreshPlayer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reloads the controllable player&#039;s character data to be the current team&#039;s leader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:SetPlayer(RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the controllable player to use new character data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;charData&amp;lt;/code&amp;gt;: The new character data&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerDoSpawn(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make the specified spawner run its spawn method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ground character spawned.&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerSetSpawn(System.String,RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the character to the specified spawner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: The spawner to set the character to, by name&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnChar&amp;lt;/code&amp;gt;: The character to spawn.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToChar(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another character instantly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;turnchar&amp;lt;/code&amp;gt;: The character that is turning.&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: The character to turn to.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToCharAnimated ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face another character over the specified time.&lt;br /&gt;
Clockwise or counter-clockwise are chosen based on the closest direction.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: Character that is turning&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: Character to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: Time spent on each direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, charTo, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:EntTurn(RogueEssence.Ground.GroundEntity,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a ground entity turn to face a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity.  Can be a character or object.&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to face.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Must specify clockwise or counter-clockwise.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;ccw&amp;lt;/code&amp;gt;: false if clockwise, true if counter-clockwise&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurnTo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:TeleportTo(RogueEssence.Ground.GroundEntity,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Repositions the ground entity in a specified location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity to reposition&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to point the entity.  Defaults to Dir8.None, which leaves it untouched.&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move in a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, Dir8.Down, 24, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToMarker ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a ground marker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;mark&amp;lt;/code&amp;gt;: GroundMarker object ot move to&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, marker, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveObjectToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground object move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Ground Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground character move in a direction with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateInDirection(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 24, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground entity move to a position with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateToPosition(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 200, 240, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetEmote(RogueEssence.Ground.GroundChar,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a character emote on the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAnim(RogueEssence.Ground.GroundChar,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndAnim(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an animation and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Animation to play&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAnim(player, &amp;quot;Hurt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAction(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundAction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to perfomr the action&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: The action to perform&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an action and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: Action to perform&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAction(player, action)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetAnim(RogueEssence.Ground.GroundObject,System.Int32,System.Int32,System.Int32,RogueElements.Dir8,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s animation.  After it finishes, it will return to the default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to repeat the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetDefaultAnim(RogueEssence.Ground.GroundObject,System.String,System.Int32,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;animName&amp;lt;/code&amp;gt;: The name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectWaitAnimFrame ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the object to reach a specific frame before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object ot wait on&lt;br /&gt;
* &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: The frame of animation to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:WaitObjectAnim(fountain, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local chara = CH(&#039;PLAYER&#039;)&lt;br /&gt;
local emitter = RogueEssence.Content.FlashEmitter()&lt;br /&gt;
emitter.FadeInTime = 2&lt;br /&gt;
emitter.HoldTime = 4&lt;br /&gt;
emitter.FadeOutTime = 2&lt;br /&gt;
emitter.StartColor = Color(0, 0, 0, 0)&lt;br /&gt;
emitter.Layer = DrawLayer.Top&lt;br /&gt;
emitter.Anim = RogueEssence.Content.BGAnimData(&amp;quot;White&amp;quot;, 0)&lt;br /&gt;
GROUND:PlayVFX(emitter, chara.MapLoc.X, chara.MapLoc.Y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
== GROUND:AddMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a mapstatus to the ground map.  Map statuses only have an aesthetic effect in ground maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes a map status from the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status to remove.&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlaySE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect specifically from the Battle/ subdirectory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitSE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect, and waits for it to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitSE(&amp;quot;Battle/Hit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayFanfare(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitFanfare ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration.&lt;br /&gt;
This function waits for the sound to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitFanfare(&amp;quot;Battle/LevelUp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBGM(System.String,System.Boolean,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a song, replacing the current one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The file name of the song, relative to the Content/Music folder.&lt;br /&gt;
* &amp;lt;code&amp;gt;fade&amp;lt;/code&amp;gt;: Whether to fade the old song out, or start a new one.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the old song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBGM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops playing the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBGM(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:SetBGMVolume(System.Single) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current volume of the song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;: A float value between 0 and 1&lt;br /&gt;
&lt;br /&gt;
== SOUND:GetCurrentSong ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the currently playing song.  If the current song is fading out, gets the next song to be played.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The filename of the song, relative to the Content/Music folder&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocaleCode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current language setting of the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current language, represented by a locale code.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:Format(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: String to format.&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: Arguments&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The formatted string.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:FormatKey(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string given a string key.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: The string key to format&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: string arguments&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocalKeyString(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the string representing a button or key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The input type of the input.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The string representing the button o key the input maps to.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:CreateList(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Builds a single string of comma separated elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;listStrings&amp;lt;/code&amp;gt;: LuaTable of strings containing the elements to build the list from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The combined string containing all elements.&lt;br /&gt;
&lt;br /&gt;
== TASK:StartEntityTask(RogueEssence.Ground.GroundEntity,NLua.LuaFunction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to make an entity run the specified task.&lt;br /&gt;
Will not replace a running task!&lt;br /&gt;
Tasks are run interlocked with the script processing and game processing, and characters cannot run multiple tasks at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
== TASK:StopEntityTask(RogueEssence.Ground.GroundEntity) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to force stop an entity&#039;s current task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity running the task to stop.&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitStartEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes an entity run a specified task, and waits for it to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the specified entity to finish its task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which task we&#039;ll wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitEntityTask(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Runs a task and waits for it to complete.&lt;br /&gt;
Most methods that do not expose themselves to script need to be wrapped with this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitTask(_DUNGEON:AddMapStatus(&amp;quot;rain&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:StartScriptLocalCoroutine(NLua.LuaFunction,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A wrapper around the StartCoroutine method of the GameManager, so lua coroutines can be executed locally to the script context.&lt;br /&gt;
AKA, it will block the script execution while its executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== TASK:BranchCoroutine(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Starts a new coroutine to run parallel to the current execution.&lt;br /&gt;
Useful for performing multiple actions at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to run in parallel&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local coro1 = TASK:BranchCoroutine(GAME:_FadeIn(60))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:JoinCoroutines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for all specified coroutines to finish before continuing execution.&lt;br /&gt;
Often used for coroutines created using TASK:BranchCoroutine()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;coroTable&amp;lt;/code&amp;gt;: A table of coroutines to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:JoinCoroutines({coro1})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitInput ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the player to press a button before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowDialogue(System.String, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the player completes it.&lt;br /&gt;
Takes a string as an argument and optional LuaTable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function exclaim()&lt;br /&gt;
  SOUND:PlayBattleSE(&amp;quot;EVT_Emote_Exclaim_2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Exclaim [script=0]sound!&amp;quot;, { exclaim })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTimedDialogue(System.String, System.Int32, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the specified time has expired. Can take an optional LuaTable containing script calls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTimedDialogue(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextDialogue(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current dialogue text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowVoiceOver ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a voice over, waiting until the player completes it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowVoiceOver(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextVoiceOver(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current voice-over text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:PopUp(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes text pop up in the bottom-left corner. Displays concurrently with any other process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a title text, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTitle(&amp;quot;Hello World!&amp;quot;, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextShowTitle(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shows text in the format of a title drop.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the currently displayed title, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideTitle(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextFadeTitle(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the text set in a title drop.  Requires WaitDialog to actually fade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a chosen background image, with a chosen framerate, at a certain fade time, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowBG(&amp;quot;TestBG&amp;quot;, 3, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ShowBG(System.String,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets an image to display.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current background image, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideBG(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:FadeBG(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares a fade-out of the current image.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeaker(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clears the current speaker, so none is displayed the next time TextDialogue is called.&lt;br /&gt;
This also resets any custom dialogue box positions, portrait positions, and choice positions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: If turned on, the text from the dialogue boxes make sounds.  Default is on.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(System.String,System.Boolean,System.String,System.Int32,System.String,RogueEssence.Data.Gender) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Speaker name.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
* &amp;lt;code&amp;gt;specie&amp;lt;/code&amp;gt;: Species of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt;: Form of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt;: Skin of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;gender&amp;lt;/code&amp;gt;: Gender of the speaker&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Ground.GroundChar,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a ground map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Dungeon.Character,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a dungeon map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerReverse(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reverses the speaker orientation to face left instead of right.  This depends on the boolean passed in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetChoiceLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetChoiceLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog back to default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetBounds(System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;: Height of the box&lt;br /&gt;
&lt;br /&gt;
== UI:ResetBounds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerLoc(144, 16)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeakerLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSe(System.String, System.Int32) == &lt;br /&gt;
&lt;br /&gt;
Sets the speaker sound effect and the amount of frames in between each sound effect &lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;newSe&amp;lt;/code&amp;gt;: The path to the new sound effect&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect, optional&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:SetSe(&amp;quot;Battle/_UNK_DUN_Water_Drop&amp;quot;, 10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSe ==&lt;br /&gt;
 &lt;br /&gt;
Resets the default speaker sound effect and speak frames&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerTime(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
Sets the amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerTime(10)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerEmotion(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
Sets the emotion of the speaker in the dialogue box.&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emo&amp;lt;/code&amp;gt;: Emotion to display&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerEmotion(&amp;quot;Pain&amp;quot;, true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCenter(System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the centering of the text in the textbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;centerH&amp;lt;/code&amp;gt;: Horizontal centering&lt;br /&gt;
* &amp;lt;code&amp;gt;centerV&amp;lt;/code&amp;gt;: Vertical centering&lt;br /&gt;
&lt;br /&gt;
== UI:SetAutoFinish(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the text automatically finish when it shows up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;autoFinish&amp;lt;/code&amp;gt;: Auto-finishes text if true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetAutoFinish(true)&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;The mailbox is empty.&amp;quot;)&lt;br /&gt;
UI:SetAutoFinish(false)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitDialog ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set dialogue box and waits for the player to complete it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitDialog()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:_DummyWait ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instantly break. Used as default/invalid value when returning a yieldable value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceMenuYesNo(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask a question answered by yes or no via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: Question to be asked to the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;bdefaultstono&amp;lt;/code&amp;gt;: Whether the cursor starts on no by default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ChoiceMenuYesNo(&amp;quot;Would you like to continue on?&amp;quot;, false)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
localc continue = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:NameMenu(System.String,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the name input box.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The text to show above the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;: The text to show below the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;maxLength&amp;lt;/code&amp;gt;: The length of the text in pixels.&lt;br /&gt;
&lt;br /&gt;
== UI:AssemblyMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a menu for replacing party members with the assembly.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the boolean value indicating whether the team composition was changed or not, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShopMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Shop menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;goods&amp;lt;/code&amp;gt;: A table of items to be sold.  The format is { Item=InvItem, Price=int } for each item.&lt;br /&gt;
&lt;br /&gt;
== UI:SellMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Sell menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items to sell, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:StorageMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to exchange items in the inventory with.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WithdrawMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to withdraw from.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BankMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Bank menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SpoilsMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Spoils menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;appraisalMap&amp;lt;/code&amp;gt;: A table of mappings from containers to items, in the format of { Box=InvItem , Item=InvItem }&lt;br /&gt;
&lt;br /&gt;
== UI:AppraiseMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Appraisal menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TutorTeamMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Tutor Team menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team member, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:RelearnMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Relearn menu for a character.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:LearnMenu(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Learn menu for a character to replace an existing skill with a new one.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
* &amp;lt;code&amp;gt;skillNum&amp;lt;/code&amp;gt;: The new skill&lt;br /&gt;
&lt;br /&gt;
== UI:ForgetMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Forget menu for a character to forget a skill.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:ShowPromoteMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Promote menu to choose a team member to promote.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team slot, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CanSwapMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SwapMenu(NLua.LuaTable,NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TributeMenu(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowMusicMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Music menu to browse music for the game.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string representing the chosen song, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spoilerUnlocks&amp;lt;/code&amp;gt;: A lua table of strings representing progression flags that have been completed.&lt;br /&gt;
            Any ogg file that uses this tag as a spoiler tag will display in the menu only if the flag has been passed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ShowMusicMenu({&#039;MAIN_001&#039;})&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:DungeonChoice(System.String,RogueEssence.Dungeon.ZoneLoc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask to enter a destintion via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Name of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;dest&amp;lt;/code&amp;gt;: The ZoneLoc location of the destination.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:DungeonChoice(&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0) )&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local choice = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DungeonChoice&lt;br /&gt;
&lt;br /&gt;
== UI:DestinationMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing destinations, showing a preview of restrictions and requirements for dungeons.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the ZoneLoc indicating the chosen destination, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;destinations&amp;lt;/code&amp;gt;: A lua table representing the list of destinations with each element in the format of { Name=string, Dest=ZoneLoc }&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  local all_dests = { { Name=&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, Dest=RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0)} }&lt;br /&gt;
&lt;br /&gt;
  UI:DestinationMenu(all_dests)&lt;br /&gt;
  UI:WaitForChoice()&lt;br /&gt;
  local dest = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DestinationMenu&lt;br /&gt;
&lt;br /&gt;
== UI:ServersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ContactsMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SOSMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:AOKMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:PeersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowConnectMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CurrentActivityMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChooseMonsterMenu(System.String,NLua.LuaTable,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing monsters, showing a preview of their appearances via portrait.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string indicating the chosen species, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The title of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choices&amp;lt;/code&amp;gt;: A lua table of choices with each element being a MonsterID.&lt;br /&gt;
* &amp;lt;code&amp;gt;canMenu&amp;lt;/code&amp;gt;: If set to true, the Menu Button exits the menu if pressed.&lt;br /&gt;
* &amp;lt;code&amp;gt;canCancel&amp;lt;/code&amp;gt;: If set to true, the Cancel Button exits the menu if pressed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;bulbasaur&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;charmander&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;squirtle&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless)&lt;br /&gt;
}&lt;br /&gt;
UI:ChooseMonsterMenu(&amp;quot;Starter?&amp;quot;, choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCustomMenu(RogueEssence.Menu.InteractableMenu) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a custom menu of the caller&#039;s choice.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BeginChoiceMenu(System.String,NLua.LuaTable,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: The question to ask the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local color_choices = {&#039;Red&#039;, &#039;Yellow&#039;, &amp;quot;Green&amp;quot;}&lt;br /&gt;
UI:BeginChoiceMenu(&amp;quot;Which color do you like the most?&amp;quot;, color_choices, 1, 1)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local color = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:BeginMultiPageMenu(System.Int32,System.Int32,System.Int32,System.String,NLua.LuaTable,System.Int32,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-paged choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: Height of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;linesPerPage&amp;lt;/code&amp;gt;: Number of choices per page&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&#039;Choice 1&#039;, &amp;quot;Choice 2&amp;quot;, &amp;quot;Choice 3&amp;quot; }&lt;br /&gt;
UI:BeginMultiPageMenu(24, 24, 196, &amp;quot;All Choices&amp;quot;, choices, 8, 1, #choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local entry = choices[UI:ChoiceResult()]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the result of the last choice menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The result of the choice&lt;br /&gt;
&lt;br /&gt;
== UI:GetChoiceAction(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s complicated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== UI:WaitForChoice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set choice menu and waits for the player&#039;s selection to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;br /&gt;
[[Category:Quick Reference]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1521</id>
		<title>Lua Function Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1521"/>
		<updated>2023-08-20T05:34:29Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* GAME:UnlockDungeon(System.String) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows all script functions that can be called from Lua&lt;br /&gt;
&lt;br /&gt;
== AI:SetCharacterAI(RogueEssence.Ground.GroundChar,System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assign the given scripted AI class to the specified GroundChar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;classpath&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:DisableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disable a given groundchar&#039;s AI processing until its enabled again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:EnableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:SetAIState(RogueEssence.Ground.GroundChar,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharTurnToChar(RogueEssence.Dungeon.Character,RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:LastDungeonResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the result of the last dungeon adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the floor number of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonAssetName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the internal name for the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonDisplayName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the localized name of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharSetEmote(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s emote in a dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DUNGEON:CharSetEmote(chara, &amp;quot;sweating&amp;quot;, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharStartAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharEndAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharEndAnim(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation, and waits until it completed before continue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX in the dungeon map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position in pixels&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local shake = RogueEssence.Content.ScreenMover(0, 12, 50)&lt;br /&gt;
GROUND:MoveScreen(shake)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GroundSave ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saves the game while in ground mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:GroundSave()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetModDiff(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;uuidStr&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentGround ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current zone, also known as dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.Int32,System.Int32,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The index of the ground map in the zone&lt;br /&gt;
* &amp;lt;code&amp;gt;idxentrypoint&amp;lt;/code&amp;gt;: The index of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within a new zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;: The name of the destination zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;stakes&amp;lt;/code&amp;gt;: Decides what happens when the adventure fails/succeeds.&lt;br /&gt;
* &amp;lt;code&amp;gt;recorded&amp;lt;/code&amp;gt;: Record the adventure in a replay&lt;br /&gt;
* &amp;lt;code&amp;gt;silentRestrict&amp;lt;/code&amp;gt;: Make the dungeon restrictions silently&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterDungeon(1, 0, 0, 0, RogueEssence.Data.GameProgress.DungeonStakes.Risk, true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:ContinueDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and continues the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:ContinueDungeon(1, 1, 0, 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EndDungeonRun ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ends the current adventure, sending the player to a specified destination.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt;: The result of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;destzoneid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entryid&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;display&amp;lt;/code&amp;gt;: Display an epitaph marking the end of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;fanfare&amp;lt;/code&amp;gt;: Play a fanfare.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EndDungeonRun(GameProgress.ResultType.Cleared, 0, -1, 1, 0, true, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterRescue ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a rescue adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sosPath&amp;lt;/code&amp;gt;: The path of the sos mail.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterRescue(&amp;quot;RESCUE/INBOX/SOS/example.sosmail&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:AddAOKRemark(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;remarkIndex&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartToTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map and load up the title screen.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TASK:WaitTask(GAME:RestartToTitle())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartRogue(RogueEssence.Data.RogueConfig) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restarts a Roguelocke run based on the configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt;: The configuration of the roguelocke run&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local config = RogueEssence.Data.RogueConfig.RerollFromOther(_DATA.Save.Config)&lt;br /&gt;
GAME:RestartRogue(config)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterZone(System.String,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeOut ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade out the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;white&amp;lt;/code&amp;gt;: Fade to white if set to true.  Fades to black otherwise.&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeOut(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeIn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade into the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeIn(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:MoveCamera ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Centers the camera on a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time it takes ot move to the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;toPlayer&amp;lt;/code&amp;gt;: Destination is in absolute coordinates if false, and relative to the player character if set to true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:MoveCamera(200, 240, 60, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCameraCenter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current center of the camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Loc object representing the center of the camera.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsCameraOnChar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determines whether the camera is centered relative to the player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if the camera is relative to the player, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasSOSMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:HasAOKMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamLeaderIndex ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamLeaderIndex(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the leader to the chosen index within the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;idx&amp;lt;/code&amp;gt;: The index of the team member within the team.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCanSwitch(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prevents or allows the switching of leaders for the save file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;canSwitch&amp;lt;/code&amp;gt;: Set to true to allow switching, set to false to prevent it.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the player party count.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The count of players&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the party as a LuaTable.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of guests currently in the player&#039;s party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of guests&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the guests as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of characters currently in the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the assembly as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The assembly member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerTeam(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerTeam(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerGuest(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerGuest(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team&#039;s guests, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerAssembly(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerAssembly(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the assembly, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterNickname(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to rename&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;: The new name&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GAME:SetCharacterNickname(chara, &amp;quot;Steve&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterNickname(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to get the nickname from&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamName(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;teamname&amp;lt;/code&amp;gt;: The new team name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team&#039;s name&lt;br /&gt;
&lt;br /&gt;
== GAME:CanRelearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can relearn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanForget(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can forget any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanLearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can learn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CheckLevelSkills ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks the levels gained by a character and prompts to learn all skills along the levels.&lt;br /&gt;
Waits until all skills have been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to prompt for learning.&lt;br /&gt;
* &amp;lt;code&amp;gt;oldLevel&amp;lt;/code&amp;gt;: The level that the character leveled up from.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:CheckLevelSkills(player, 5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:TryLearnSkill ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempts to give a new skill to the specified character, prompting to replace an old one if they are full.&lt;br /&gt;
Waits until all the skill has been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:TryLearnSkill(player, &amp;quot;thunder&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:LearnSkill(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character.&lt;br /&gt;
Fails if the character&#039;s skills are full.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
== GAME:ForgetSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removed a skill from the specified character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to forget the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the skill to forget&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterSkill(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character, replacing a specifically chosen slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skillId&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to replace&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the skill from a specified character and specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to get the skill from.&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to get the skill from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ID of the skill in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:CanPromote(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can be promoted to a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the character can be promoted, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetAvailablePromotions(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets a list of possible classes that the character can prmote to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A lua table of PromoteBranch objects&lt;br /&gt;
&lt;br /&gt;
== GAME:PromoteCharacter(RogueEssence.Dungeon.Character,RogueEssence.Data.PromoteBranch,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Promotes a character ot a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to promote&lt;br /&gt;
* &amp;lt;code&amp;gt;branch&amp;lt;/code&amp;gt;: The PromoteBranch to promote with&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
== GAME:FindPlayerItem(System.String,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finds an item in the player&#039;s team and returns its slot within the inventory or among its team&#039;s equips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The item ID to search for.&lt;br /&gt;
* &amp;lt;code&amp;gt;held&amp;lt;/code&amp;gt;: Check equipped items.&lt;br /&gt;
* &amp;lt;code&amp;gt;inv&amp;lt;/code&amp;gt;: Check inventory items.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The InvSlot of the item. Invalid if the item could not be found.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local inv_slot = GAME:FindPlayerItem(&amp;quot;food_apple&amp;quot;, false, true)&lt;br /&gt;
if inv_slot:IsValid() then &lt;br /&gt;
  GAME:TakePlayerBagItem(inv_slot.Slot)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items equipped by players.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items in the bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagLimit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the maximum amount of item the player&#039;s team can carry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The team slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified guest slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The guest slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the item found at the specified slot of the player&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The item found in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove an item from player inventory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen member of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakeGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen guest of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team&#039;s guest list from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of items in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageItemCount(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of a specific item in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: ID of the item ot check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of copies currently in storage&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerStorageItem(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes an item from the storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item to take&lt;br /&gt;
&lt;br /&gt;
== GAME:DepositAll ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes all items in the player team&#039;s bag and equipped items, and deposits them in storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoney ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money the player currently has on hand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoneyBank ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money in the player&#039;s bank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsKeyDown(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a player is making a certain input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keyid&amp;lt;/code&amp;gt;: The ID of the input&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the button is currently pressed.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:CutsceneMode(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the game in cutscene mode. This prevents characters from taking idle action and hides certain UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bon&amp;lt;/code&amp;gt;: If set to true, turns cutscene mode on. If set to false, turns it off.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetDailySeed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the random seed for the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current adventure&#039;s seed.&lt;br /&gt;
&lt;br /&gt;
== GAME:UnlockDungeon(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unlocks a specified dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to unlock.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GAME:UnlockDungeon(&#039;faded_trail&#039;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:DungeonUnlocked(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a dungeon is unlocked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if unlocked, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:InRogueMode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the current game is in rogue mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if in rogue mode, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasServerSet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetRescueAllowed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks to see if rescue is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if rescues are allowed, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetRescueAllowed(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the value in the player&#039;s save file to determine if they can be rescued or not.&lt;br /&gt;
If rescue is possible on the Save File level, it can still be prevented by the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;allowed&amp;lt;/code&amp;gt;: Set to true to allow the player to be rescued.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:QueueLeaderEvent(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares an event to execute on the next frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:WaitFrames ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for a specified number of frames before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;frames&amp;lt;/code&amp;gt;: The number of frames ot wait.  Each frame is 1/60th of a second.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:WaitFrames(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(RogueElements.Loc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turns a vector (preferably a unit vector) into a cardinal or diagonal direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;: The vector.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(System.Double,System.Double) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenience function to get a vector&#039;s components from lua numbers(doubles)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;: The X value of the vector&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;: The Y value of the vector&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction the vector points to as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:RandomDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generates a random direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
An 8-directional direction.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetupLuaFunctions(RogueEssence.Script.LuaEngine) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setups any extra functionalities for this object written on the lua side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:Hide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to hide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:Unhide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unhides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to unhide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateObject(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;objtype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacter(System.String,System.String,System.Int32,System.Int32,System.String,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chartype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;actionfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;thinkfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveObject(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes an object from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveCharacter(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes a character from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacterFromCharData(System.String,RogueEssence.Dungeon.Character,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creates a ground character, given a dungeon character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name to give the character&lt;br /&gt;
* &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt;: Character data to create from&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction the character will face, defaults to Dir8.Down&lt;br /&gt;
&lt;br /&gt;
== GROUND:RefreshPlayer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reloads the controllable player&#039;s character data to be the current team&#039;s leader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:SetPlayer(RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the controllable player to use new character data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;charData&amp;lt;/code&amp;gt;: The new character data&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerDoSpawn(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make the specified spawner run its spawn method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ground character spawned.&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerSetSpawn(System.String,RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the character to the specified spawner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: The spawner to set the character to, by name&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnChar&amp;lt;/code&amp;gt;: The character to spawn.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToChar(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another character instantly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;turnchar&amp;lt;/code&amp;gt;: The character that is turning.&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: The character to turn to.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToCharAnimated ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face another character over the specified time.&lt;br /&gt;
Clockwise or counter-clockwise are chosen based on the closest direction.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: Character that is turning&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: Character to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: Time spent on each direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, charTo, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:EntTurn(RogueEssence.Ground.GroundEntity,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a ground entity turn to face a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity.  Can be a character or object.&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to face.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Must specify clockwise or counter-clockwise.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;ccw&amp;lt;/code&amp;gt;: false if clockwise, true if counter-clockwise&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurnTo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:TeleportTo(RogueEssence.Ground.GroundEntity,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Repositions the ground entity in a specified location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity to reposition&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to point the entity.  Defaults to Dir8.None, which leaves it untouched.&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move in a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, Dir8.Down, 24, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToMarker ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a ground marker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;mark&amp;lt;/code&amp;gt;: GroundMarker object ot move to&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, marker, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveObjectToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground object move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Ground Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground character move in a direction with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateInDirection(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 24, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground entity move to a position with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateToPosition(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 200, 240, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetEmote(RogueEssence.Ground.GroundChar,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a character emote on the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAnim(RogueEssence.Ground.GroundChar,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndAnim(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an animation and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Animation to play&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAnim(player, &amp;quot;Hurt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAction(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundAction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to perfomr the action&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: The action to perform&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an action and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: Action to perform&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAction(player, action)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetAnim(RogueEssence.Ground.GroundObject,System.Int32,System.Int32,System.Int32,RogueElements.Dir8,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s animation.  After it finishes, it will return to the default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to repeat the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetDefaultAnim(RogueEssence.Ground.GroundObject,System.String,System.Int32,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;animName&amp;lt;/code&amp;gt;: The name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectWaitAnimFrame ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the object to reach a specific frame before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object ot wait on&lt;br /&gt;
* &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: The frame of animation to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:WaitObjectAnim(fountain, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local chara = CH(&#039;PLAYER&#039;)&lt;br /&gt;
local emitter = RogueEssence.Content.FlashEmitter()&lt;br /&gt;
emitter.FadeInTime = 2&lt;br /&gt;
emitter.HoldTime = 4&lt;br /&gt;
emitter.FadeOutTime = 2&lt;br /&gt;
emitter.StartColor = Color(0, 0, 0, 0)&lt;br /&gt;
emitter.Layer = DrawLayer.Top&lt;br /&gt;
emitter.Anim = RogueEssence.Content.BGAnimData(&amp;quot;White&amp;quot;, 0)&lt;br /&gt;
GROUND:PlayVFX(emitter, chara.MapLoc.X, chara.MapLoc.Y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
== GROUND:AddMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a mapstatus to the ground map.  Map statuses only have an aesthetic effect in ground maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes a map status from the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status to remove.&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlaySE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect specifically from the Battle/ subdirectory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitSE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect, and waits for it to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitSE(&amp;quot;Battle/Hit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayFanfare(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitFanfare ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration.&lt;br /&gt;
This function waits for the sound to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitFanfare(&amp;quot;Battle/LevelUp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBGM(System.String,System.Boolean,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a song, replacing the current one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The file name of the song, relative to the Content/Music folder.&lt;br /&gt;
* &amp;lt;code&amp;gt;fade&amp;lt;/code&amp;gt;: Whether to fade the old song out, or start a new one.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the old song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBGM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops playing the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBGM(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:SetBGMVolume(System.Single) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current volume of the song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;: A float value between 0 and 1&lt;br /&gt;
&lt;br /&gt;
== SOUND:GetCurrentSong ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the currently playing song.  If the current song is fading out, gets the next song to be played.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The filename of the song, relative to the Content/Music folder&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocaleCode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current language setting of the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current language, represented by a locale code.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:Format(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: String to format.&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: Arguments&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The formatted string.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:FormatKey(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string given a string key.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: The string key to format&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: string arguments&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocalKeyString(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the string representing a button or key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The input type of the input.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The string representing the button o key the input maps to.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:CreateList(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Builds a single string of comma separated elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;listStrings&amp;lt;/code&amp;gt;: LuaTable of strings containing the elements to build the list from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The combined string containing all elements.&lt;br /&gt;
&lt;br /&gt;
== TASK:StartEntityTask(RogueEssence.Ground.GroundEntity,NLua.LuaFunction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to make an entity run the specified task.&lt;br /&gt;
Will not replace a running task!&lt;br /&gt;
Tasks are run interlocked with the script processing and game processing, and characters cannot run multiple tasks at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
== TASK:StopEntityTask(RogueEssence.Ground.GroundEntity) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to force stop an entity&#039;s current task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity running the task to stop.&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitStartEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes an entity run a specified task, and waits for it to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the specified entity to finish its task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which task we&#039;ll wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitEntityTask(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Runs a task and waits for it to complete.&lt;br /&gt;
Most methods that do not expose themselves to script need to be wrapped with this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitTask(_DUNGEON:AddMapStatus(&amp;quot;rain&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:StartScriptLocalCoroutine(NLua.LuaFunction,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A wrapper around the StartCoroutine method of the GameManager, so lua coroutines can be executed locally to the script context.&lt;br /&gt;
AKA, it will block the script execution while its executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== TASK:BranchCoroutine(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Starts a new coroutine to run parallel to the current execution.&lt;br /&gt;
Useful for performing multiple actions at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to run in parallel&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local coro1 = TASK:BranchCoroutine(GAME:_FadeIn(60))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:JoinCoroutines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for all specified coroutines to finish before continuing execution.&lt;br /&gt;
Often used for coroutines created using TASK:BranchCoroutine()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;coroTable&amp;lt;/code&amp;gt;: A table of coroutines to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:JoinCoroutines({coro1})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitInput ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the player to press a button before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowDialogue(System.String, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the player completes it.&lt;br /&gt;
Takes a string as an argument and optional LuaTable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function exclaim()&lt;br /&gt;
  SOUND:PlayBattleSE(&amp;quot;EVT_Emote_Exclaim_2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Exclaim [script=0]sound!&amp;quot;, { exclaim })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTimedDialogue(System.String, System.Int32, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the specified time has expired. Can take an optional LuaTable containing script calls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTimedDialogue(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextDialogue(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current dialogue text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowVoiceOver ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a voice over, waiting until the player completes it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowVoiceOver(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextVoiceOver(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current voice-over text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:PopUp(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes text pop up in the bottom-left corner. Displays concurrently with any other process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a title text, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTitle(&amp;quot;Hello World!&amp;quot;, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextShowTitle(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shows text in the format of a title drop.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the currently displayed title, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideTitle(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextFadeTitle(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the text set in a title drop.  Requires WaitDialog to actually fade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a chosen background image, with a chosen framerate, at a certain fade time, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowBG(&amp;quot;TestBG&amp;quot;, 3, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ShowBG(System.String,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets an image to display.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current background image, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideBG(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:FadeBG(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares a fade-out of the current image.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeaker(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clears the current speaker, so none is displayed the next time TextDialogue is called.&lt;br /&gt;
This also resets any custom dialogue box positions, portrait positions, and choice positions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: If turned on, the text from the dialogue boxes make sounds.  Default is on.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(System.String,System.Boolean,System.String,System.Int32,System.String,RogueEssence.Data.Gender) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Speaker name.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
* &amp;lt;code&amp;gt;specie&amp;lt;/code&amp;gt;: Species of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt;: Form of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt;: Skin of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;gender&amp;lt;/code&amp;gt;: Gender of the speaker&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Ground.GroundChar,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a ground map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Dungeon.Character,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a dungeon map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerReverse(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reverses the speaker orientation to face left instead of right.  This depends on the boolean passed in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetChoiceLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetChoiceLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog back to default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetBounds(System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;: Height of the box&lt;br /&gt;
&lt;br /&gt;
== UI:ResetBounds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerLoc(144, 16)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeakerLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSe(System.String, System.Int32) == &lt;br /&gt;
&lt;br /&gt;
Sets the speaker sound effect and the amount of frames in between each sound effect &lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;newSe&amp;lt;/code&amp;gt;: The path to the new sound effect&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect, optional&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:SetSe(&amp;quot;Battle/_UNK_DUN_Water_Drop&amp;quot;, 10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSe ==&lt;br /&gt;
 &lt;br /&gt;
Resets the default speaker sound effect and speak frames&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerTime(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
Sets the amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerTime(10)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerEmotion(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
Sets the emotion of the speaker in the dialogue box.&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emo&amp;lt;/code&amp;gt;: Emotion to display&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerEmotion(&amp;quot;Pain&amp;quot;, true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCenter(System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the centering of the text in the textbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;centerH&amp;lt;/code&amp;gt;: Horizontal centering&lt;br /&gt;
* &amp;lt;code&amp;gt;centerV&amp;lt;/code&amp;gt;: Vertical centering&lt;br /&gt;
&lt;br /&gt;
== UI:SetAutoFinish(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the text automatically finish when it shows up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;autoFinish&amp;lt;/code&amp;gt;: Auto-finishes text if true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetAutoFinish(true)&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;The mailbox is empty.&amp;quot;)&lt;br /&gt;
UI:SetAutoFinish(false)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitDialog ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set dialogue box and waits for the player to complete it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitDialog()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:_DummyWait ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instantly break. Used as default/invalid value when returning a yieldable value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceMenuYesNo(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask a question answered by yes or no via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: Question to be asked to the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;bdefaultstono&amp;lt;/code&amp;gt;: Whether the cursor starts on no by default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ChoiceMenuYesNo(&amp;quot;Would you like to continue on?&amp;quot;, false)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
localc continue = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:NameMenu(System.String,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the name input box.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The text to show above the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;: The text to show below the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;maxLength&amp;lt;/code&amp;gt;: The length of the text in pixels.&lt;br /&gt;
&lt;br /&gt;
== UI:AssemblyMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a menu for replacing party members with the assembly.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the boolean value indicating whether the team composition was changed or not, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShopMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Shop menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;goods&amp;lt;/code&amp;gt;: A table of items to be sold.  The format is { Item=InvItem, Price=int } for each item.&lt;br /&gt;
&lt;br /&gt;
== UI:SellMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Sell menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items to sell, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:StorageMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to exchange items in the inventory with.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WithdrawMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to withdraw from.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BankMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Bank menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SpoilsMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Spoils menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;appraisalMap&amp;lt;/code&amp;gt;: A table of mappings from containers to items, in the format of { Box=InvItem , Item=InvItem }&lt;br /&gt;
&lt;br /&gt;
== UI:AppraiseMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Appraisal menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TutorTeamMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Tutor Team menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team member, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:RelearnMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Relearn menu for a character.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:LearnMenu(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Learn menu for a character to replace an existing skill with a new one.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
* &amp;lt;code&amp;gt;skillNum&amp;lt;/code&amp;gt;: The new skill&lt;br /&gt;
&lt;br /&gt;
== UI:ForgetMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Forget menu for a character to forget a skill.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:ShowPromoteMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Promote menu to choose a team member to promote.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team slot, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CanSwapMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SwapMenu(NLua.LuaTable,NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TributeMenu(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowMusicMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Music menu to browse music for the game.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string representing the chosen song, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spoilerUnlocks&amp;lt;/code&amp;gt;: A lua table of strings representing progression flags that have been completed.&lt;br /&gt;
            Any ogg file that uses this tag as a spoiler tag will display in the menu only if the flag has been passed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ShowMusicMenu({&#039;MAIN_001&#039;})&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:DungeonChoice(System.String,RogueEssence.Dungeon.ZoneLoc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask to enter a destintion via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Name of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;dest&amp;lt;/code&amp;gt;: The ZoneLoc location of the destination.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:DungeonChoice(&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0) )&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local choice = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DungeonChoice&lt;br /&gt;
&lt;br /&gt;
== UI:DestinationMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing destinations, showing a preview of restrictions and requirements for dungeons.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the ZoneLoc indicating the chosen destination, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;destinations&amp;lt;/code&amp;gt;: A lua table representing the list of destinations with each element in the format of { Name=string, Dest=ZoneLoc }&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  local all_dests = { { Name=&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, Dest=RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0)} }&lt;br /&gt;
&lt;br /&gt;
  UI:DestinationMenu(all_dests)&lt;br /&gt;
  UI:WaitForChoice()&lt;br /&gt;
  local dest = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DestinationMenu&lt;br /&gt;
&lt;br /&gt;
== UI:ServersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ContactsMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SOSMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:AOKMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:PeersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowConnectMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CurrentActivityMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChooseMonsterMenu(System.String,NLua.LuaTable,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing monsters, showing a preview of their appearances via portrait.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string indicating the chosen species, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The title of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choices&amp;lt;/code&amp;gt;: A lua table of choices with each element being a MonsterID.&lt;br /&gt;
* &amp;lt;code&amp;gt;canMenu&amp;lt;/code&amp;gt;: If set to true, the Menu Button exits the menu if pressed.&lt;br /&gt;
* &amp;lt;code&amp;gt;canCancel&amp;lt;/code&amp;gt;: If set to true, the Cancel Button exits the menu if pressed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;bulbasaur&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;charmander&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;squirtle&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless)&lt;br /&gt;
}&lt;br /&gt;
UI:ChooseMonsterMenu(&amp;quot;Starter?&amp;quot;, choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCustomMenu(RogueEssence.Menu.InteractableMenu) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a custom menu of the caller&#039;s choice.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BeginChoiceMenu(System.String,NLua.LuaTable,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: The question to ask the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local color_choices = {&#039;Red&#039;, &#039;Yellow&#039;, &amp;quot;Green&amp;quot;}&lt;br /&gt;
UI:BeginChoiceMenu(&amp;quot;Which color do you like the most?&amp;quot;, color_choices, 1, 1)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local color = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:BeginMultiPageMenu(System.Int32,System.Int32,System.Int32,System.String,NLua.LuaTable,System.Int32,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-paged choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: Height of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;linesPerPage&amp;lt;/code&amp;gt;: Number of choices per page&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&#039;Choice 1&#039;, &amp;quot;Choice 2&amp;quot;, &amp;quot;Choice 3&amp;quot; }&lt;br /&gt;
UI:BeginMultiPageMenu(24, 24, 196, &amp;quot;All Choices&amp;quot;, choices, 8, 1, #choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local entry = choices[UI:ChoiceResult()]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the result of the last choice menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The result of the choice&lt;br /&gt;
&lt;br /&gt;
== UI:GetChoiceAction(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s complicated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== UI:WaitForChoice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set choice menu and waits for the player&#039;s selection to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;br /&gt;
[[Category:Quick Reference]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1520</id>
		<title>Lua Function Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1520"/>
		<updated>2023-08-20T05:33:16Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows all script functions that can be called from Lua&lt;br /&gt;
&lt;br /&gt;
== AI:SetCharacterAI(RogueEssence.Ground.GroundChar,System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assign the given scripted AI class to the specified GroundChar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;classpath&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:DisableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disable a given groundchar&#039;s AI processing until its enabled again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:EnableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:SetAIState(RogueEssence.Ground.GroundChar,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharTurnToChar(RogueEssence.Dungeon.Character,RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:LastDungeonResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the result of the last dungeon adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the floor number of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonAssetName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the internal name for the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonDisplayName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the localized name of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharSetEmote(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s emote in a dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DUNGEON:CharSetEmote(chara, &amp;quot;sweating&amp;quot;, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharStartAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharEndAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharEndAnim(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation, and waits until it completed before continue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX in the dungeon map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position in pixels&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local shake = RogueEssence.Content.ScreenMover(0, 12, 50)&lt;br /&gt;
GROUND:MoveScreen(shake)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GroundSave ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saves the game while in ground mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:GroundSave()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetModDiff(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;uuidStr&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentGround ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current zone, also known as dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.Int32,System.Int32,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The index of the ground map in the zone&lt;br /&gt;
* &amp;lt;code&amp;gt;idxentrypoint&amp;lt;/code&amp;gt;: The index of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within a new zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;: The name of the destination zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;stakes&amp;lt;/code&amp;gt;: Decides what happens when the adventure fails/succeeds.&lt;br /&gt;
* &amp;lt;code&amp;gt;recorded&amp;lt;/code&amp;gt;: Record the adventure in a replay&lt;br /&gt;
* &amp;lt;code&amp;gt;silentRestrict&amp;lt;/code&amp;gt;: Make the dungeon restrictions silently&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterDungeon(1, 0, 0, 0, RogueEssence.Data.GameProgress.DungeonStakes.Risk, true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:ContinueDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and continues the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:ContinueDungeon(1, 1, 0, 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EndDungeonRun ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ends the current adventure, sending the player to a specified destination.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt;: The result of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;destzoneid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entryid&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;display&amp;lt;/code&amp;gt;: Display an epitaph marking the end of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;fanfare&amp;lt;/code&amp;gt;: Play a fanfare.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EndDungeonRun(GameProgress.ResultType.Cleared, 0, -1, 1, 0, true, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterRescue ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a rescue adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sosPath&amp;lt;/code&amp;gt;: The path of the sos mail.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterRescue(&amp;quot;RESCUE/INBOX/SOS/example.sosmail&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:AddAOKRemark(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;remarkIndex&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartToTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map and load up the title screen.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TASK:WaitTask(GAME:RestartToTitle())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartRogue(RogueEssence.Data.RogueConfig) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restarts a Roguelocke run based on the configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt;: The configuration of the roguelocke run&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local config = RogueEssence.Data.RogueConfig.RerollFromOther(_DATA.Save.Config)&lt;br /&gt;
GAME:RestartRogue(config)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterZone(System.String,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeOut ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade out the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;white&amp;lt;/code&amp;gt;: Fade to white if set to true.  Fades to black otherwise.&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeOut(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeIn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade into the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeIn(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:MoveCamera ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Centers the camera on a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time it takes ot move to the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;toPlayer&amp;lt;/code&amp;gt;: Destination is in absolute coordinates if false, and relative to the player character if set to true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:MoveCamera(200, 240, 60, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCameraCenter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current center of the camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Loc object representing the center of the camera.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsCameraOnChar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determines whether the camera is centered relative to the player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if the camera is relative to the player, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasSOSMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:HasAOKMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamLeaderIndex ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamLeaderIndex(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the leader to the chosen index within the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;idx&amp;lt;/code&amp;gt;: The index of the team member within the team.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCanSwitch(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prevents or allows the switching of leaders for the save file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;canSwitch&amp;lt;/code&amp;gt;: Set to true to allow switching, set to false to prevent it.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the player party count.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The count of players&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the party as a LuaTable.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of guests currently in the player&#039;s party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of guests&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the guests as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of characters currently in the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the assembly as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The assembly member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerTeam(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerTeam(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerGuest(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerGuest(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team&#039;s guests, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerAssembly(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerAssembly(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the assembly, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterNickname(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to rename&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;: The new name&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GAME:SetCharacterNickname(chara, &amp;quot;Steve&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterNickname(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to get the nickname from&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamName(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;teamname&amp;lt;/code&amp;gt;: The new team name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team&#039;s name&lt;br /&gt;
&lt;br /&gt;
== GAME:CanRelearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can relearn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanForget(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can forget any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanLearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can learn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CheckLevelSkills ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks the levels gained by a character and prompts to learn all skills along the levels.&lt;br /&gt;
Waits until all skills have been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to prompt for learning.&lt;br /&gt;
* &amp;lt;code&amp;gt;oldLevel&amp;lt;/code&amp;gt;: The level that the character leveled up from.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:CheckLevelSkills(player, 5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:TryLearnSkill ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempts to give a new skill to the specified character, prompting to replace an old one if they are full.&lt;br /&gt;
Waits until all the skill has been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:TryLearnSkill(player, &amp;quot;thunder&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:LearnSkill(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character.&lt;br /&gt;
Fails if the character&#039;s skills are full.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
== GAME:ForgetSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removed a skill from the specified character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to forget the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the skill to forget&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterSkill(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character, replacing a specifically chosen slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skillId&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to replace&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the skill from a specified character and specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to get the skill from.&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to get the skill from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ID of the skill in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:CanPromote(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can be promoted to a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the character can be promoted, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetAvailablePromotions(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets a list of possible classes that the character can prmote to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A lua table of PromoteBranch objects&lt;br /&gt;
&lt;br /&gt;
== GAME:PromoteCharacter(RogueEssence.Dungeon.Character,RogueEssence.Data.PromoteBranch,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Promotes a character ot a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to promote&lt;br /&gt;
* &amp;lt;code&amp;gt;branch&amp;lt;/code&amp;gt;: The PromoteBranch to promote with&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
== GAME:FindPlayerItem(System.String,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finds an item in the player&#039;s team and returns its slot within the inventory or among its team&#039;s equips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The item ID to search for.&lt;br /&gt;
* &amp;lt;code&amp;gt;held&amp;lt;/code&amp;gt;: Check equipped items.&lt;br /&gt;
* &amp;lt;code&amp;gt;inv&amp;lt;/code&amp;gt;: Check inventory items.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The InvSlot of the item. Invalid if the item could not be found.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local inv_slot = GAME:FindPlayerItem(&amp;quot;food_apple&amp;quot;, false, true)&lt;br /&gt;
if inv_slot:IsValid() then &lt;br /&gt;
  GAME:TakePlayerBagItem(inv_slot.Slot)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items equipped by players.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items in the bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagLimit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the maximum amount of item the player&#039;s team can carry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The team slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified guest slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The guest slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the item found at the specified slot of the player&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The item found in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove an item from player inventory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen member of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakeGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen guest of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team&#039;s guest list from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of items in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageItemCount(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of a specific item in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: ID of the item ot check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of copies currently in storage&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerStorageItem(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes an item from the storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item to take&lt;br /&gt;
&lt;br /&gt;
== GAME:DepositAll ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes all items in the player team&#039;s bag and equipped items, and deposits them in storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoney ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money the player currently has on hand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoneyBank ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money in the player&#039;s bank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsKeyDown(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a player is making a certain input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keyid&amp;lt;/code&amp;gt;: The ID of the input&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the button is currently pressed.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:CutsceneMode(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the game in cutscene mode. This prevents characters from taking idle action and hides certain UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bon&amp;lt;/code&amp;gt;: If set to true, turns cutscene mode on. If set to false, turns it off.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetDailySeed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the random seed for the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current adventure&#039;s seed.&lt;br /&gt;
&lt;br /&gt;
== GAME:UnlockDungeon(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unlocks a specified dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to unlock.&lt;br /&gt;
&lt;br /&gt;
== GAME:DungeonUnlocked(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a dungeon is unlocked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if unlocked, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:InRogueMode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the current game is in rogue mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if in rogue mode, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasServerSet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetRescueAllowed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks to see if rescue is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if rescues are allowed, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetRescueAllowed(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the value in the player&#039;s save file to determine if they can be rescued or not.&lt;br /&gt;
If rescue is possible on the Save File level, it can still be prevented by the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;allowed&amp;lt;/code&amp;gt;: Set to true to allow the player to be rescued.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:QueueLeaderEvent(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares an event to execute on the next frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:WaitFrames ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for a specified number of frames before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;frames&amp;lt;/code&amp;gt;: The number of frames ot wait.  Each frame is 1/60th of a second.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:WaitFrames(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(RogueElements.Loc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turns a vector (preferably a unit vector) into a cardinal or diagonal direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;: The vector.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(System.Double,System.Double) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenience function to get a vector&#039;s components from lua numbers(doubles)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;: The X value of the vector&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;: The Y value of the vector&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction the vector points to as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:RandomDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generates a random direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
An 8-directional direction.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetupLuaFunctions(RogueEssence.Script.LuaEngine) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setups any extra functionalities for this object written on the lua side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:Hide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to hide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:Unhide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unhides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to unhide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateObject(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;objtype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacter(System.String,System.String,System.Int32,System.Int32,System.String,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chartype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;actionfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;thinkfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveObject(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes an object from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveCharacter(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes a character from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacterFromCharData(System.String,RogueEssence.Dungeon.Character,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creates a ground character, given a dungeon character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name to give the character&lt;br /&gt;
* &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt;: Character data to create from&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction the character will face, defaults to Dir8.Down&lt;br /&gt;
&lt;br /&gt;
== GROUND:RefreshPlayer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reloads the controllable player&#039;s character data to be the current team&#039;s leader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:SetPlayer(RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the controllable player to use new character data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;charData&amp;lt;/code&amp;gt;: The new character data&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerDoSpawn(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make the specified spawner run its spawn method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ground character spawned.&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerSetSpawn(System.String,RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the character to the specified spawner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: The spawner to set the character to, by name&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnChar&amp;lt;/code&amp;gt;: The character to spawn.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToChar(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another character instantly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;turnchar&amp;lt;/code&amp;gt;: The character that is turning.&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: The character to turn to.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToCharAnimated ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face another character over the specified time.&lt;br /&gt;
Clockwise or counter-clockwise are chosen based on the closest direction.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: Character that is turning&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: Character to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: Time spent on each direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, charTo, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:EntTurn(RogueEssence.Ground.GroundEntity,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a ground entity turn to face a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity.  Can be a character or object.&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to face.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Must specify clockwise or counter-clockwise.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;ccw&amp;lt;/code&amp;gt;: false if clockwise, true if counter-clockwise&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurnTo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:TeleportTo(RogueEssence.Ground.GroundEntity,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Repositions the ground entity in a specified location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity to reposition&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to point the entity.  Defaults to Dir8.None, which leaves it untouched.&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move in a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, Dir8.Down, 24, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToMarker ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a ground marker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;mark&amp;lt;/code&amp;gt;: GroundMarker object ot move to&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, marker, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveObjectToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground object move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Ground Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground character move in a direction with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateInDirection(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 24, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground entity move to a position with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateToPosition(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 200, 240, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetEmote(RogueEssence.Ground.GroundChar,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a character emote on the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAnim(RogueEssence.Ground.GroundChar,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndAnim(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an animation and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Animation to play&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAnim(player, &amp;quot;Hurt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAction(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundAction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to perfomr the action&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: The action to perform&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an action and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: Action to perform&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAction(player, action)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetAnim(RogueEssence.Ground.GroundObject,System.Int32,System.Int32,System.Int32,RogueElements.Dir8,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s animation.  After it finishes, it will return to the default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to repeat the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetDefaultAnim(RogueEssence.Ground.GroundObject,System.String,System.Int32,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;animName&amp;lt;/code&amp;gt;: The name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectWaitAnimFrame ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the object to reach a specific frame before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object ot wait on&lt;br /&gt;
* &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: The frame of animation to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:WaitObjectAnim(fountain, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local chara = CH(&#039;PLAYER&#039;)&lt;br /&gt;
local emitter = RogueEssence.Content.FlashEmitter()&lt;br /&gt;
emitter.FadeInTime = 2&lt;br /&gt;
emitter.HoldTime = 4&lt;br /&gt;
emitter.FadeOutTime = 2&lt;br /&gt;
emitter.StartColor = Color(0, 0, 0, 0)&lt;br /&gt;
emitter.Layer = DrawLayer.Top&lt;br /&gt;
emitter.Anim = RogueEssence.Content.BGAnimData(&amp;quot;White&amp;quot;, 0)&lt;br /&gt;
GROUND:PlayVFX(emitter, chara.MapLoc.X, chara.MapLoc.Y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
== GROUND:AddMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a mapstatus to the ground map.  Map statuses only have an aesthetic effect in ground maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes a map status from the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status to remove.&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlaySE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect specifically from the Battle/ subdirectory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitSE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect, and waits for it to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitSE(&amp;quot;Battle/Hit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayFanfare(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitFanfare ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration.&lt;br /&gt;
This function waits for the sound to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitFanfare(&amp;quot;Battle/LevelUp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBGM(System.String,System.Boolean,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a song, replacing the current one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The file name of the song, relative to the Content/Music folder.&lt;br /&gt;
* &amp;lt;code&amp;gt;fade&amp;lt;/code&amp;gt;: Whether to fade the old song out, or start a new one.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the old song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBGM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops playing the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBGM(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:SetBGMVolume(System.Single) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current volume of the song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;: A float value between 0 and 1&lt;br /&gt;
&lt;br /&gt;
== SOUND:GetCurrentSong ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the currently playing song.  If the current song is fading out, gets the next song to be played.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The filename of the song, relative to the Content/Music folder&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocaleCode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current language setting of the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current language, represented by a locale code.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:Format(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: String to format.&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: Arguments&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The formatted string.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:FormatKey(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string given a string key.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: The string key to format&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: string arguments&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocalKeyString(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the string representing a button or key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The input type of the input.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The string representing the button o key the input maps to.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:CreateList(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Builds a single string of comma separated elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;listStrings&amp;lt;/code&amp;gt;: LuaTable of strings containing the elements to build the list from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The combined string containing all elements.&lt;br /&gt;
&lt;br /&gt;
== TASK:StartEntityTask(RogueEssence.Ground.GroundEntity,NLua.LuaFunction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to make an entity run the specified task.&lt;br /&gt;
Will not replace a running task!&lt;br /&gt;
Tasks are run interlocked with the script processing and game processing, and characters cannot run multiple tasks at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
== TASK:StopEntityTask(RogueEssence.Ground.GroundEntity) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to force stop an entity&#039;s current task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity running the task to stop.&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitStartEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes an entity run a specified task, and waits for it to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the specified entity to finish its task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which task we&#039;ll wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitEntityTask(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Runs a task and waits for it to complete.&lt;br /&gt;
Most methods that do not expose themselves to script need to be wrapped with this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitTask(_DUNGEON:AddMapStatus(&amp;quot;rain&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:StartScriptLocalCoroutine(NLua.LuaFunction,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A wrapper around the StartCoroutine method of the GameManager, so lua coroutines can be executed locally to the script context.&lt;br /&gt;
AKA, it will block the script execution while its executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== TASK:BranchCoroutine(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Starts a new coroutine to run parallel to the current execution.&lt;br /&gt;
Useful for performing multiple actions at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to run in parallel&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local coro1 = TASK:BranchCoroutine(GAME:_FadeIn(60))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:JoinCoroutines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for all specified coroutines to finish before continuing execution.&lt;br /&gt;
Often used for coroutines created using TASK:BranchCoroutine()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;coroTable&amp;lt;/code&amp;gt;: A table of coroutines to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:JoinCoroutines({coro1})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitInput ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the player to press a button before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowDialogue(System.String, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the player completes it.&lt;br /&gt;
Takes a string as an argument and optional LuaTable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function exclaim()&lt;br /&gt;
  SOUND:PlayBattleSE(&amp;quot;EVT_Emote_Exclaim_2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Exclaim [script=0]sound!&amp;quot;, { exclaim })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTimedDialogue(System.String, System.Int32, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the specified time has expired. Can take an optional LuaTable containing script calls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTimedDialogue(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextDialogue(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current dialogue text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowVoiceOver ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a voice over, waiting until the player completes it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowVoiceOver(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextVoiceOver(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current voice-over text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:PopUp(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes text pop up in the bottom-left corner. Displays concurrently with any other process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a title text, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTitle(&amp;quot;Hello World!&amp;quot;, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextShowTitle(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shows text in the format of a title drop.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the currently displayed title, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideTitle(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextFadeTitle(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the text set in a title drop.  Requires WaitDialog to actually fade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a chosen background image, with a chosen framerate, at a certain fade time, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowBG(&amp;quot;TestBG&amp;quot;, 3, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ShowBG(System.String,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets an image to display.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current background image, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideBG(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:FadeBG(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares a fade-out of the current image.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeaker(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clears the current speaker, so none is displayed the next time TextDialogue is called.&lt;br /&gt;
This also resets any custom dialogue box positions, portrait positions, and choice positions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: If turned on, the text from the dialogue boxes make sounds.  Default is on.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(System.String,System.Boolean,System.String,System.Int32,System.String,RogueEssence.Data.Gender) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Speaker name.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
* &amp;lt;code&amp;gt;specie&amp;lt;/code&amp;gt;: Species of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt;: Form of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt;: Skin of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;gender&amp;lt;/code&amp;gt;: Gender of the speaker&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Ground.GroundChar,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a ground map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Dungeon.Character,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a dungeon map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerReverse(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reverses the speaker orientation to face left instead of right.  This depends on the boolean passed in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetChoiceLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetChoiceLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog back to default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetBounds(System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;: Height of the box&lt;br /&gt;
&lt;br /&gt;
== UI:ResetBounds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerLoc(144, 16)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeakerLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSe(System.String, System.Int32) == &lt;br /&gt;
&lt;br /&gt;
Sets the speaker sound effect and the amount of frames in between each sound effect &lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;newSe&amp;lt;/code&amp;gt;: The path to the new sound effect&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect, optional&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:SetSe(&amp;quot;Battle/_UNK_DUN_Water_Drop&amp;quot;, 10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSe ==&lt;br /&gt;
 &lt;br /&gt;
Resets the default speaker sound effect and speak frames&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerTime(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
Sets the amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerTime(10)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerEmotion(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
Sets the emotion of the speaker in the dialogue box.&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emo&amp;lt;/code&amp;gt;: Emotion to display&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerEmotion(&amp;quot;Pain&amp;quot;, true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCenter(System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the centering of the text in the textbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;centerH&amp;lt;/code&amp;gt;: Horizontal centering&lt;br /&gt;
* &amp;lt;code&amp;gt;centerV&amp;lt;/code&amp;gt;: Vertical centering&lt;br /&gt;
&lt;br /&gt;
== UI:SetAutoFinish(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the text automatically finish when it shows up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;autoFinish&amp;lt;/code&amp;gt;: Auto-finishes text if true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetAutoFinish(true)&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;The mailbox is empty.&amp;quot;)&lt;br /&gt;
UI:SetAutoFinish(false)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitDialog ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set dialogue box and waits for the player to complete it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitDialog()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:_DummyWait ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instantly break. Used as default/invalid value when returning a yieldable value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceMenuYesNo(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask a question answered by yes or no via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: Question to be asked to the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;bdefaultstono&amp;lt;/code&amp;gt;: Whether the cursor starts on no by default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ChoiceMenuYesNo(&amp;quot;Would you like to continue on?&amp;quot;, false)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
localc continue = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:NameMenu(System.String,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the name input box.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The text to show above the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;: The text to show below the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;maxLength&amp;lt;/code&amp;gt;: The length of the text in pixels.&lt;br /&gt;
&lt;br /&gt;
== UI:AssemblyMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a menu for replacing party members with the assembly.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the boolean value indicating whether the team composition was changed or not, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShopMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Shop menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;goods&amp;lt;/code&amp;gt;: A table of items to be sold.  The format is { Item=InvItem, Price=int } for each item.&lt;br /&gt;
&lt;br /&gt;
== UI:SellMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Sell menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items to sell, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:StorageMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to exchange items in the inventory with.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WithdrawMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to withdraw from.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BankMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Bank menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SpoilsMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Spoils menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;appraisalMap&amp;lt;/code&amp;gt;: A table of mappings from containers to items, in the format of { Box=InvItem , Item=InvItem }&lt;br /&gt;
&lt;br /&gt;
== UI:AppraiseMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Appraisal menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TutorTeamMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Tutor Team menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team member, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:RelearnMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Relearn menu for a character.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:LearnMenu(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Learn menu for a character to replace an existing skill with a new one.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
* &amp;lt;code&amp;gt;skillNum&amp;lt;/code&amp;gt;: The new skill&lt;br /&gt;
&lt;br /&gt;
== UI:ForgetMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Forget menu for a character to forget a skill.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:ShowPromoteMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Promote menu to choose a team member to promote.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team slot, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CanSwapMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SwapMenu(NLua.LuaTable,NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TributeMenu(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowMusicMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Music menu to browse music for the game.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string representing the chosen song, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spoilerUnlocks&amp;lt;/code&amp;gt;: A lua table of strings representing progression flags that have been completed.&lt;br /&gt;
            Any ogg file that uses this tag as a spoiler tag will display in the menu only if the flag has been passed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ShowMusicMenu({&#039;MAIN_001&#039;})&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:DungeonChoice(System.String,RogueEssence.Dungeon.ZoneLoc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask to enter a destintion via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Name of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;dest&amp;lt;/code&amp;gt;: The ZoneLoc location of the destination.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:DungeonChoice(&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0) )&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local choice = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DungeonChoice&lt;br /&gt;
&lt;br /&gt;
== UI:DestinationMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing destinations, showing a preview of restrictions and requirements for dungeons.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the ZoneLoc indicating the chosen destination, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;destinations&amp;lt;/code&amp;gt;: A lua table representing the list of destinations with each element in the format of { Name=string, Dest=ZoneLoc }&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  local all_dests = { { Name=&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, Dest=RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0)} }&lt;br /&gt;
&lt;br /&gt;
  UI:DestinationMenu(all_dests)&lt;br /&gt;
  UI:WaitForChoice()&lt;br /&gt;
  local dest = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DestinationMenu&lt;br /&gt;
&lt;br /&gt;
== UI:ServersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ContactsMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SOSMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:AOKMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:PeersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowConnectMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CurrentActivityMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChooseMonsterMenu(System.String,NLua.LuaTable,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing monsters, showing a preview of their appearances via portrait.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string indicating the chosen species, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The title of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choices&amp;lt;/code&amp;gt;: A lua table of choices with each element being a MonsterID.&lt;br /&gt;
* &amp;lt;code&amp;gt;canMenu&amp;lt;/code&amp;gt;: If set to true, the Menu Button exits the menu if pressed.&lt;br /&gt;
* &amp;lt;code&amp;gt;canCancel&amp;lt;/code&amp;gt;: If set to true, the Cancel Button exits the menu if pressed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;bulbasaur&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;charmander&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;squirtle&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless)&lt;br /&gt;
}&lt;br /&gt;
UI:ChooseMonsterMenu(&amp;quot;Starter?&amp;quot;, choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCustomMenu(RogueEssence.Menu.InteractableMenu) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a custom menu of the caller&#039;s choice.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BeginChoiceMenu(System.String,NLua.LuaTable,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: The question to ask the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local color_choices = {&#039;Red&#039;, &#039;Yellow&#039;, &amp;quot;Green&amp;quot;}&lt;br /&gt;
UI:BeginChoiceMenu(&amp;quot;Which color do you like the most?&amp;quot;, color_choices, 1, 1)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local color = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:BeginMultiPageMenu(System.Int32,System.Int32,System.Int32,System.String,NLua.LuaTable,System.Int32,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-paged choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: Height of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;linesPerPage&amp;lt;/code&amp;gt;: Number of choices per page&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&#039;Choice 1&#039;, &amp;quot;Choice 2&amp;quot;, &amp;quot;Choice 3&amp;quot; }&lt;br /&gt;
UI:BeginMultiPageMenu(24, 24, 196, &amp;quot;All Choices&amp;quot;, choices, 8, 1, #choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local entry = choices[UI:ChoiceResult()]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the result of the last choice menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The result of the choice&lt;br /&gt;
&lt;br /&gt;
== UI:GetChoiceAction(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s complicated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== UI:WaitForChoice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set choice menu and waits for the player&#039;s selection to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;br /&gt;
[[Category:Quick Reference]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1519</id>
		<title>Lua Function Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1519"/>
		<updated>2023-08-20T05:33:03Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* GAME:FindPlayerItem(System.String,System.Boolean,System.Boolean) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows all script functions that can be called from Lua&lt;br /&gt;
&lt;br /&gt;
== AI:SetCharacterAI(RogueEssence.Ground.GroundChar,System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assign the given scripted AI class to the specified GroundChar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;classpath&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:DisableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disable a given groundchar&#039;s AI processing until its enabled again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:EnableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:SetAIState(RogueEssence.Ground.GroundChar,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharTurnToChar(RogueEssence.Dungeon.Character,RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:LastDungeonResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the result of the last dungeon adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the floor number of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonAssetName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the internal name for the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonDisplayName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the localized name of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharSetEmote(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s emote in a dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DUNGEON:CharSetEmote(chara, &amp;quot;sweating&amp;quot;, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharStartAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharEndAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharEndAnim(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation, and waits until it completed before continue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX in the dungeon map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position in pixels&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local shake = RogueEssence.Content.ScreenMover(0, 12, 50)&lt;br /&gt;
GROUND:MoveScreen(shake)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GroundSave ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saves the game while in ground mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:GroundSave()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetModDiff(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;uuidStr&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentGround ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current zone, also known as dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.Int32,System.Int32,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The index of the ground map in the zone&lt;br /&gt;
* &amp;lt;code&amp;gt;idxentrypoint&amp;lt;/code&amp;gt;: The index of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within a new zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;: The name of the destination zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;stakes&amp;lt;/code&amp;gt;: Decides what happens when the adventure fails/succeeds.&lt;br /&gt;
* &amp;lt;code&amp;gt;recorded&amp;lt;/code&amp;gt;: Record the adventure in a replay&lt;br /&gt;
* &amp;lt;code&amp;gt;silentRestrict&amp;lt;/code&amp;gt;: Make the dungeon restrictions silently&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterDungeon(1, 0, 0, 0, RogueEssence.Data.GameProgress.DungeonStakes.Risk, true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:ContinueDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and continues the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:ContinueDungeon(1, 1, 0, 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EndDungeonRun ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ends the current adventure, sending the player to a specified destination.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt;: The result of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;destzoneid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entryid&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;display&amp;lt;/code&amp;gt;: Display an epitaph marking the end of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;fanfare&amp;lt;/code&amp;gt;: Play a fanfare.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EndDungeonRun(GameProgress.ResultType.Cleared, 0, -1, 1, 0, true, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterRescue ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a rescue adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sosPath&amp;lt;/code&amp;gt;: The path of the sos mail.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterRescue(&amp;quot;RESCUE/INBOX/SOS/example.sosmail&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:AddAOKRemark(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;remarkIndex&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartToTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map and load up the title screen.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TASK:WaitTask(GAME:RestartToTitle())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartRogue(RogueEssence.Data.RogueConfig) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restarts a Roguelocke run based on the configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt;: The configuration of the roguelocke run&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local config = RogueEssence.Data.RogueConfig.RerollFromOther(_DATA.Save.Config)&lt;br /&gt;
GAME:RestartRogue(config)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterZone(System.String,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeOut ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade out the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;white&amp;lt;/code&amp;gt;: Fade to white if set to true.  Fades to black otherwise.&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeOut(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeIn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade into the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeIn(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:MoveCamera ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Centers the camera on a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time it takes ot move to the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;toPlayer&amp;lt;/code&amp;gt;: Destination is in absolute coordinates if false, and relative to the player character if set to true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:MoveCamera(200, 240, 60, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCameraCenter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current center of the camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Loc object representing the center of the camera.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsCameraOnChar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determines whether the camera is centered relative to the player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if the camera is relative to the player, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasSOSMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:HasAOKMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamLeaderIndex ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamLeaderIndex(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the leader to the chosen index within the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;idx&amp;lt;/code&amp;gt;: The index of the team member within the team.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCanSwitch(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prevents or allows the switching of leaders for the save file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;canSwitch&amp;lt;/code&amp;gt;: Set to true to allow switching, set to false to prevent it.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the player party count.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The count of players&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the party as a LuaTable.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of guests currently in the player&#039;s party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of guests&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the guests as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of characters currently in the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the assembly as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The assembly member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerTeam(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerTeam(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerGuest(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerGuest(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team&#039;s guests, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerAssembly(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerAssembly(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the assembly, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterNickname(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to rename&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;: The new name&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GAME:SetCharacterNickname(chara, &amp;quot;Steve&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterNickname(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to get the nickname from&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamName(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;teamname&amp;lt;/code&amp;gt;: The new team name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team&#039;s name&lt;br /&gt;
&lt;br /&gt;
== GAME:CanRelearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can relearn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanForget(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can forget any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanLearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can learn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CheckLevelSkills ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks the levels gained by a character and prompts to learn all skills along the levels.&lt;br /&gt;
Waits until all skills have been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to prompt for learning.&lt;br /&gt;
* &amp;lt;code&amp;gt;oldLevel&amp;lt;/code&amp;gt;: The level that the character leveled up from.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:CheckLevelSkills(player, 5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:TryLearnSkill ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempts to give a new skill to the specified character, prompting to replace an old one if they are full.&lt;br /&gt;
Waits until all the skill has been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:TryLearnSkill(player, &amp;quot;thunder&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:LearnSkill(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character.&lt;br /&gt;
Fails if the character&#039;s skills are full.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
== GAME:ForgetSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removed a skill from the specified character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to forget the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the skill to forget&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterSkill(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character, replacing a specifically chosen slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skillId&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to replace&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the skill from a specified character and specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to get the skill from.&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to get the skill from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ID of the skill in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:CanPromote(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can be promoted to a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the character can be promoted, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetAvailablePromotions(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets a list of possible classes that the character can prmote to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A lua table of PromoteBranch objects&lt;br /&gt;
&lt;br /&gt;
== GAME:PromoteCharacter(RogueEssence.Dungeon.Character,RogueEssence.Data.PromoteBranch,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Promotes a character ot a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to promote&lt;br /&gt;
* &amp;lt;code&amp;gt;branch&amp;lt;/code&amp;gt;: The PromoteBranch to promote with&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
== GAME:FindPlayerItem(System.String,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finds an item in the player&#039;s team and returns its slot within the inventory or among its team&#039;s equips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The item ID to search for.&lt;br /&gt;
* &amp;lt;code&amp;gt;held&amp;lt;/code&amp;gt;: Check equipped items.&lt;br /&gt;
* &amp;lt;code&amp;gt;inv&amp;lt;/code&amp;gt;: Check inventory items.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The InvSlot of the item. Invalid if the item could not be found.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local inv_slot = GAME:FindPlayerItem(&amp;quot;food_apple&amp;quot;, false, true)&lt;br /&gt;
if inv_slot:IsValid() then &lt;br /&gt;
  GAME:TakePlayerBagItem(inv_slot.Slot)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items equipped by players.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items in the bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagLimit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the maximum amount of item the player&#039;s team can carry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The team slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified guest slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The guest slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the item found at the specified slot of the player&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The item found in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove an item from player inventory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen member of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakeGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen guest of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team&#039;s guest list from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of items in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageItemCount(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of a specific item in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: ID of the item ot check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of copies currently in storage&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerStorageItem(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes an item from the storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item to take&lt;br /&gt;
&lt;br /&gt;
== GAME:DepositAll ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes all items in the player team&#039;s bag and equipped items, and deposits them in storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoney ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money the player currently has on hand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoneyBank ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money in the player&#039;s bank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsKeyDown(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a player is making a certain input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keyid&amp;lt;/code&amp;gt;: The ID of the input&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the button is currently pressed.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:CutsceneMode(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the game in cutscene mode. This prevents characters from taking idle action and hides certain UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bon&amp;lt;/code&amp;gt;: If set to true, turns cutscene mode on. If set to false, turns it off.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetDailySeed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the random seed for the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current adventure&#039;s seed.&lt;br /&gt;
&lt;br /&gt;
== GAME:UnlockDungeon(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unlocks a specified dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to unlock.&lt;br /&gt;
&lt;br /&gt;
== GAME:DungeonUnlocked(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a dungeon is unlocked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if unlocked, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:InRogueMode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the current game is in rogue mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if in rogue mode, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasServerSet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetRescueAllowed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks to see if rescue is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if rescues are allowed, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetRescueAllowed(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the value in the player&#039;s save file to determine if they can be rescued or not.&lt;br /&gt;
If rescue is possible on the Save File level, it can still be prevented by the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;allowed&amp;lt;/code&amp;gt;: Set to true to allow the player to be rescued.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:QueueLeaderEvent(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares an event to execute on the next frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:WaitFrames ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for a specified number of frames before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;frames&amp;lt;/code&amp;gt;: The number of frames ot wait.  Each frame is 1/60th of a second.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:WaitFrames(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(RogueElements.Loc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turns a vector (preferably a unit vector) into a cardinal or diagonal direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;: The vector.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(System.Double,System.Double) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenience function to get a vector&#039;s components from lua numbers(doubles)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;: The X value of the vector&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;: The Y value of the vector&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction the vector points to as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:RandomDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generates a random direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
An 8-directional direction.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetupLuaFunctions(RogueEssence.Script.LuaEngine) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setups any extra functionalities for this object written on the lua side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:Hide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to hide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:Unhide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unhides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to unhide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateObject(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;objtype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacter(System.String,System.String,System.Int32,System.Int32,System.String,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chartype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;actionfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;thinkfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveObject(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes an object from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveCharacter(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes a character from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacterFromCharData(System.String,RogueEssence.Dungeon.Character,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creates a ground character, given a dungeon character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name to give the character&lt;br /&gt;
* &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt;: Character data to create from&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction the character will face, defaults to Dir8.Down&lt;br /&gt;
&lt;br /&gt;
== GROUND:RefreshPlayer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reloads the controllable player&#039;s character data to be the current team&#039;s leader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:SetPlayer(RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the controllable player to use new character data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;charData&amp;lt;/code&amp;gt;: The new character data&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerDoSpawn(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make the specified spawner run its spawn method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ground character spawned.&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerSetSpawn(System.String,RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the character to the specified spawner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: The spawner to set the character to, by name&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnChar&amp;lt;/code&amp;gt;: The character to spawn.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToChar(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another character instantly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;turnchar&amp;lt;/code&amp;gt;: The character that is turning.&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: The character to turn to.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToCharAnimated ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face another character over the specified time.&lt;br /&gt;
Clockwise or counter-clockwise are chosen based on the closest direction.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: Character that is turning&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: Character to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: Time spent on each direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, charTo, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:EntTurn(RogueEssence.Ground.GroundEntity,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a ground entity turn to face a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity.  Can be a character or object.&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to face.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Must specify clockwise or counter-clockwise.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;ccw&amp;lt;/code&amp;gt;: false if clockwise, true if counter-clockwise&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurnTo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:TeleportTo(RogueEssence.Ground.GroundEntity,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Repositions the ground entity in a specified location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity to reposition&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to point the entity.  Defaults to Dir8.None, which leaves it untouched.&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move in a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, Dir8.Down, 24, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToMarker ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a ground marker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;mark&amp;lt;/code&amp;gt;: GroundMarker object ot move to&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, marker, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveObjectToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground object move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Ground Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground character move in a direction with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateInDirection(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 24, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground entity move to a position with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateToPosition(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 200, 240, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetEmote(RogueEssence.Ground.GroundChar,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a character emote on the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAnim(RogueEssence.Ground.GroundChar,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndAnim(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an animation and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Animation to play&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAnim(player, &amp;quot;Hurt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAction(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundAction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to perfomr the action&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: The action to perform&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an action and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: Action to perform&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAction(player, action)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetAnim(RogueEssence.Ground.GroundObject,System.Int32,System.Int32,System.Int32,RogueElements.Dir8,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s animation.  After it finishes, it will return to the default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to repeat the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetDefaultAnim(RogueEssence.Ground.GroundObject,System.String,System.Int32,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;animName&amp;lt;/code&amp;gt;: The name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectWaitAnimFrame ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the object to reach a specific frame before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object ot wait on&lt;br /&gt;
* &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: The frame of animation to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:WaitObjectAnim(fountain, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local chara = CH(&#039;PLAYER&#039;)&lt;br /&gt;
local emitter = RogueEssence.Content.FlashEmitter()&lt;br /&gt;
emitter.FadeInTime = 2&lt;br /&gt;
emitter.HoldTime = 4&lt;br /&gt;
emitter.FadeOutTime = 2&lt;br /&gt;
emitter.StartColor = Color(0, 0, 0, 0)&lt;br /&gt;
emitter.Layer = DrawLayer.Top&lt;br /&gt;
emitter.Anim = RogueEssence.Content.BGAnimData(&amp;quot;White&amp;quot;, 0)&lt;br /&gt;
GROUND:PlayVFX(emitter, chara.MapLoc.X, chara.MapLoc.Y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
== GROUND:AddMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a mapstatus to the ground map.  Map statuses only have an aesthetic effect in ground maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes a map status from the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status to remove.&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlaySE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect specifically from the Battle/ subdirectory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitSE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect, and waits for it to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitSE(&amp;quot;Battle/Hit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayFanfare(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitFanfare ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration.&lt;br /&gt;
This function waits for the sound to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitFanfare(&amp;quot;Battle/LevelUp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBGM(System.String,System.Boolean,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a song, replacing the current one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The file name of the song, relative to the Content/Music folder.&lt;br /&gt;
* &amp;lt;code&amp;gt;fade&amp;lt;/code&amp;gt;: Whether to fade the old song out, or start a new one.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the old song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBGM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops playing the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBGM(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:SetBGMVolume(System.Single) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current volume of the song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;: A float value between 0 and 1&lt;br /&gt;
&lt;br /&gt;
== SOUND:GetCurrentSong ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the currently playing song.  If the current song is fading out, gets the next song to be played.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The filename of the song, relative to the Content/Music folder&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocaleCode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current language setting of the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current language, represented by a locale code.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:Format(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: String to format.&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: Arguments&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The formatted string.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:FormatKey(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string given a string key.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: The string key to format&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: string arguments&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocalKeyString(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the string representing a button or key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The input type of the input.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The string representing the button o key the input maps to.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:CreateList(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Builds a single string of comma separated elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;listStrings&amp;lt;/code&amp;gt;: LuaTable of strings containing the elements to build the list from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The combined string containing all elements.&lt;br /&gt;
&lt;br /&gt;
== TASK:StartEntityTask(RogueEssence.Ground.GroundEntity,NLua.LuaFunction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to make an entity run the specified task.&lt;br /&gt;
Will not replace a running task!&lt;br /&gt;
Tasks are run interlocked with the script processing and game processing, and characters cannot run multiple tasks at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
== TASK:StopEntityTask(RogueEssence.Ground.GroundEntity) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to force stop an entity&#039;s current task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity running the task to stop.&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitStartEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes an entity run a specified task, and waits for it to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the specified entity to finish its task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which task we&#039;ll wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitEntityTask(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Runs a task and waits for it to complete.&lt;br /&gt;
Most methods that do not expose themselves to script need to be wrapped with this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitTask(_DUNGEON:AddMapStatus(&amp;quot;rain&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:StartScriptLocalCoroutine(NLua.LuaFunction,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A wrapper around the StartCoroutine method of the GameManager, so lua coroutines can be executed locally to the script context.&lt;br /&gt;
AKA, it will block the script execution while its executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== TASK:BranchCoroutine(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Starts a new coroutine to run parallel to the current execution.&lt;br /&gt;
Useful for performing multiple actions at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to run in parallel&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local coro1 = TASK:BranchCoroutine(GAME:_FadeIn(60))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:JoinCoroutines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for all specified coroutines to finish before continuing execution.&lt;br /&gt;
Often used for coroutines created using TASK:BranchCoroutine()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;coroTable&amp;lt;/code&amp;gt;: A table of coroutines to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:JoinCoroutines({coro1})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitInput ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the player to press a button before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowDialogue(System.String, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the player completes it.&lt;br /&gt;
Takes a string as an argument and optional LuaTable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function exclaim()&lt;br /&gt;
  SOUND:PlayBattleSE(&amp;quot;EVT_Emote_Exclaim_2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Exclaim [script=0]sound!&amp;quot;, { exclaim })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTimedDialogue(System.String, System.Int32, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the specified time has expired. Can take an optional LuaTable containing script calls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTimedDialogue(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextDialogue(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current dialogue text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowVoiceOver ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a voice over, waiting until the player completes it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowVoiceOver(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextVoiceOver(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current voice-over text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:PopUp(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes text pop up in the bottom-left corner. Displays concurrently with any other process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a title text, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTitle(&amp;quot;Hello World!&amp;quot;, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextShowTitle(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shows text in the format of a title drop.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the currently displayed title, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideTitle(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextFadeTitle(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the text set in a title drop.  Requires WaitDialog to actually fade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a chosen background image, with a chosen framerate, at a certain fade time, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowBG(&amp;quot;TestBG&amp;quot;, 3, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ShowBG(System.String,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets an image to display.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current background image, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideBG(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:FadeBG(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares a fade-out of the current image.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeaker(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clears the current speaker, so none is displayed the next time TextDialogue is called.&lt;br /&gt;
This also resets any custom dialogue box positions, portrait positions, and choice positions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: If turned on, the text from the dialogue boxes make sounds.  Default is on.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(System.String,System.Boolean,System.String,System.Int32,System.String,RogueEssence.Data.Gender) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Speaker name.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
* &amp;lt;code&amp;gt;specie&amp;lt;/code&amp;gt;: Species of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt;: Form of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt;: Skin of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;gender&amp;lt;/code&amp;gt;: Gender of the speaker&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Ground.GroundChar,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a ground map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Dungeon.Character,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a dungeon map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerReverse(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reverses the speaker orientation to face left instead of right.  This depends on the boolean passed in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetChoiceLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetChoiceLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog back to default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetBounds(System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;: Height of the box&lt;br /&gt;
&lt;br /&gt;
== UI:ResetBounds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerLoc(144, 16)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeakerLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSe(System.String, System.Int32) == &lt;br /&gt;
&lt;br /&gt;
Sets the speaker sound effect and the amount of frames in between each sound effect &lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;newSe&amp;lt;/code&amp;gt;: The path to the new sound effect&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect, optional&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:SetSe(&amp;quot;Battle/_UNK_DUN_Water_Drop&amp;quot;, 10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSe ==&lt;br /&gt;
 &lt;br /&gt;
Resets the default speaker sound effect and speak frames&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerTime(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
Sets the amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerTime(10)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerEmotion(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
Sets the emotion of the speaker in the dialogue box.&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emo&amp;lt;/code&amp;gt;: Emotion to display&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerEmotion(&amp;quot;Pain&amp;quot;, true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCenter(System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the centering of the text in the textbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;centerH&amp;lt;/code&amp;gt;: Horizontal centering&lt;br /&gt;
* &amp;lt;code&amp;gt;centerV&amp;lt;/code&amp;gt;: Vertical centering&lt;br /&gt;
&lt;br /&gt;
== UI:SetAutoFinish(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the text automatically finish when it shows up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;autoFinish&amp;lt;/code&amp;gt;: Auto-finishes text if true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetAutoFinish(true)&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;The mailbox is empty.&amp;quot;)&lt;br /&gt;
UI:SetAutoFinish(false)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitDialog ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set dialogue box and waits for the player to complete it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitDialog()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:_DummyWait ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instantly break. Used as default/invalid value when returning a yieldable value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceMenuYesNo(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask a question answered by yes or no via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: Question to be asked to the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;bdefaultstono&amp;lt;/code&amp;gt;: Whether the cursor starts on no by default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ChoiceMenuYesNo(&amp;quot;Would you like to continue on?&amp;quot;, false)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
localc continue = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:NameMenu(System.String,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the name input box.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The text to show above the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;: The text to show below the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;maxLength&amp;lt;/code&amp;gt;: The length of the text in pixels.&lt;br /&gt;
&lt;br /&gt;
== UI:AssemblyMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a menu for replacing party members with the assembly.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the boolean value indicating whether the team composition was changed or not, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShopMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Shop menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;goods&amp;lt;/code&amp;gt;: A table of items to be sold.  The format is { Item=InvItem, Price=int } for each item.&lt;br /&gt;
&lt;br /&gt;
== UI:SellMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Sell menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items to sell, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:StorageMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to exchange items in the inventory with.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WithdrawMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to withdraw from.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BankMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Bank menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SpoilsMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Spoils menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;appraisalMap&amp;lt;/code&amp;gt;: A table of mappings from containers to items, in the format of { Box=InvItem , Item=InvItem }&lt;br /&gt;
&lt;br /&gt;
== UI:AppraiseMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Appraisal menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TutorTeamMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Tutor Team menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team member, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:RelearnMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Relearn menu for a character.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:LearnMenu(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Learn menu for a character to replace an existing skill with a new one.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
* &amp;lt;code&amp;gt;skillNum&amp;lt;/code&amp;gt;: The new skill&lt;br /&gt;
&lt;br /&gt;
== UI:ForgetMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Forget menu for a character to forget a skill.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:ShowPromoteMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Promote menu to choose a team member to promote.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team slot, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CanSwapMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SwapMenu(NLua.LuaTable,NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TributeMenu(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowMusicMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Music menu to browse music for the game.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string representing the chosen song, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spoilerUnlocks&amp;lt;/code&amp;gt;: A lua table of strings representing progression flags that have been completed.&lt;br /&gt;
            Any ogg file that uses this tag as a spoiler tag will display in the menu only if the flag has been passed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ShowMusicMenu({&#039;MAIN_001&#039;})&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:DungeonChoice(System.String,RogueEssence.Dungeon.ZoneLoc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask to enter a destintion via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Name of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;dest&amp;lt;/code&amp;gt;: The ZoneLoc location of the destination.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:DungeonChoice(&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0) )&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local choice = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DungeonChoice&lt;br /&gt;
&lt;br /&gt;
== UI:DestinationMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing destinations, showing a preview of restrictions and requirements for dungeons.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the ZoneLoc indicating the chosen destination, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;destinations&amp;lt;/code&amp;gt;: A lua table representing the list of destinations with each element in the format of { Name=string, Dest=ZoneLoc }&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  local all_dests = { { Name=&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, Dest=RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0)} }&lt;br /&gt;
&lt;br /&gt;
  UI:DestinationMenu(all_dests)&lt;br /&gt;
  UI:WaitForChoice()&lt;br /&gt;
  local dest = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DestinationMenu&lt;br /&gt;
&lt;br /&gt;
== UI:ServersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ContactsMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SOSMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:AOKMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:PeersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowConnectMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CurrentActivityMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChooseMonsterMenu(System.String,NLua.LuaTable,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing monsters, showing a preview of their appearances via portrait.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string indicating the chosen species, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The title of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choices&amp;lt;/code&amp;gt;: A lua table of choices with each element being a MonsterID.&lt;br /&gt;
* &amp;lt;code&amp;gt;canMenu&amp;lt;/code&amp;gt;: If set to true, the Menu Button exits the menu if pressed.&lt;br /&gt;
* &amp;lt;code&amp;gt;canCancel&amp;lt;/code&amp;gt;: If set to true, the Cancel Button exits the menu if pressed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;bulbasaur&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;charmander&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;squirtle&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless)&lt;br /&gt;
}&lt;br /&gt;
UI:ChooseMonsterMenu(&amp;quot;Starter?&amp;quot;, choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCustomMenu(RogueEssence.Menu.InteractableMenu) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a custom menu of the caller&#039;s choice.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BeginChoiceMenu(System.String,NLua.LuaTable,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: The question to ask the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local color_choices = {&#039;Red&#039;, &#039;Yellow&#039;, &amp;quot;Green&amp;quot;}&lt;br /&gt;
UI:BeginChoiceMenu(&amp;quot;Which color do you like the most?&amp;quot;, color_choices, 1, 1)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local color = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:BeginMultiPageMenu(System.Int32,System.Int32,System.Int32,System.String,NLua.LuaTable,System.Int32,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-paged choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: Height of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;linesPerPage&amp;lt;/code&amp;gt;: Number of choices per page&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&#039;Choice 1&#039;, &amp;quot;Choice 2&amp;quot;, &amp;quot;Choice 3&amp;quot; }&lt;br /&gt;
UI:BeginMultiPageMenu(24, 24, 196, &amp;quot;All Choices&amp;quot;, choices, 8, 1, #choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local entry = choices[UI:ChoiceResult()]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the result of the last choice menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The result of the choice&lt;br /&gt;
&lt;br /&gt;
== UI:GetChoiceAction(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s complicated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== UI:WaitForChoice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set choice menu and waits for the player&#039;s selection to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;br /&gt;
[[Category:Quick Reference]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1518</id>
		<title>Lua Function Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1518"/>
		<updated>2023-08-20T05:28:36Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* GAME:SetCharacterNickname(RogueEssence.Dungeon.Character,System.String) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows all script functions that can be called from Lua&lt;br /&gt;
&lt;br /&gt;
== AI:SetCharacterAI(RogueEssence.Ground.GroundChar,System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assign the given scripted AI class to the specified GroundChar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;classpath&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:DisableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disable a given groundchar&#039;s AI processing until its enabled again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:EnableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:SetAIState(RogueEssence.Ground.GroundChar,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharTurnToChar(RogueEssence.Dungeon.Character,RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:LastDungeonResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the result of the last dungeon adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the floor number of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonAssetName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the internal name for the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonDisplayName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the localized name of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharSetEmote(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s emote in a dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DUNGEON:CharSetEmote(chara, &amp;quot;sweating&amp;quot;, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharStartAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharEndAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharEndAnim(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation, and waits until it completed before continue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX in the dungeon map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position in pixels&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local shake = RogueEssence.Content.ScreenMover(0, 12, 50)&lt;br /&gt;
GROUND:MoveScreen(shake)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GroundSave ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saves the game while in ground mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:GroundSave()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetModDiff(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;uuidStr&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentGround ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current zone, also known as dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.Int32,System.Int32,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The index of the ground map in the zone&lt;br /&gt;
* &amp;lt;code&amp;gt;idxentrypoint&amp;lt;/code&amp;gt;: The index of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within a new zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;: The name of the destination zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;stakes&amp;lt;/code&amp;gt;: Decides what happens when the adventure fails/succeeds.&lt;br /&gt;
* &amp;lt;code&amp;gt;recorded&amp;lt;/code&amp;gt;: Record the adventure in a replay&lt;br /&gt;
* &amp;lt;code&amp;gt;silentRestrict&amp;lt;/code&amp;gt;: Make the dungeon restrictions silently&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterDungeon(1, 0, 0, 0, RogueEssence.Data.GameProgress.DungeonStakes.Risk, true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:ContinueDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and continues the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:ContinueDungeon(1, 1, 0, 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EndDungeonRun ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ends the current adventure, sending the player to a specified destination.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt;: The result of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;destzoneid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entryid&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;display&amp;lt;/code&amp;gt;: Display an epitaph marking the end of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;fanfare&amp;lt;/code&amp;gt;: Play a fanfare.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EndDungeonRun(GameProgress.ResultType.Cleared, 0, -1, 1, 0, true, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterRescue ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a rescue adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sosPath&amp;lt;/code&amp;gt;: The path of the sos mail.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterRescue(&amp;quot;RESCUE/INBOX/SOS/example.sosmail&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:AddAOKRemark(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;remarkIndex&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartToTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map and load up the title screen.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TASK:WaitTask(GAME:RestartToTitle())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartRogue(RogueEssence.Data.RogueConfig) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restarts a Roguelocke run based on the configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt;: The configuration of the roguelocke run&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local config = RogueEssence.Data.RogueConfig.RerollFromOther(_DATA.Save.Config)&lt;br /&gt;
GAME:RestartRogue(config)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterZone(System.String,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeOut ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade out the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;white&amp;lt;/code&amp;gt;: Fade to white if set to true.  Fades to black otherwise.&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeOut(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeIn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade into the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeIn(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:MoveCamera ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Centers the camera on a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time it takes ot move to the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;toPlayer&amp;lt;/code&amp;gt;: Destination is in absolute coordinates if false, and relative to the player character if set to true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:MoveCamera(200, 240, 60, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCameraCenter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current center of the camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Loc object representing the center of the camera.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsCameraOnChar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determines whether the camera is centered relative to the player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if the camera is relative to the player, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasSOSMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:HasAOKMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamLeaderIndex ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamLeaderIndex(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the leader to the chosen index within the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;idx&amp;lt;/code&amp;gt;: The index of the team member within the team.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCanSwitch(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prevents or allows the switching of leaders for the save file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;canSwitch&amp;lt;/code&amp;gt;: Set to true to allow switching, set to false to prevent it.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the player party count.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The count of players&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the party as a LuaTable.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of guests currently in the player&#039;s party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of guests&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the guests as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of characters currently in the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the assembly as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The assembly member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerTeam(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerTeam(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerGuest(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerGuest(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team&#039;s guests, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerAssembly(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerAssembly(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the assembly, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterNickname(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to rename&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;: The new name&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GAME:SetCharacterNickname(chara, &amp;quot;Steve&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterNickname(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to get the nickname from&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamName(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;teamname&amp;lt;/code&amp;gt;: The new team name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team&#039;s name&lt;br /&gt;
&lt;br /&gt;
== GAME:CanRelearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can relearn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanForget(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can forget any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanLearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can learn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CheckLevelSkills ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks the levels gained by a character and prompts to learn all skills along the levels.&lt;br /&gt;
Waits until all skills have been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to prompt for learning.&lt;br /&gt;
* &amp;lt;code&amp;gt;oldLevel&amp;lt;/code&amp;gt;: The level that the character leveled up from.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:CheckLevelSkills(player, 5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:TryLearnSkill ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempts to give a new skill to the specified character, prompting to replace an old one if they are full.&lt;br /&gt;
Waits until all the skill has been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:TryLearnSkill(player, &amp;quot;thunder&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:LearnSkill(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character.&lt;br /&gt;
Fails if the character&#039;s skills are full.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
== GAME:ForgetSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removed a skill from the specified character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to forget the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the skill to forget&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterSkill(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character, replacing a specifically chosen slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skillId&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to replace&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the skill from a specified character and specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to get the skill from.&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to get the skill from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ID of the skill in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:CanPromote(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can be promoted to a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the character can be promoted, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetAvailablePromotions(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets a list of possible classes that the character can prmote to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A lua table of PromoteBranch objects&lt;br /&gt;
&lt;br /&gt;
== GAME:PromoteCharacter(RogueEssence.Dungeon.Character,RogueEssence.Data.PromoteBranch,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Promotes a character ot a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to promote&lt;br /&gt;
* &amp;lt;code&amp;gt;branch&amp;lt;/code&amp;gt;: The PromoteBranch to promote with&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
== GAME:FindPlayerItem(System.String,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finds an item in the player&#039;s team and returns its slot within the inventory or among its team&#039;s equips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The item ID to search for.&lt;br /&gt;
* &amp;lt;code&amp;gt;held&amp;lt;/code&amp;gt;: Check equipped items.&lt;br /&gt;
* &amp;lt;code&amp;gt;inv&amp;lt;/code&amp;gt;: Check inventory items.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The InvSlot of the item. Invalid if the item could not be found.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items equipped by players.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items in the bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagLimit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the maximum amount of item the player&#039;s team can carry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The team slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified guest slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The guest slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the item found at the specified slot of the player&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The item found in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove an item from player inventory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen member of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakeGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen guest of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team&#039;s guest list from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of items in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageItemCount(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of a specific item in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: ID of the item ot check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of copies currently in storage&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerStorageItem(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes an item from the storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item to take&lt;br /&gt;
&lt;br /&gt;
== GAME:DepositAll ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes all items in the player team&#039;s bag and equipped items, and deposits them in storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoney ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money the player currently has on hand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoneyBank ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money in the player&#039;s bank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsKeyDown(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a player is making a certain input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keyid&amp;lt;/code&amp;gt;: The ID of the input&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the button is currently pressed.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:CutsceneMode(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the game in cutscene mode. This prevents characters from taking idle action and hides certain UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bon&amp;lt;/code&amp;gt;: If set to true, turns cutscene mode on. If set to false, turns it off.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetDailySeed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the random seed for the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current adventure&#039;s seed.&lt;br /&gt;
&lt;br /&gt;
== GAME:UnlockDungeon(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unlocks a specified dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to unlock.&lt;br /&gt;
&lt;br /&gt;
== GAME:DungeonUnlocked(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a dungeon is unlocked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if unlocked, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:InRogueMode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the current game is in rogue mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if in rogue mode, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasServerSet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetRescueAllowed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks to see if rescue is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if rescues are allowed, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetRescueAllowed(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the value in the player&#039;s save file to determine if they can be rescued or not.&lt;br /&gt;
If rescue is possible on the Save File level, it can still be prevented by the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;allowed&amp;lt;/code&amp;gt;: Set to true to allow the player to be rescued.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:QueueLeaderEvent(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares an event to execute on the next frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:WaitFrames ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for a specified number of frames before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;frames&amp;lt;/code&amp;gt;: The number of frames ot wait.  Each frame is 1/60th of a second.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:WaitFrames(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(RogueElements.Loc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turns a vector (preferably a unit vector) into a cardinal or diagonal direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;: The vector.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(System.Double,System.Double) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenience function to get a vector&#039;s components from lua numbers(doubles)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;: The X value of the vector&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;: The Y value of the vector&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction the vector points to as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:RandomDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generates a random direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
An 8-directional direction.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetupLuaFunctions(RogueEssence.Script.LuaEngine) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setups any extra functionalities for this object written on the lua side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:Hide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to hide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:Unhide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unhides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to unhide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateObject(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;objtype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacter(System.String,System.String,System.Int32,System.Int32,System.String,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chartype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;actionfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;thinkfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveObject(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes an object from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveCharacter(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes a character from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacterFromCharData(System.String,RogueEssence.Dungeon.Character,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creates a ground character, given a dungeon character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name to give the character&lt;br /&gt;
* &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt;: Character data to create from&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction the character will face, defaults to Dir8.Down&lt;br /&gt;
&lt;br /&gt;
== GROUND:RefreshPlayer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reloads the controllable player&#039;s character data to be the current team&#039;s leader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:SetPlayer(RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the controllable player to use new character data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;charData&amp;lt;/code&amp;gt;: The new character data&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerDoSpawn(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make the specified spawner run its spawn method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ground character spawned.&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerSetSpawn(System.String,RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the character to the specified spawner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: The spawner to set the character to, by name&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnChar&amp;lt;/code&amp;gt;: The character to spawn.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToChar(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another character instantly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;turnchar&amp;lt;/code&amp;gt;: The character that is turning.&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: The character to turn to.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToCharAnimated ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face another character over the specified time.&lt;br /&gt;
Clockwise or counter-clockwise are chosen based on the closest direction.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: Character that is turning&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: Character to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: Time spent on each direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, charTo, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:EntTurn(RogueEssence.Ground.GroundEntity,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a ground entity turn to face a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity.  Can be a character or object.&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to face.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Must specify clockwise or counter-clockwise.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;ccw&amp;lt;/code&amp;gt;: false if clockwise, true if counter-clockwise&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurnTo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:TeleportTo(RogueEssence.Ground.GroundEntity,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Repositions the ground entity in a specified location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity to reposition&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to point the entity.  Defaults to Dir8.None, which leaves it untouched.&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move in a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, Dir8.Down, 24, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToMarker ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a ground marker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;mark&amp;lt;/code&amp;gt;: GroundMarker object ot move to&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, marker, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveObjectToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground object move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Ground Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground character move in a direction with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateInDirection(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 24, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground entity move to a position with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateToPosition(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 200, 240, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetEmote(RogueEssence.Ground.GroundChar,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a character emote on the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAnim(RogueEssence.Ground.GroundChar,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndAnim(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an animation and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Animation to play&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAnim(player, &amp;quot;Hurt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAction(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundAction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to perfomr the action&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: The action to perform&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an action and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: Action to perform&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAction(player, action)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetAnim(RogueEssence.Ground.GroundObject,System.Int32,System.Int32,System.Int32,RogueElements.Dir8,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s animation.  After it finishes, it will return to the default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to repeat the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetDefaultAnim(RogueEssence.Ground.GroundObject,System.String,System.Int32,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;animName&amp;lt;/code&amp;gt;: The name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectWaitAnimFrame ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the object to reach a specific frame before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object ot wait on&lt;br /&gt;
* &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: The frame of animation to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:WaitObjectAnim(fountain, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local chara = CH(&#039;PLAYER&#039;)&lt;br /&gt;
local emitter = RogueEssence.Content.FlashEmitter()&lt;br /&gt;
emitter.FadeInTime = 2&lt;br /&gt;
emitter.HoldTime = 4&lt;br /&gt;
emitter.FadeOutTime = 2&lt;br /&gt;
emitter.StartColor = Color(0, 0, 0, 0)&lt;br /&gt;
emitter.Layer = DrawLayer.Top&lt;br /&gt;
emitter.Anim = RogueEssence.Content.BGAnimData(&amp;quot;White&amp;quot;, 0)&lt;br /&gt;
GROUND:PlayVFX(emitter, chara.MapLoc.X, chara.MapLoc.Y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
== GROUND:AddMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a mapstatus to the ground map.  Map statuses only have an aesthetic effect in ground maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes a map status from the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status to remove.&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlaySE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect specifically from the Battle/ subdirectory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitSE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect, and waits for it to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitSE(&amp;quot;Battle/Hit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayFanfare(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitFanfare ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration.&lt;br /&gt;
This function waits for the sound to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitFanfare(&amp;quot;Battle/LevelUp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBGM(System.String,System.Boolean,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a song, replacing the current one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The file name of the song, relative to the Content/Music folder.&lt;br /&gt;
* &amp;lt;code&amp;gt;fade&amp;lt;/code&amp;gt;: Whether to fade the old song out, or start a new one.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the old song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBGM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops playing the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBGM(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:SetBGMVolume(System.Single) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current volume of the song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;: A float value between 0 and 1&lt;br /&gt;
&lt;br /&gt;
== SOUND:GetCurrentSong ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the currently playing song.  If the current song is fading out, gets the next song to be played.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The filename of the song, relative to the Content/Music folder&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocaleCode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current language setting of the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current language, represented by a locale code.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:Format(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: String to format.&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: Arguments&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The formatted string.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:FormatKey(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string given a string key.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: The string key to format&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: string arguments&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocalKeyString(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the string representing a button or key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The input type of the input.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The string representing the button o key the input maps to.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:CreateList(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Builds a single string of comma separated elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;listStrings&amp;lt;/code&amp;gt;: LuaTable of strings containing the elements to build the list from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The combined string containing all elements.&lt;br /&gt;
&lt;br /&gt;
== TASK:StartEntityTask(RogueEssence.Ground.GroundEntity,NLua.LuaFunction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to make an entity run the specified task.&lt;br /&gt;
Will not replace a running task!&lt;br /&gt;
Tasks are run interlocked with the script processing and game processing, and characters cannot run multiple tasks at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
== TASK:StopEntityTask(RogueEssence.Ground.GroundEntity) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to force stop an entity&#039;s current task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity running the task to stop.&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitStartEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes an entity run a specified task, and waits for it to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the specified entity to finish its task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which task we&#039;ll wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitEntityTask(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Runs a task and waits for it to complete.&lt;br /&gt;
Most methods that do not expose themselves to script need to be wrapped with this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitTask(_DUNGEON:AddMapStatus(&amp;quot;rain&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:StartScriptLocalCoroutine(NLua.LuaFunction,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A wrapper around the StartCoroutine method of the GameManager, so lua coroutines can be executed locally to the script context.&lt;br /&gt;
AKA, it will block the script execution while its executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== TASK:BranchCoroutine(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Starts a new coroutine to run parallel to the current execution.&lt;br /&gt;
Useful for performing multiple actions at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to run in parallel&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local coro1 = TASK:BranchCoroutine(GAME:_FadeIn(60))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:JoinCoroutines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for all specified coroutines to finish before continuing execution.&lt;br /&gt;
Often used for coroutines created using TASK:BranchCoroutine()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;coroTable&amp;lt;/code&amp;gt;: A table of coroutines to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:JoinCoroutines({coro1})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitInput ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the player to press a button before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowDialogue(System.String, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the player completes it.&lt;br /&gt;
Takes a string as an argument and optional LuaTable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function exclaim()&lt;br /&gt;
  SOUND:PlayBattleSE(&amp;quot;EVT_Emote_Exclaim_2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Exclaim [script=0]sound!&amp;quot;, { exclaim })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTimedDialogue(System.String, System.Int32, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the specified time has expired. Can take an optional LuaTable containing script calls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTimedDialogue(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextDialogue(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current dialogue text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowVoiceOver ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a voice over, waiting until the player completes it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowVoiceOver(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextVoiceOver(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current voice-over text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:PopUp(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes text pop up in the bottom-left corner. Displays concurrently with any other process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a title text, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTitle(&amp;quot;Hello World!&amp;quot;, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextShowTitle(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shows text in the format of a title drop.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the currently displayed title, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideTitle(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextFadeTitle(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the text set in a title drop.  Requires WaitDialog to actually fade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a chosen background image, with a chosen framerate, at a certain fade time, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowBG(&amp;quot;TestBG&amp;quot;, 3, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ShowBG(System.String,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets an image to display.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current background image, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideBG(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:FadeBG(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares a fade-out of the current image.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeaker(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clears the current speaker, so none is displayed the next time TextDialogue is called.&lt;br /&gt;
This also resets any custom dialogue box positions, portrait positions, and choice positions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: If turned on, the text from the dialogue boxes make sounds.  Default is on.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(System.String,System.Boolean,System.String,System.Int32,System.String,RogueEssence.Data.Gender) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Speaker name.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
* &amp;lt;code&amp;gt;specie&amp;lt;/code&amp;gt;: Species of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt;: Form of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt;: Skin of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;gender&amp;lt;/code&amp;gt;: Gender of the speaker&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Ground.GroundChar,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a ground map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Dungeon.Character,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a dungeon map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerReverse(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reverses the speaker orientation to face left instead of right.  This depends on the boolean passed in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetChoiceLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetChoiceLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog back to default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetBounds(System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;: Height of the box&lt;br /&gt;
&lt;br /&gt;
== UI:ResetBounds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerLoc(144, 16)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeakerLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSe(System.String, System.Int32) == &lt;br /&gt;
&lt;br /&gt;
Sets the speaker sound effect and the amount of frames in between each sound effect &lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;newSe&amp;lt;/code&amp;gt;: The path to the new sound effect&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect, optional&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:SetSe(&amp;quot;Battle/_UNK_DUN_Water_Drop&amp;quot;, 10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSe ==&lt;br /&gt;
 &lt;br /&gt;
Resets the default speaker sound effect and speak frames&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerTime(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
Sets the amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerTime(10)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerEmotion(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
Sets the emotion of the speaker in the dialogue box.&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emo&amp;lt;/code&amp;gt;: Emotion to display&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerEmotion(&amp;quot;Pain&amp;quot;, true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCenter(System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the centering of the text in the textbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;centerH&amp;lt;/code&amp;gt;: Horizontal centering&lt;br /&gt;
* &amp;lt;code&amp;gt;centerV&amp;lt;/code&amp;gt;: Vertical centering&lt;br /&gt;
&lt;br /&gt;
== UI:SetAutoFinish(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the text automatically finish when it shows up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;autoFinish&amp;lt;/code&amp;gt;: Auto-finishes text if true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetAutoFinish(true)&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;The mailbox is empty.&amp;quot;)&lt;br /&gt;
UI:SetAutoFinish(false)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitDialog ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set dialogue box and waits for the player to complete it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitDialog()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:_DummyWait ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instantly break. Used as default/invalid value when returning a yieldable value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceMenuYesNo(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask a question answered by yes or no via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: Question to be asked to the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;bdefaultstono&amp;lt;/code&amp;gt;: Whether the cursor starts on no by default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ChoiceMenuYesNo(&amp;quot;Would you like to continue on?&amp;quot;, false)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
localc continue = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:NameMenu(System.String,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the name input box.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The text to show above the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;: The text to show below the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;maxLength&amp;lt;/code&amp;gt;: The length of the text in pixels.&lt;br /&gt;
&lt;br /&gt;
== UI:AssemblyMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a menu for replacing party members with the assembly.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the boolean value indicating whether the team composition was changed or not, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShopMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Shop menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;goods&amp;lt;/code&amp;gt;: A table of items to be sold.  The format is { Item=InvItem, Price=int } for each item.&lt;br /&gt;
&lt;br /&gt;
== UI:SellMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Sell menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items to sell, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:StorageMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to exchange items in the inventory with.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WithdrawMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to withdraw from.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BankMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Bank menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SpoilsMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Spoils menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;appraisalMap&amp;lt;/code&amp;gt;: A table of mappings from containers to items, in the format of { Box=InvItem , Item=InvItem }&lt;br /&gt;
&lt;br /&gt;
== UI:AppraiseMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Appraisal menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TutorTeamMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Tutor Team menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team member, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:RelearnMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Relearn menu for a character.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:LearnMenu(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Learn menu for a character to replace an existing skill with a new one.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
* &amp;lt;code&amp;gt;skillNum&amp;lt;/code&amp;gt;: The new skill&lt;br /&gt;
&lt;br /&gt;
== UI:ForgetMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Forget menu for a character to forget a skill.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:ShowPromoteMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Promote menu to choose a team member to promote.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team slot, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CanSwapMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SwapMenu(NLua.LuaTable,NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TributeMenu(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowMusicMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Music menu to browse music for the game.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string representing the chosen song, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spoilerUnlocks&amp;lt;/code&amp;gt;: A lua table of strings representing progression flags that have been completed.&lt;br /&gt;
            Any ogg file that uses this tag as a spoiler tag will display in the menu only if the flag has been passed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ShowMusicMenu({&#039;MAIN_001&#039;})&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:DungeonChoice(System.String,RogueEssence.Dungeon.ZoneLoc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask to enter a destintion via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Name of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;dest&amp;lt;/code&amp;gt;: The ZoneLoc location of the destination.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:DungeonChoice(&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0) )&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local choice = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DungeonChoice&lt;br /&gt;
&lt;br /&gt;
== UI:DestinationMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing destinations, showing a preview of restrictions and requirements for dungeons.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the ZoneLoc indicating the chosen destination, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;destinations&amp;lt;/code&amp;gt;: A lua table representing the list of destinations with each element in the format of { Name=string, Dest=ZoneLoc }&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  local all_dests = { { Name=&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, Dest=RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0)} }&lt;br /&gt;
&lt;br /&gt;
  UI:DestinationMenu(all_dests)&lt;br /&gt;
  UI:WaitForChoice()&lt;br /&gt;
  local dest = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DestinationMenu&lt;br /&gt;
&lt;br /&gt;
== UI:ServersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ContactsMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SOSMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:AOKMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:PeersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowConnectMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CurrentActivityMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChooseMonsterMenu(System.String,NLua.LuaTable,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing monsters, showing a preview of their appearances via portrait.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string indicating the chosen species, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The title of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choices&amp;lt;/code&amp;gt;: A lua table of choices with each element being a MonsterID.&lt;br /&gt;
* &amp;lt;code&amp;gt;canMenu&amp;lt;/code&amp;gt;: If set to true, the Menu Button exits the menu if pressed.&lt;br /&gt;
* &amp;lt;code&amp;gt;canCancel&amp;lt;/code&amp;gt;: If set to true, the Cancel Button exits the menu if pressed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;bulbasaur&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;charmander&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;squirtle&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless)&lt;br /&gt;
}&lt;br /&gt;
UI:ChooseMonsterMenu(&amp;quot;Starter?&amp;quot;, choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCustomMenu(RogueEssence.Menu.InteractableMenu) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a custom menu of the caller&#039;s choice.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BeginChoiceMenu(System.String,NLua.LuaTable,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: The question to ask the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local color_choices = {&#039;Red&#039;, &#039;Yellow&#039;, &amp;quot;Green&amp;quot;}&lt;br /&gt;
UI:BeginChoiceMenu(&amp;quot;Which color do you like the most?&amp;quot;, color_choices, 1, 1)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local color = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:BeginMultiPageMenu(System.Int32,System.Int32,System.Int32,System.String,NLua.LuaTable,System.Int32,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-paged choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: Height of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;linesPerPage&amp;lt;/code&amp;gt;: Number of choices per page&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&#039;Choice 1&#039;, &amp;quot;Choice 2&amp;quot;, &amp;quot;Choice 3&amp;quot; }&lt;br /&gt;
UI:BeginMultiPageMenu(24, 24, 196, &amp;quot;All Choices&amp;quot;, choices, 8, 1, #choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local entry = choices[UI:ChoiceResult()]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the result of the last choice menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The result of the choice&lt;br /&gt;
&lt;br /&gt;
== UI:GetChoiceAction(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s complicated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== UI:WaitForChoice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set choice menu and waits for the player&#039;s selection to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;br /&gt;
[[Category:Quick Reference]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1517</id>
		<title>Lua Function Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1517"/>
		<updated>2023-08-20T05:25:09Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* GAME:RestartToTitle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows all script functions that can be called from Lua&lt;br /&gt;
&lt;br /&gt;
== AI:SetCharacterAI(RogueEssence.Ground.GroundChar,System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assign the given scripted AI class to the specified GroundChar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;classpath&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:DisableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disable a given groundchar&#039;s AI processing until its enabled again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:EnableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:SetAIState(RogueEssence.Ground.GroundChar,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharTurnToChar(RogueEssence.Dungeon.Character,RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:LastDungeonResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the result of the last dungeon adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the floor number of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonAssetName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the internal name for the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonDisplayName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the localized name of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharSetEmote(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s emote in a dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DUNGEON:CharSetEmote(chara, &amp;quot;sweating&amp;quot;, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharStartAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharEndAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharEndAnim(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation, and waits until it completed before continue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX in the dungeon map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position in pixels&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local shake = RogueEssence.Content.ScreenMover(0, 12, 50)&lt;br /&gt;
GROUND:MoveScreen(shake)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GroundSave ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saves the game while in ground mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:GroundSave()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetModDiff(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;uuidStr&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentGround ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current zone, also known as dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.Int32,System.Int32,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The index of the ground map in the zone&lt;br /&gt;
* &amp;lt;code&amp;gt;idxentrypoint&amp;lt;/code&amp;gt;: The index of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within a new zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;: The name of the destination zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;stakes&amp;lt;/code&amp;gt;: Decides what happens when the adventure fails/succeeds.&lt;br /&gt;
* &amp;lt;code&amp;gt;recorded&amp;lt;/code&amp;gt;: Record the adventure in a replay&lt;br /&gt;
* &amp;lt;code&amp;gt;silentRestrict&amp;lt;/code&amp;gt;: Make the dungeon restrictions silently&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterDungeon(1, 0, 0, 0, RogueEssence.Data.GameProgress.DungeonStakes.Risk, true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:ContinueDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and continues the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:ContinueDungeon(1, 1, 0, 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EndDungeonRun ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ends the current adventure, sending the player to a specified destination.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt;: The result of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;destzoneid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entryid&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;display&amp;lt;/code&amp;gt;: Display an epitaph marking the end of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;fanfare&amp;lt;/code&amp;gt;: Play a fanfare.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EndDungeonRun(GameProgress.ResultType.Cleared, 0, -1, 1, 0, true, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterRescue ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a rescue adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sosPath&amp;lt;/code&amp;gt;: The path of the sos mail.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterRescue(&amp;quot;RESCUE/INBOX/SOS/example.sosmail&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:AddAOKRemark(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;remarkIndex&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartToTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map and load up the title screen.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TASK:WaitTask(GAME:RestartToTitle())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartRogue(RogueEssence.Data.RogueConfig) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restarts a Roguelocke run based on the configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt;: The configuration of the roguelocke run&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local config = RogueEssence.Data.RogueConfig.RerollFromOther(_DATA.Save.Config)&lt;br /&gt;
GAME:RestartRogue(config)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterZone(System.String,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeOut ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade out the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;white&amp;lt;/code&amp;gt;: Fade to white if set to true.  Fades to black otherwise.&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeOut(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeIn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade into the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeIn(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:MoveCamera ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Centers the camera on a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time it takes ot move to the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;toPlayer&amp;lt;/code&amp;gt;: Destination is in absolute coordinates if false, and relative to the player character if set to true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:MoveCamera(200, 240, 60, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCameraCenter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current center of the camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Loc object representing the center of the camera.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsCameraOnChar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determines whether the camera is centered relative to the player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if the camera is relative to the player, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasSOSMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:HasAOKMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamLeaderIndex ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamLeaderIndex(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the leader to the chosen index within the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;idx&amp;lt;/code&amp;gt;: The index of the team member within the team.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCanSwitch(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prevents or allows the switching of leaders for the save file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;canSwitch&amp;lt;/code&amp;gt;: Set to true to allow switching, set to false to prevent it.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the player party count.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The count of players&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the party as a LuaTable.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of guests currently in the player&#039;s party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of guests&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the guests as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of characters currently in the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the assembly as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The assembly member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerTeam(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerTeam(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerGuest(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerGuest(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team&#039;s guests, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerAssembly(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerAssembly(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the assembly, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterNickname(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to rename&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;: The new name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterNickname(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to get the nickname from&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamName(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;teamname&amp;lt;/code&amp;gt;: The new team name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team&#039;s name&lt;br /&gt;
&lt;br /&gt;
== GAME:CanRelearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can relearn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanForget(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can forget any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanLearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can learn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CheckLevelSkills ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks the levels gained by a character and prompts to learn all skills along the levels.&lt;br /&gt;
Waits until all skills have been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to prompt for learning.&lt;br /&gt;
* &amp;lt;code&amp;gt;oldLevel&amp;lt;/code&amp;gt;: The level that the character leveled up from.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:CheckLevelSkills(player, 5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:TryLearnSkill ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempts to give a new skill to the specified character, prompting to replace an old one if they are full.&lt;br /&gt;
Waits until all the skill has been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:TryLearnSkill(player, &amp;quot;thunder&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:LearnSkill(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character.&lt;br /&gt;
Fails if the character&#039;s skills are full.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
== GAME:ForgetSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removed a skill from the specified character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to forget the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the skill to forget&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterSkill(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character, replacing a specifically chosen slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skillId&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to replace&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the skill from a specified character and specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to get the skill from.&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to get the skill from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ID of the skill in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:CanPromote(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can be promoted to a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the character can be promoted, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetAvailablePromotions(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets a list of possible classes that the character can prmote to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A lua table of PromoteBranch objects&lt;br /&gt;
&lt;br /&gt;
== GAME:PromoteCharacter(RogueEssence.Dungeon.Character,RogueEssence.Data.PromoteBranch,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Promotes a character ot a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to promote&lt;br /&gt;
* &amp;lt;code&amp;gt;branch&amp;lt;/code&amp;gt;: The PromoteBranch to promote with&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
== GAME:FindPlayerItem(System.String,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finds an item in the player&#039;s team and returns its slot within the inventory or among its team&#039;s equips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The item ID to search for.&lt;br /&gt;
* &amp;lt;code&amp;gt;held&amp;lt;/code&amp;gt;: Check equipped items.&lt;br /&gt;
* &amp;lt;code&amp;gt;inv&amp;lt;/code&amp;gt;: Check inventory items.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The InvSlot of the item. Invalid if the item could not be found.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items equipped by players.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items in the bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagLimit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the maximum amount of item the player&#039;s team can carry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The team slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified guest slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The guest slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the item found at the specified slot of the player&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The item found in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove an item from player inventory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen member of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakeGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen guest of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team&#039;s guest list from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of items in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageItemCount(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of a specific item in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: ID of the item ot check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of copies currently in storage&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerStorageItem(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes an item from the storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item to take&lt;br /&gt;
&lt;br /&gt;
== GAME:DepositAll ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes all items in the player team&#039;s bag and equipped items, and deposits them in storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoney ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money the player currently has on hand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoneyBank ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money in the player&#039;s bank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsKeyDown(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a player is making a certain input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keyid&amp;lt;/code&amp;gt;: The ID of the input&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the button is currently pressed.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:CutsceneMode(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the game in cutscene mode. This prevents characters from taking idle action and hides certain UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bon&amp;lt;/code&amp;gt;: If set to true, turns cutscene mode on. If set to false, turns it off.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetDailySeed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the random seed for the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current adventure&#039;s seed.&lt;br /&gt;
&lt;br /&gt;
== GAME:UnlockDungeon(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unlocks a specified dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to unlock.&lt;br /&gt;
&lt;br /&gt;
== GAME:DungeonUnlocked(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a dungeon is unlocked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if unlocked, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:InRogueMode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the current game is in rogue mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if in rogue mode, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasServerSet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetRescueAllowed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks to see if rescue is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if rescues are allowed, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetRescueAllowed(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the value in the player&#039;s save file to determine if they can be rescued or not.&lt;br /&gt;
If rescue is possible on the Save File level, it can still be prevented by the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;allowed&amp;lt;/code&amp;gt;: Set to true to allow the player to be rescued.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:QueueLeaderEvent(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares an event to execute on the next frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:WaitFrames ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for a specified number of frames before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;frames&amp;lt;/code&amp;gt;: The number of frames ot wait.  Each frame is 1/60th of a second.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:WaitFrames(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(RogueElements.Loc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turns a vector (preferably a unit vector) into a cardinal or diagonal direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;: The vector.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(System.Double,System.Double) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenience function to get a vector&#039;s components from lua numbers(doubles)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;: The X value of the vector&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;: The Y value of the vector&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction the vector points to as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:RandomDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generates a random direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
An 8-directional direction.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetupLuaFunctions(RogueEssence.Script.LuaEngine) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setups any extra functionalities for this object written on the lua side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:Hide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to hide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:Unhide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unhides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to unhide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateObject(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;objtype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacter(System.String,System.String,System.Int32,System.Int32,System.String,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chartype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;actionfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;thinkfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveObject(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes an object from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveCharacter(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes a character from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacterFromCharData(System.String,RogueEssence.Dungeon.Character,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creates a ground character, given a dungeon character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name to give the character&lt;br /&gt;
* &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt;: Character data to create from&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction the character will face, defaults to Dir8.Down&lt;br /&gt;
&lt;br /&gt;
== GROUND:RefreshPlayer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reloads the controllable player&#039;s character data to be the current team&#039;s leader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:SetPlayer(RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the controllable player to use new character data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;charData&amp;lt;/code&amp;gt;: The new character data&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerDoSpawn(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make the specified spawner run its spawn method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ground character spawned.&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerSetSpawn(System.String,RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the character to the specified spawner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: The spawner to set the character to, by name&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnChar&amp;lt;/code&amp;gt;: The character to spawn.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToChar(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another character instantly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;turnchar&amp;lt;/code&amp;gt;: The character that is turning.&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: The character to turn to.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToCharAnimated ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face another character over the specified time.&lt;br /&gt;
Clockwise or counter-clockwise are chosen based on the closest direction.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: Character that is turning&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: Character to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: Time spent on each direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, charTo, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:EntTurn(RogueEssence.Ground.GroundEntity,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a ground entity turn to face a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity.  Can be a character or object.&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to face.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Must specify clockwise or counter-clockwise.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;ccw&amp;lt;/code&amp;gt;: false if clockwise, true if counter-clockwise&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurnTo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:TeleportTo(RogueEssence.Ground.GroundEntity,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Repositions the ground entity in a specified location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity to reposition&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to point the entity.  Defaults to Dir8.None, which leaves it untouched.&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move in a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, Dir8.Down, 24, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToMarker ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a ground marker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;mark&amp;lt;/code&amp;gt;: GroundMarker object ot move to&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, marker, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveObjectToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground object move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Ground Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground character move in a direction with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateInDirection(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 24, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground entity move to a position with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateToPosition(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 200, 240, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetEmote(RogueEssence.Ground.GroundChar,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a character emote on the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAnim(RogueEssence.Ground.GroundChar,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndAnim(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an animation and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Animation to play&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAnim(player, &amp;quot;Hurt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAction(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundAction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to perfomr the action&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: The action to perform&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an action and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: Action to perform&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAction(player, action)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetAnim(RogueEssence.Ground.GroundObject,System.Int32,System.Int32,System.Int32,RogueElements.Dir8,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s animation.  After it finishes, it will return to the default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to repeat the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetDefaultAnim(RogueEssence.Ground.GroundObject,System.String,System.Int32,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;animName&amp;lt;/code&amp;gt;: The name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectWaitAnimFrame ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the object to reach a specific frame before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object ot wait on&lt;br /&gt;
* &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: The frame of animation to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:WaitObjectAnim(fountain, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local chara = CH(&#039;PLAYER&#039;)&lt;br /&gt;
local emitter = RogueEssence.Content.FlashEmitter()&lt;br /&gt;
emitter.FadeInTime = 2&lt;br /&gt;
emitter.HoldTime = 4&lt;br /&gt;
emitter.FadeOutTime = 2&lt;br /&gt;
emitter.StartColor = Color(0, 0, 0, 0)&lt;br /&gt;
emitter.Layer = DrawLayer.Top&lt;br /&gt;
emitter.Anim = RogueEssence.Content.BGAnimData(&amp;quot;White&amp;quot;, 0)&lt;br /&gt;
GROUND:PlayVFX(emitter, chara.MapLoc.X, chara.MapLoc.Y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
== GROUND:AddMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a mapstatus to the ground map.  Map statuses only have an aesthetic effect in ground maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes a map status from the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status to remove.&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlaySE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect specifically from the Battle/ subdirectory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitSE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect, and waits for it to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitSE(&amp;quot;Battle/Hit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayFanfare(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitFanfare ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration.&lt;br /&gt;
This function waits for the sound to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitFanfare(&amp;quot;Battle/LevelUp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBGM(System.String,System.Boolean,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a song, replacing the current one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The file name of the song, relative to the Content/Music folder.&lt;br /&gt;
* &amp;lt;code&amp;gt;fade&amp;lt;/code&amp;gt;: Whether to fade the old song out, or start a new one.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the old song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBGM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops playing the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBGM(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:SetBGMVolume(System.Single) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current volume of the song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;: A float value between 0 and 1&lt;br /&gt;
&lt;br /&gt;
== SOUND:GetCurrentSong ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the currently playing song.  If the current song is fading out, gets the next song to be played.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The filename of the song, relative to the Content/Music folder&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocaleCode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current language setting of the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current language, represented by a locale code.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:Format(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: String to format.&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: Arguments&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The formatted string.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:FormatKey(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string given a string key.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: The string key to format&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: string arguments&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocalKeyString(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the string representing a button or key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The input type of the input.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The string representing the button o key the input maps to.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:CreateList(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Builds a single string of comma separated elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;listStrings&amp;lt;/code&amp;gt;: LuaTable of strings containing the elements to build the list from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The combined string containing all elements.&lt;br /&gt;
&lt;br /&gt;
== TASK:StartEntityTask(RogueEssence.Ground.GroundEntity,NLua.LuaFunction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to make an entity run the specified task.&lt;br /&gt;
Will not replace a running task!&lt;br /&gt;
Tasks are run interlocked with the script processing and game processing, and characters cannot run multiple tasks at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
== TASK:StopEntityTask(RogueEssence.Ground.GroundEntity) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to force stop an entity&#039;s current task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity running the task to stop.&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitStartEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes an entity run a specified task, and waits for it to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the specified entity to finish its task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which task we&#039;ll wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitEntityTask(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Runs a task and waits for it to complete.&lt;br /&gt;
Most methods that do not expose themselves to script need to be wrapped with this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitTask(_DUNGEON:AddMapStatus(&amp;quot;rain&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:StartScriptLocalCoroutine(NLua.LuaFunction,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A wrapper around the StartCoroutine method of the GameManager, so lua coroutines can be executed locally to the script context.&lt;br /&gt;
AKA, it will block the script execution while its executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== TASK:BranchCoroutine(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Starts a new coroutine to run parallel to the current execution.&lt;br /&gt;
Useful for performing multiple actions at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to run in parallel&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local coro1 = TASK:BranchCoroutine(GAME:_FadeIn(60))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:JoinCoroutines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for all specified coroutines to finish before continuing execution.&lt;br /&gt;
Often used for coroutines created using TASK:BranchCoroutine()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;coroTable&amp;lt;/code&amp;gt;: A table of coroutines to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:JoinCoroutines({coro1})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitInput ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the player to press a button before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowDialogue(System.String, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the player completes it.&lt;br /&gt;
Takes a string as an argument and optional LuaTable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function exclaim()&lt;br /&gt;
  SOUND:PlayBattleSE(&amp;quot;EVT_Emote_Exclaim_2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Exclaim [script=0]sound!&amp;quot;, { exclaim })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTimedDialogue(System.String, System.Int32, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the specified time has expired. Can take an optional LuaTable containing script calls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTimedDialogue(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextDialogue(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current dialogue text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowVoiceOver ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a voice over, waiting until the player completes it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowVoiceOver(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextVoiceOver(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current voice-over text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:PopUp(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes text pop up in the bottom-left corner. Displays concurrently with any other process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a title text, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTitle(&amp;quot;Hello World!&amp;quot;, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextShowTitle(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shows text in the format of a title drop.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the currently displayed title, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideTitle(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextFadeTitle(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the text set in a title drop.  Requires WaitDialog to actually fade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a chosen background image, with a chosen framerate, at a certain fade time, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowBG(&amp;quot;TestBG&amp;quot;, 3, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ShowBG(System.String,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets an image to display.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current background image, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideBG(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:FadeBG(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares a fade-out of the current image.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeaker(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clears the current speaker, so none is displayed the next time TextDialogue is called.&lt;br /&gt;
This also resets any custom dialogue box positions, portrait positions, and choice positions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: If turned on, the text from the dialogue boxes make sounds.  Default is on.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(System.String,System.Boolean,System.String,System.Int32,System.String,RogueEssence.Data.Gender) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Speaker name.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
* &amp;lt;code&amp;gt;specie&amp;lt;/code&amp;gt;: Species of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt;: Form of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt;: Skin of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;gender&amp;lt;/code&amp;gt;: Gender of the speaker&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Ground.GroundChar,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a ground map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Dungeon.Character,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a dungeon map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerReverse(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reverses the speaker orientation to face left instead of right.  This depends on the boolean passed in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetChoiceLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetChoiceLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog back to default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetBounds(System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;: Height of the box&lt;br /&gt;
&lt;br /&gt;
== UI:ResetBounds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerLoc(144, 16)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeakerLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSe(System.String, System.Int32) == &lt;br /&gt;
&lt;br /&gt;
Sets the speaker sound effect and the amount of frames in between each sound effect &lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;newSe&amp;lt;/code&amp;gt;: The path to the new sound effect&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect, optional&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:SetSe(&amp;quot;Battle/_UNK_DUN_Water_Drop&amp;quot;, 10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSe ==&lt;br /&gt;
 &lt;br /&gt;
Resets the default speaker sound effect and speak frames&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerTime(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
Sets the amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerTime(10)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerEmotion(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
Sets the emotion of the speaker in the dialogue box.&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emo&amp;lt;/code&amp;gt;: Emotion to display&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerEmotion(&amp;quot;Pain&amp;quot;, true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCenter(System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the centering of the text in the textbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;centerH&amp;lt;/code&amp;gt;: Horizontal centering&lt;br /&gt;
* &amp;lt;code&amp;gt;centerV&amp;lt;/code&amp;gt;: Vertical centering&lt;br /&gt;
&lt;br /&gt;
== UI:SetAutoFinish(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the text automatically finish when it shows up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;autoFinish&amp;lt;/code&amp;gt;: Auto-finishes text if true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetAutoFinish(true)&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;The mailbox is empty.&amp;quot;)&lt;br /&gt;
UI:SetAutoFinish(false)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitDialog ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set dialogue box and waits for the player to complete it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitDialog()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:_DummyWait ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instantly break. Used as default/invalid value when returning a yieldable value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceMenuYesNo(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask a question answered by yes or no via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: Question to be asked to the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;bdefaultstono&amp;lt;/code&amp;gt;: Whether the cursor starts on no by default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ChoiceMenuYesNo(&amp;quot;Would you like to continue on?&amp;quot;, false)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
localc continue = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:NameMenu(System.String,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the name input box.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The text to show above the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;: The text to show below the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;maxLength&amp;lt;/code&amp;gt;: The length of the text in pixels.&lt;br /&gt;
&lt;br /&gt;
== UI:AssemblyMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a menu for replacing party members with the assembly.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the boolean value indicating whether the team composition was changed or not, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShopMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Shop menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;goods&amp;lt;/code&amp;gt;: A table of items to be sold.  The format is { Item=InvItem, Price=int } for each item.&lt;br /&gt;
&lt;br /&gt;
== UI:SellMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Sell menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items to sell, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:StorageMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to exchange items in the inventory with.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WithdrawMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to withdraw from.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BankMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Bank menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SpoilsMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Spoils menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;appraisalMap&amp;lt;/code&amp;gt;: A table of mappings from containers to items, in the format of { Box=InvItem , Item=InvItem }&lt;br /&gt;
&lt;br /&gt;
== UI:AppraiseMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Appraisal menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TutorTeamMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Tutor Team menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team member, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:RelearnMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Relearn menu for a character.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:LearnMenu(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Learn menu for a character to replace an existing skill with a new one.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
* &amp;lt;code&amp;gt;skillNum&amp;lt;/code&amp;gt;: The new skill&lt;br /&gt;
&lt;br /&gt;
== UI:ForgetMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Forget menu for a character to forget a skill.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:ShowPromoteMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Promote menu to choose a team member to promote.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team slot, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CanSwapMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SwapMenu(NLua.LuaTable,NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TributeMenu(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowMusicMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Music menu to browse music for the game.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string representing the chosen song, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spoilerUnlocks&amp;lt;/code&amp;gt;: A lua table of strings representing progression flags that have been completed.&lt;br /&gt;
            Any ogg file that uses this tag as a spoiler tag will display in the menu only if the flag has been passed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ShowMusicMenu({&#039;MAIN_001&#039;})&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:DungeonChoice(System.String,RogueEssence.Dungeon.ZoneLoc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask to enter a destintion via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Name of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;dest&amp;lt;/code&amp;gt;: The ZoneLoc location of the destination.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:DungeonChoice(&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0) )&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local choice = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DungeonChoice&lt;br /&gt;
&lt;br /&gt;
== UI:DestinationMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing destinations, showing a preview of restrictions and requirements for dungeons.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the ZoneLoc indicating the chosen destination, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;destinations&amp;lt;/code&amp;gt;: A lua table representing the list of destinations with each element in the format of { Name=string, Dest=ZoneLoc }&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  local all_dests = { { Name=&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, Dest=RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0)} }&lt;br /&gt;
&lt;br /&gt;
  UI:DestinationMenu(all_dests)&lt;br /&gt;
  UI:WaitForChoice()&lt;br /&gt;
  local dest = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DestinationMenu&lt;br /&gt;
&lt;br /&gt;
== UI:ServersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ContactsMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SOSMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:AOKMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:PeersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowConnectMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CurrentActivityMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChooseMonsterMenu(System.String,NLua.LuaTable,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing monsters, showing a preview of their appearances via portrait.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string indicating the chosen species, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The title of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choices&amp;lt;/code&amp;gt;: A lua table of choices with each element being a MonsterID.&lt;br /&gt;
* &amp;lt;code&amp;gt;canMenu&amp;lt;/code&amp;gt;: If set to true, the Menu Button exits the menu if pressed.&lt;br /&gt;
* &amp;lt;code&amp;gt;canCancel&amp;lt;/code&amp;gt;: If set to true, the Cancel Button exits the menu if pressed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;bulbasaur&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;charmander&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;squirtle&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless)&lt;br /&gt;
}&lt;br /&gt;
UI:ChooseMonsterMenu(&amp;quot;Starter?&amp;quot;, choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCustomMenu(RogueEssence.Menu.InteractableMenu) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a custom menu of the caller&#039;s choice.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BeginChoiceMenu(System.String,NLua.LuaTable,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: The question to ask the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local color_choices = {&#039;Red&#039;, &#039;Yellow&#039;, &amp;quot;Green&amp;quot;}&lt;br /&gt;
UI:BeginChoiceMenu(&amp;quot;Which color do you like the most?&amp;quot;, color_choices, 1, 1)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local color = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:BeginMultiPageMenu(System.Int32,System.Int32,System.Int32,System.String,NLua.LuaTable,System.Int32,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-paged choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: Height of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;linesPerPage&amp;lt;/code&amp;gt;: Number of choices per page&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&#039;Choice 1&#039;, &amp;quot;Choice 2&amp;quot;, &amp;quot;Choice 3&amp;quot; }&lt;br /&gt;
UI:BeginMultiPageMenu(24, 24, 196, &amp;quot;All Choices&amp;quot;, choices, 8, 1, #choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local entry = choices[UI:ChoiceResult()]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the result of the last choice menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The result of the choice&lt;br /&gt;
&lt;br /&gt;
== UI:GetChoiceAction(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s complicated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== UI:WaitForChoice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set choice menu and waits for the player&#039;s selection to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;br /&gt;
[[Category:Quick Reference]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1516</id>
		<title>Lua Function Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1516"/>
		<updated>2023-08-20T05:23:45Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* Arguments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows all script functions that can be called from Lua&lt;br /&gt;
&lt;br /&gt;
== AI:SetCharacterAI(RogueEssence.Ground.GroundChar,System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assign the given scripted AI class to the specified GroundChar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;classpath&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:DisableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disable a given groundchar&#039;s AI processing until its enabled again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:EnableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:SetAIState(RogueEssence.Ground.GroundChar,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharTurnToChar(RogueEssence.Dungeon.Character,RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:LastDungeonResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the result of the last dungeon adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the floor number of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonAssetName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the internal name for the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonDisplayName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the localized name of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharSetEmote(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s emote in a dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DUNGEON:CharSetEmote(chara, &amp;quot;sweating&amp;quot;, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharStartAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharEndAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharEndAnim(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation, and waits until it completed before continue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX in the dungeon map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position in pixels&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local shake = RogueEssence.Content.ScreenMover(0, 12, 50)&lt;br /&gt;
GROUND:MoveScreen(shake)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GroundSave ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saves the game while in ground mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:GroundSave()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetModDiff(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;uuidStr&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentGround ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current zone, also known as dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.Int32,System.Int32,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The index of the ground map in the zone&lt;br /&gt;
* &amp;lt;code&amp;gt;idxentrypoint&amp;lt;/code&amp;gt;: The index of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within a new zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;: The name of the destination zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;stakes&amp;lt;/code&amp;gt;: Decides what happens when the adventure fails/succeeds.&lt;br /&gt;
* &amp;lt;code&amp;gt;recorded&amp;lt;/code&amp;gt;: Record the adventure in a replay&lt;br /&gt;
* &amp;lt;code&amp;gt;silentRestrict&amp;lt;/code&amp;gt;: Make the dungeon restrictions silently&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterDungeon(1, 0, 0, 0, RogueEssence.Data.GameProgress.DungeonStakes.Risk, true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:ContinueDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and continues the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:ContinueDungeon(1, 1, 0, 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EndDungeonRun ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ends the current adventure, sending the player to a specified destination.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt;: The result of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;destzoneid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entryid&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;display&amp;lt;/code&amp;gt;: Display an epitaph marking the end of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;fanfare&amp;lt;/code&amp;gt;: Play a fanfare.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EndDungeonRun(GameProgress.ResultType.Cleared, 0, -1, 1, 0, true, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterRescue ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a rescue adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sosPath&amp;lt;/code&amp;gt;: The path of the sos mail.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterRescue(&amp;quot;RESCUE/INBOX/SOS/example.sosmail&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:AddAOKRemark(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;remarkIndex&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartToTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map and load up the title screen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartRogue(RogueEssence.Data.RogueConfig) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restarts a Roguelocke run based on the configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt;: The configuration of the roguelocke run&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local config = RogueEssence.Data.RogueConfig.RerollFromOther(_DATA.Save.Config)&lt;br /&gt;
GAME:RestartRogue(config)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterZone(System.String,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeOut ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade out the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;white&amp;lt;/code&amp;gt;: Fade to white if set to true.  Fades to black otherwise.&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeOut(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeIn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade into the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeIn(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:MoveCamera ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Centers the camera on a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time it takes ot move to the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;toPlayer&amp;lt;/code&amp;gt;: Destination is in absolute coordinates if false, and relative to the player character if set to true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:MoveCamera(200, 240, 60, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCameraCenter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current center of the camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Loc object representing the center of the camera.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsCameraOnChar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determines whether the camera is centered relative to the player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if the camera is relative to the player, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasSOSMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:HasAOKMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamLeaderIndex ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamLeaderIndex(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the leader to the chosen index within the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;idx&amp;lt;/code&amp;gt;: The index of the team member within the team.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCanSwitch(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prevents or allows the switching of leaders for the save file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;canSwitch&amp;lt;/code&amp;gt;: Set to true to allow switching, set to false to prevent it.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the player party count.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The count of players&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the party as a LuaTable.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of guests currently in the player&#039;s party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of guests&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the guests as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of characters currently in the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the assembly as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The assembly member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerTeam(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerTeam(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerGuest(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerGuest(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team&#039;s guests, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerAssembly(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerAssembly(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the assembly, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterNickname(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to rename&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;: The new name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterNickname(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to get the nickname from&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamName(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;teamname&amp;lt;/code&amp;gt;: The new team name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team&#039;s name&lt;br /&gt;
&lt;br /&gt;
== GAME:CanRelearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can relearn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanForget(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can forget any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanLearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can learn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CheckLevelSkills ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks the levels gained by a character and prompts to learn all skills along the levels.&lt;br /&gt;
Waits until all skills have been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to prompt for learning.&lt;br /&gt;
* &amp;lt;code&amp;gt;oldLevel&amp;lt;/code&amp;gt;: The level that the character leveled up from.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:CheckLevelSkills(player, 5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:TryLearnSkill ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempts to give a new skill to the specified character, prompting to replace an old one if they are full.&lt;br /&gt;
Waits until all the skill has been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:TryLearnSkill(player, &amp;quot;thunder&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:LearnSkill(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character.&lt;br /&gt;
Fails if the character&#039;s skills are full.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
== GAME:ForgetSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removed a skill from the specified character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to forget the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the skill to forget&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterSkill(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character, replacing a specifically chosen slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skillId&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to replace&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the skill from a specified character and specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to get the skill from.&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to get the skill from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ID of the skill in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:CanPromote(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can be promoted to a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the character can be promoted, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetAvailablePromotions(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets a list of possible classes that the character can prmote to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A lua table of PromoteBranch objects&lt;br /&gt;
&lt;br /&gt;
== GAME:PromoteCharacter(RogueEssence.Dungeon.Character,RogueEssence.Data.PromoteBranch,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Promotes a character ot a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to promote&lt;br /&gt;
* &amp;lt;code&amp;gt;branch&amp;lt;/code&amp;gt;: The PromoteBranch to promote with&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
== GAME:FindPlayerItem(System.String,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finds an item in the player&#039;s team and returns its slot within the inventory or among its team&#039;s equips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The item ID to search for.&lt;br /&gt;
* &amp;lt;code&amp;gt;held&amp;lt;/code&amp;gt;: Check equipped items.&lt;br /&gt;
* &amp;lt;code&amp;gt;inv&amp;lt;/code&amp;gt;: Check inventory items.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The InvSlot of the item. Invalid if the item could not be found.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items equipped by players.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items in the bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagLimit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the maximum amount of item the player&#039;s team can carry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The team slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified guest slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The guest slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the item found at the specified slot of the player&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The item found in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove an item from player inventory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen member of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakeGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen guest of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team&#039;s guest list from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of items in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageItemCount(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of a specific item in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: ID of the item ot check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of copies currently in storage&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerStorageItem(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes an item from the storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item to take&lt;br /&gt;
&lt;br /&gt;
== GAME:DepositAll ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes all items in the player team&#039;s bag and equipped items, and deposits them in storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoney ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money the player currently has on hand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoneyBank ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money in the player&#039;s bank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsKeyDown(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a player is making a certain input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keyid&amp;lt;/code&amp;gt;: The ID of the input&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the button is currently pressed.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:CutsceneMode(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the game in cutscene mode. This prevents characters from taking idle action and hides certain UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bon&amp;lt;/code&amp;gt;: If set to true, turns cutscene mode on. If set to false, turns it off.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetDailySeed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the random seed for the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current adventure&#039;s seed.&lt;br /&gt;
&lt;br /&gt;
== GAME:UnlockDungeon(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unlocks a specified dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to unlock.&lt;br /&gt;
&lt;br /&gt;
== GAME:DungeonUnlocked(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a dungeon is unlocked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if unlocked, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:InRogueMode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the current game is in rogue mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if in rogue mode, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasServerSet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetRescueAllowed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks to see if rescue is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if rescues are allowed, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetRescueAllowed(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the value in the player&#039;s save file to determine if they can be rescued or not.&lt;br /&gt;
If rescue is possible on the Save File level, it can still be prevented by the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;allowed&amp;lt;/code&amp;gt;: Set to true to allow the player to be rescued.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:QueueLeaderEvent(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares an event to execute on the next frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:WaitFrames ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for a specified number of frames before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;frames&amp;lt;/code&amp;gt;: The number of frames ot wait.  Each frame is 1/60th of a second.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:WaitFrames(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(RogueElements.Loc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turns a vector (preferably a unit vector) into a cardinal or diagonal direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;: The vector.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(System.Double,System.Double) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenience function to get a vector&#039;s components from lua numbers(doubles)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;: The X value of the vector&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;: The Y value of the vector&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction the vector points to as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:RandomDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generates a random direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
An 8-directional direction.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetupLuaFunctions(RogueEssence.Script.LuaEngine) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setups any extra functionalities for this object written on the lua side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:Hide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to hide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:Unhide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unhides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to unhide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateObject(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;objtype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacter(System.String,System.String,System.Int32,System.Int32,System.String,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chartype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;actionfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;thinkfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveObject(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes an object from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveCharacter(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes a character from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacterFromCharData(System.String,RogueEssence.Dungeon.Character,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creates a ground character, given a dungeon character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name to give the character&lt;br /&gt;
* &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt;: Character data to create from&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction the character will face, defaults to Dir8.Down&lt;br /&gt;
&lt;br /&gt;
== GROUND:RefreshPlayer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reloads the controllable player&#039;s character data to be the current team&#039;s leader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:SetPlayer(RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the controllable player to use new character data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;charData&amp;lt;/code&amp;gt;: The new character data&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerDoSpawn(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make the specified spawner run its spawn method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ground character spawned.&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerSetSpawn(System.String,RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the character to the specified spawner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: The spawner to set the character to, by name&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnChar&amp;lt;/code&amp;gt;: The character to spawn.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToChar(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another character instantly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;turnchar&amp;lt;/code&amp;gt;: The character that is turning.&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: The character to turn to.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToCharAnimated ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face another character over the specified time.&lt;br /&gt;
Clockwise or counter-clockwise are chosen based on the closest direction.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: Character that is turning&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: Character to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: Time spent on each direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, charTo, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:EntTurn(RogueEssence.Ground.GroundEntity,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a ground entity turn to face a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity.  Can be a character or object.&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to face.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Must specify clockwise or counter-clockwise.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;ccw&amp;lt;/code&amp;gt;: false if clockwise, true if counter-clockwise&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurnTo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:TeleportTo(RogueEssence.Ground.GroundEntity,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Repositions the ground entity in a specified location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity to reposition&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to point the entity.  Defaults to Dir8.None, which leaves it untouched.&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move in a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, Dir8.Down, 24, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToMarker ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a ground marker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;mark&amp;lt;/code&amp;gt;: GroundMarker object ot move to&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, marker, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveObjectToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground object move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Ground Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground character move in a direction with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateInDirection(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 24, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground entity move to a position with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateToPosition(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 200, 240, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetEmote(RogueEssence.Ground.GroundChar,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a character emote on the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAnim(RogueEssence.Ground.GroundChar,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndAnim(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an animation and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Animation to play&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAnim(player, &amp;quot;Hurt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAction(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundAction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to perfomr the action&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: The action to perform&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an action and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: Action to perform&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAction(player, action)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetAnim(RogueEssence.Ground.GroundObject,System.Int32,System.Int32,System.Int32,RogueElements.Dir8,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s animation.  After it finishes, it will return to the default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to repeat the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetDefaultAnim(RogueEssence.Ground.GroundObject,System.String,System.Int32,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;animName&amp;lt;/code&amp;gt;: The name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectWaitAnimFrame ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the object to reach a specific frame before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object ot wait on&lt;br /&gt;
* &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: The frame of animation to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:WaitObjectAnim(fountain, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local chara = CH(&#039;PLAYER&#039;)&lt;br /&gt;
local emitter = RogueEssence.Content.FlashEmitter()&lt;br /&gt;
emitter.FadeInTime = 2&lt;br /&gt;
emitter.HoldTime = 4&lt;br /&gt;
emitter.FadeOutTime = 2&lt;br /&gt;
emitter.StartColor = Color(0, 0, 0, 0)&lt;br /&gt;
emitter.Layer = DrawLayer.Top&lt;br /&gt;
emitter.Anim = RogueEssence.Content.BGAnimData(&amp;quot;White&amp;quot;, 0)&lt;br /&gt;
GROUND:PlayVFX(emitter, chara.MapLoc.X, chara.MapLoc.Y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
== GROUND:AddMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a mapstatus to the ground map.  Map statuses only have an aesthetic effect in ground maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes a map status from the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status to remove.&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlaySE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect specifically from the Battle/ subdirectory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitSE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect, and waits for it to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitSE(&amp;quot;Battle/Hit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayFanfare(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitFanfare ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration.&lt;br /&gt;
This function waits for the sound to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitFanfare(&amp;quot;Battle/LevelUp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBGM(System.String,System.Boolean,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a song, replacing the current one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The file name of the song, relative to the Content/Music folder.&lt;br /&gt;
* &amp;lt;code&amp;gt;fade&amp;lt;/code&amp;gt;: Whether to fade the old song out, or start a new one.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the old song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBGM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops playing the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBGM(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:SetBGMVolume(System.Single) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current volume of the song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;: A float value between 0 and 1&lt;br /&gt;
&lt;br /&gt;
== SOUND:GetCurrentSong ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the currently playing song.  If the current song is fading out, gets the next song to be played.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The filename of the song, relative to the Content/Music folder&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocaleCode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current language setting of the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current language, represented by a locale code.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:Format(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: String to format.&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: Arguments&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The formatted string.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:FormatKey(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string given a string key.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: The string key to format&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: string arguments&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocalKeyString(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the string representing a button or key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The input type of the input.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The string representing the button o key the input maps to.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:CreateList(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Builds a single string of comma separated elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;listStrings&amp;lt;/code&amp;gt;: LuaTable of strings containing the elements to build the list from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The combined string containing all elements.&lt;br /&gt;
&lt;br /&gt;
== TASK:StartEntityTask(RogueEssence.Ground.GroundEntity,NLua.LuaFunction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to make an entity run the specified task.&lt;br /&gt;
Will not replace a running task!&lt;br /&gt;
Tasks are run interlocked with the script processing and game processing, and characters cannot run multiple tasks at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
== TASK:StopEntityTask(RogueEssence.Ground.GroundEntity) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to force stop an entity&#039;s current task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity running the task to stop.&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitStartEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes an entity run a specified task, and waits for it to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the specified entity to finish its task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which task we&#039;ll wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitEntityTask(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Runs a task and waits for it to complete.&lt;br /&gt;
Most methods that do not expose themselves to script need to be wrapped with this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitTask(_DUNGEON:AddMapStatus(&amp;quot;rain&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:StartScriptLocalCoroutine(NLua.LuaFunction,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A wrapper around the StartCoroutine method of the GameManager, so lua coroutines can be executed locally to the script context.&lt;br /&gt;
AKA, it will block the script execution while its executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== TASK:BranchCoroutine(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Starts a new coroutine to run parallel to the current execution.&lt;br /&gt;
Useful for performing multiple actions at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to run in parallel&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local coro1 = TASK:BranchCoroutine(GAME:_FadeIn(60))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:JoinCoroutines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for all specified coroutines to finish before continuing execution.&lt;br /&gt;
Often used for coroutines created using TASK:BranchCoroutine()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;coroTable&amp;lt;/code&amp;gt;: A table of coroutines to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:JoinCoroutines({coro1})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitInput ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the player to press a button before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowDialogue(System.String, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the player completes it.&lt;br /&gt;
Takes a string as an argument and optional LuaTable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function exclaim()&lt;br /&gt;
  SOUND:PlayBattleSE(&amp;quot;EVT_Emote_Exclaim_2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Exclaim [script=0]sound!&amp;quot;, { exclaim })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTimedDialogue(System.String, System.Int32, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the specified time has expired. Can take an optional LuaTable containing script calls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTimedDialogue(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextDialogue(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current dialogue text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowVoiceOver ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a voice over, waiting until the player completes it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowVoiceOver(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextVoiceOver(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current voice-over text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:PopUp(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes text pop up in the bottom-left corner. Displays concurrently with any other process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a title text, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTitle(&amp;quot;Hello World!&amp;quot;, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextShowTitle(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shows text in the format of a title drop.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the currently displayed title, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideTitle(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextFadeTitle(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the text set in a title drop.  Requires WaitDialog to actually fade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a chosen background image, with a chosen framerate, at a certain fade time, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowBG(&amp;quot;TestBG&amp;quot;, 3, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ShowBG(System.String,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets an image to display.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current background image, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideBG(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:FadeBG(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares a fade-out of the current image.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeaker(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clears the current speaker, so none is displayed the next time TextDialogue is called.&lt;br /&gt;
This also resets any custom dialogue box positions, portrait positions, and choice positions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: If turned on, the text from the dialogue boxes make sounds.  Default is on.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(System.String,System.Boolean,System.String,System.Int32,System.String,RogueEssence.Data.Gender) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Speaker name.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
* &amp;lt;code&amp;gt;specie&amp;lt;/code&amp;gt;: Species of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt;: Form of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt;: Skin of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;gender&amp;lt;/code&amp;gt;: Gender of the speaker&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Ground.GroundChar,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a ground map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Dungeon.Character,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a dungeon map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerReverse(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reverses the speaker orientation to face left instead of right.  This depends on the boolean passed in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetChoiceLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetChoiceLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog back to default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetBounds(System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;: Height of the box&lt;br /&gt;
&lt;br /&gt;
== UI:ResetBounds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerLoc(144, 16)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeakerLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSe(System.String, System.Int32) == &lt;br /&gt;
&lt;br /&gt;
Sets the speaker sound effect and the amount of frames in between each sound effect &lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;newSe&amp;lt;/code&amp;gt;: The path to the new sound effect&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect, optional&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:SetSe(&amp;quot;Battle/_UNK_DUN_Water_Drop&amp;quot;, 10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSe ==&lt;br /&gt;
 &lt;br /&gt;
Resets the default speaker sound effect and speak frames&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerTime(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
Sets the amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerTime(10)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerEmotion(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
Sets the emotion of the speaker in the dialogue box.&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emo&amp;lt;/code&amp;gt;: Emotion to display&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerEmotion(&amp;quot;Pain&amp;quot;, true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCenter(System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the centering of the text in the textbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;centerH&amp;lt;/code&amp;gt;: Horizontal centering&lt;br /&gt;
* &amp;lt;code&amp;gt;centerV&amp;lt;/code&amp;gt;: Vertical centering&lt;br /&gt;
&lt;br /&gt;
== UI:SetAutoFinish(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the text automatically finish when it shows up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;autoFinish&amp;lt;/code&amp;gt;: Auto-finishes text if true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetAutoFinish(true)&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;The mailbox is empty.&amp;quot;)&lt;br /&gt;
UI:SetAutoFinish(false)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitDialog ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set dialogue box and waits for the player to complete it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitDialog()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:_DummyWait ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instantly break. Used as default/invalid value when returning a yieldable value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceMenuYesNo(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask a question answered by yes or no via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: Question to be asked to the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;bdefaultstono&amp;lt;/code&amp;gt;: Whether the cursor starts on no by default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ChoiceMenuYesNo(&amp;quot;Would you like to continue on?&amp;quot;, false)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
localc continue = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:NameMenu(System.String,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the name input box.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The text to show above the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;: The text to show below the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;maxLength&amp;lt;/code&amp;gt;: The length of the text in pixels.&lt;br /&gt;
&lt;br /&gt;
== UI:AssemblyMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a menu for replacing party members with the assembly.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the boolean value indicating whether the team composition was changed or not, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShopMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Shop menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;goods&amp;lt;/code&amp;gt;: A table of items to be sold.  The format is { Item=InvItem, Price=int } for each item.&lt;br /&gt;
&lt;br /&gt;
== UI:SellMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Sell menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items to sell, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:StorageMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to exchange items in the inventory with.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WithdrawMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to withdraw from.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BankMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Bank menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SpoilsMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Spoils menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;appraisalMap&amp;lt;/code&amp;gt;: A table of mappings from containers to items, in the format of { Box=InvItem , Item=InvItem }&lt;br /&gt;
&lt;br /&gt;
== UI:AppraiseMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Appraisal menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TutorTeamMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Tutor Team menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team member, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:RelearnMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Relearn menu for a character.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:LearnMenu(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Learn menu for a character to replace an existing skill with a new one.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
* &amp;lt;code&amp;gt;skillNum&amp;lt;/code&amp;gt;: The new skill&lt;br /&gt;
&lt;br /&gt;
== UI:ForgetMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Forget menu for a character to forget a skill.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:ShowPromoteMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Promote menu to choose a team member to promote.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team slot, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CanSwapMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SwapMenu(NLua.LuaTable,NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TributeMenu(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowMusicMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Music menu to browse music for the game.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string representing the chosen song, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spoilerUnlocks&amp;lt;/code&amp;gt;: A lua table of strings representing progression flags that have been completed.&lt;br /&gt;
            Any ogg file that uses this tag as a spoiler tag will display in the menu only if the flag has been passed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ShowMusicMenu({&#039;MAIN_001&#039;})&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:DungeonChoice(System.String,RogueEssence.Dungeon.ZoneLoc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask to enter a destintion via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Name of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;dest&amp;lt;/code&amp;gt;: The ZoneLoc location of the destination.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:DungeonChoice(&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0) )&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local choice = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DungeonChoice&lt;br /&gt;
&lt;br /&gt;
== UI:DestinationMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing destinations, showing a preview of restrictions and requirements for dungeons.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the ZoneLoc indicating the chosen destination, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;destinations&amp;lt;/code&amp;gt;: A lua table representing the list of destinations with each element in the format of { Name=string, Dest=ZoneLoc }&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  local all_dests = { { Name=&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, Dest=RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0)} }&lt;br /&gt;
&lt;br /&gt;
  UI:DestinationMenu(all_dests)&lt;br /&gt;
  UI:WaitForChoice()&lt;br /&gt;
  local dest = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DestinationMenu&lt;br /&gt;
&lt;br /&gt;
== UI:ServersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ContactsMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SOSMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:AOKMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:PeersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowConnectMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CurrentActivityMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChooseMonsterMenu(System.String,NLua.LuaTable,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing monsters, showing a preview of their appearances via portrait.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string indicating the chosen species, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The title of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choices&amp;lt;/code&amp;gt;: A lua table of choices with each element being a MonsterID.&lt;br /&gt;
* &amp;lt;code&amp;gt;canMenu&amp;lt;/code&amp;gt;: If set to true, the Menu Button exits the menu if pressed.&lt;br /&gt;
* &amp;lt;code&amp;gt;canCancel&amp;lt;/code&amp;gt;: If set to true, the Cancel Button exits the menu if pressed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;bulbasaur&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;charmander&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;squirtle&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless)&lt;br /&gt;
}&lt;br /&gt;
UI:ChooseMonsterMenu(&amp;quot;Starter?&amp;quot;, choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCustomMenu(RogueEssence.Menu.InteractableMenu) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a custom menu of the caller&#039;s choice.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BeginChoiceMenu(System.String,NLua.LuaTable,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: The question to ask the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local color_choices = {&#039;Red&#039;, &#039;Yellow&#039;, &amp;quot;Green&amp;quot;}&lt;br /&gt;
UI:BeginChoiceMenu(&amp;quot;Which color do you like the most?&amp;quot;, color_choices, 1, 1)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local color = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:BeginMultiPageMenu(System.Int32,System.Int32,System.Int32,System.String,NLua.LuaTable,System.Int32,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-paged choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: Height of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;linesPerPage&amp;lt;/code&amp;gt;: Number of choices per page&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&#039;Choice 1&#039;, &amp;quot;Choice 2&amp;quot;, &amp;quot;Choice 3&amp;quot; }&lt;br /&gt;
UI:BeginMultiPageMenu(24, 24, 196, &amp;quot;All Choices&amp;quot;, choices, 8, 1, #choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local entry = choices[UI:ChoiceResult()]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the result of the last choice menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The result of the choice&lt;br /&gt;
&lt;br /&gt;
== UI:GetChoiceAction(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s complicated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== UI:WaitForChoice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set choice menu and waits for the player&#039;s selection to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;br /&gt;
[[Category:Quick Reference]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1515</id>
		<title>Lua Function Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1515"/>
		<updated>2023-08-20T05:23:03Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* UI:SetSpeakerTime(System.Int32) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows all script functions that can be called from Lua&lt;br /&gt;
&lt;br /&gt;
== AI:SetCharacterAI(RogueEssence.Ground.GroundChar,System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assign the given scripted AI class to the specified GroundChar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;classpath&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:DisableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disable a given groundchar&#039;s AI processing until its enabled again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:EnableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:SetAIState(RogueEssence.Ground.GroundChar,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharTurnToChar(RogueEssence.Dungeon.Character,RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:LastDungeonResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the result of the last dungeon adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the floor number of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonAssetName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the internal name for the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonDisplayName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the localized name of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharSetEmote(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s emote in a dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DUNGEON:CharSetEmote(chara, &amp;quot;sweating&amp;quot;, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharStartAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharEndAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharEndAnim(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation, and waits until it completed before continue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX in the dungeon map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position in pixels&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local shake = RogueEssence.Content.ScreenMover(0, 12, 50)&lt;br /&gt;
GROUND:MoveScreen(shake)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GroundSave ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saves the game while in ground mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:GroundSave()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetModDiff(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;uuidStr&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentGround ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current zone, also known as dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.Int32,System.Int32,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The index of the ground map in the zone&lt;br /&gt;
* &amp;lt;code&amp;gt;idxentrypoint&amp;lt;/code&amp;gt;: The index of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within a new zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;: The name of the destination zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;stakes&amp;lt;/code&amp;gt;: Decides what happens when the adventure fails/succeeds.&lt;br /&gt;
* &amp;lt;code&amp;gt;recorded&amp;lt;/code&amp;gt;: Record the adventure in a replay&lt;br /&gt;
* &amp;lt;code&amp;gt;silentRestrict&amp;lt;/code&amp;gt;: Make the dungeon restrictions silently&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterDungeon(1, 0, 0, 0, RogueEssence.Data.GameProgress.DungeonStakes.Risk, true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:ContinueDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and continues the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:ContinueDungeon(1, 1, 0, 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EndDungeonRun ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ends the current adventure, sending the player to a specified destination.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt;: The result of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;destzoneid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entryid&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;display&amp;lt;/code&amp;gt;: Display an epitaph marking the end of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;fanfare&amp;lt;/code&amp;gt;: Play a fanfare.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EndDungeonRun(GameProgress.ResultType.Cleared, 0, -1, 1, 0, true, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterRescue ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a rescue adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sosPath&amp;lt;/code&amp;gt;: The path of the sos mail.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterRescue(&amp;quot;RESCUE/INBOX/SOS/example.sosmail&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:AddAOKRemark(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;remarkIndex&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartToTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map and load up the title screen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartRogue(RogueEssence.Data.RogueConfig) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restarts a Roguelocke run based on the configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt;: The configuration of the roguelocke run&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local config = RogueEssence.Data.RogueConfig.RerollFromOther(_DATA.Save.Config)&lt;br /&gt;
GAME:RestartRogue(config)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterZone(System.String,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeOut ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade out the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;white&amp;lt;/code&amp;gt;: Fade to white if set to true.  Fades to black otherwise.&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeOut(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeIn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade into the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeIn(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:MoveCamera ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Centers the camera on a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time it takes ot move to the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;toPlayer&amp;lt;/code&amp;gt;: Destination is in absolute coordinates if false, and relative to the player character if set to true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:MoveCamera(200, 240, 60, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCameraCenter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current center of the camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Loc object representing the center of the camera.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsCameraOnChar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determines whether the camera is centered relative to the player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if the camera is relative to the player, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasSOSMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:HasAOKMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamLeaderIndex ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamLeaderIndex(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the leader to the chosen index within the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;idx&amp;lt;/code&amp;gt;: The index of the team member within the team.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCanSwitch(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prevents or allows the switching of leaders for the save file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;canSwitch&amp;lt;/code&amp;gt;: Set to true to allow switching, set to false to prevent it.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the player party count.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The count of players&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the party as a LuaTable.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of guests currently in the player&#039;s party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of guests&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the guests as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of characters currently in the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the assembly as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The assembly member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerTeam(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerTeam(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerGuest(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerGuest(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team&#039;s guests, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerAssembly(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerAssembly(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the assembly, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterNickname(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to rename&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;: The new name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterNickname(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to get the nickname from&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamName(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;teamname&amp;lt;/code&amp;gt;: The new team name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team&#039;s name&lt;br /&gt;
&lt;br /&gt;
== GAME:CanRelearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can relearn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanForget(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can forget any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanLearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can learn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CheckLevelSkills ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks the levels gained by a character and prompts to learn all skills along the levels.&lt;br /&gt;
Waits until all skills have been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to prompt for learning.&lt;br /&gt;
* &amp;lt;code&amp;gt;oldLevel&amp;lt;/code&amp;gt;: The level that the character leveled up from.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:CheckLevelSkills(player, 5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:TryLearnSkill ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempts to give a new skill to the specified character, prompting to replace an old one if they are full.&lt;br /&gt;
Waits until all the skill has been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:TryLearnSkill(player, &amp;quot;thunder&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:LearnSkill(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character.&lt;br /&gt;
Fails if the character&#039;s skills are full.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
== GAME:ForgetSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removed a skill from the specified character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to forget the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the skill to forget&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterSkill(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character, replacing a specifically chosen slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skillId&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to replace&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the skill from a specified character and specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to get the skill from.&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to get the skill from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ID of the skill in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:CanPromote(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can be promoted to a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the character can be promoted, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetAvailablePromotions(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets a list of possible classes that the character can prmote to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A lua table of PromoteBranch objects&lt;br /&gt;
&lt;br /&gt;
== GAME:PromoteCharacter(RogueEssence.Dungeon.Character,RogueEssence.Data.PromoteBranch,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Promotes a character ot a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to promote&lt;br /&gt;
* &amp;lt;code&amp;gt;branch&amp;lt;/code&amp;gt;: The PromoteBranch to promote with&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
== GAME:FindPlayerItem(System.String,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finds an item in the player&#039;s team and returns its slot within the inventory or among its team&#039;s equips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The item ID to search for.&lt;br /&gt;
* &amp;lt;code&amp;gt;held&amp;lt;/code&amp;gt;: Check equipped items.&lt;br /&gt;
* &amp;lt;code&amp;gt;inv&amp;lt;/code&amp;gt;: Check inventory items.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The InvSlot of the item. Invalid if the item could not be found.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items equipped by players.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items in the bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagLimit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the maximum amount of item the player&#039;s team can carry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The team slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified guest slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The guest slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the item found at the specified slot of the player&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The item found in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove an item from player inventory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen member of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakeGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen guest of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team&#039;s guest list from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of items in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageItemCount(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of a specific item in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: ID of the item ot check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of copies currently in storage&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerStorageItem(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes an item from the storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item to take&lt;br /&gt;
&lt;br /&gt;
== GAME:DepositAll ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes all items in the player team&#039;s bag and equipped items, and deposits them in storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoney ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money the player currently has on hand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoneyBank ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money in the player&#039;s bank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsKeyDown(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a player is making a certain input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keyid&amp;lt;/code&amp;gt;: The ID of the input&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the button is currently pressed.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:CutsceneMode(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the game in cutscene mode. This prevents characters from taking idle action and hides certain UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bon&amp;lt;/code&amp;gt;: If set to true, turns cutscene mode on. If set to false, turns it off.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetDailySeed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the random seed for the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current adventure&#039;s seed.&lt;br /&gt;
&lt;br /&gt;
== GAME:UnlockDungeon(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unlocks a specified dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to unlock.&lt;br /&gt;
&lt;br /&gt;
== GAME:DungeonUnlocked(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a dungeon is unlocked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if unlocked, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:InRogueMode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the current game is in rogue mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if in rogue mode, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasServerSet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetRescueAllowed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks to see if rescue is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if rescues are allowed, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetRescueAllowed(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the value in the player&#039;s save file to determine if they can be rescued or not.&lt;br /&gt;
If rescue is possible on the Save File level, it can still be prevented by the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;allowed&amp;lt;/code&amp;gt;: Set to true to allow the player to be rescued.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:QueueLeaderEvent(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares an event to execute on the next frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:WaitFrames ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for a specified number of frames before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;frames&amp;lt;/code&amp;gt;: The number of frames ot wait.  Each frame is 1/60th of a second.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:WaitFrames(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(RogueElements.Loc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turns a vector (preferably a unit vector) into a cardinal or diagonal direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;: The vector.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(System.Double,System.Double) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenience function to get a vector&#039;s components from lua numbers(doubles)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;: The X value of the vector&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;: The Y value of the vector&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction the vector points to as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:RandomDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generates a random direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
An 8-directional direction.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetupLuaFunctions(RogueEssence.Script.LuaEngine) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setups any extra functionalities for this object written on the lua side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:Hide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to hide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:Unhide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unhides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to unhide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateObject(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;objtype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacter(System.String,System.String,System.Int32,System.Int32,System.String,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chartype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;actionfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;thinkfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveObject(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes an object from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveCharacter(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes a character from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacterFromCharData(System.String,RogueEssence.Dungeon.Character,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creates a ground character, given a dungeon character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name to give the character&lt;br /&gt;
* &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt;: Character data to create from&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction the character will face, defaults to Dir8.Down&lt;br /&gt;
&lt;br /&gt;
== GROUND:RefreshPlayer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reloads the controllable player&#039;s character data to be the current team&#039;s leader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:SetPlayer(RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the controllable player to use new character data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;charData&amp;lt;/code&amp;gt;: The new character data&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerDoSpawn(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make the specified spawner run its spawn method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ground character spawned.&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerSetSpawn(System.String,RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the character to the specified spawner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: The spawner to set the character to, by name&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnChar&amp;lt;/code&amp;gt;: The character to spawn.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToChar(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another character instantly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;turnchar&amp;lt;/code&amp;gt;: The character that is turning.&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: The character to turn to.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToCharAnimated ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face another character over the specified time.&lt;br /&gt;
Clockwise or counter-clockwise are chosen based on the closest direction.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: Character that is turning&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: Character to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: Time spent on each direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, charTo, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:EntTurn(RogueEssence.Ground.GroundEntity,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a ground entity turn to face a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity.  Can be a character or object.&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to face.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Must specify clockwise or counter-clockwise.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;ccw&amp;lt;/code&amp;gt;: false if clockwise, true if counter-clockwise&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurnTo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:TeleportTo(RogueEssence.Ground.GroundEntity,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Repositions the ground entity in a specified location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity to reposition&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to point the entity.  Defaults to Dir8.None, which leaves it untouched.&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move in a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, Dir8.Down, 24, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToMarker ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a ground marker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;mark&amp;lt;/code&amp;gt;: GroundMarker object ot move to&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, marker, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveObjectToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground object move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Ground Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground character move in a direction with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateInDirection(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 24, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground entity move to a position with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateToPosition(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 200, 240, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetEmote(RogueEssence.Ground.GroundChar,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a character emote on the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAnim(RogueEssence.Ground.GroundChar,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndAnim(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an animation and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Animation to play&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAnim(player, &amp;quot;Hurt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAction(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundAction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to perfomr the action&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: The action to perform&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an action and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: Action to perform&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAction(player, action)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetAnim(RogueEssence.Ground.GroundObject,System.Int32,System.Int32,System.Int32,RogueElements.Dir8,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s animation.  After it finishes, it will return to the default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to repeat the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetDefaultAnim(RogueEssence.Ground.GroundObject,System.String,System.Int32,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;animName&amp;lt;/code&amp;gt;: The name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectWaitAnimFrame ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the object to reach a specific frame before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object ot wait on&lt;br /&gt;
* &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: The frame of animation to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:WaitObjectAnim(fountain, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local chara = CH(&#039;PLAYER&#039;)&lt;br /&gt;
local emitter = RogueEssence.Content.FlashEmitter()&lt;br /&gt;
emitter.FadeInTime = 2&lt;br /&gt;
emitter.HoldTime = 4&lt;br /&gt;
emitter.FadeOutTime = 2&lt;br /&gt;
emitter.StartColor = Color(0, 0, 0, 0)&lt;br /&gt;
emitter.Layer = DrawLayer.Top&lt;br /&gt;
emitter.Anim = RogueEssence.Content.BGAnimData(&amp;quot;White&amp;quot;, 0)&lt;br /&gt;
GROUND:PlayVFX(emitter, chara.MapLoc.X, chara.MapLoc.Y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
== GROUND:AddMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a mapstatus to the ground map.  Map statuses only have an aesthetic effect in ground maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes a map status from the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status to remove.&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlaySE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect specifically from the Battle/ subdirectory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitSE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect, and waits for it to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitSE(&amp;quot;Battle/Hit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayFanfare(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitFanfare ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration.&lt;br /&gt;
This function waits for the sound to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitFanfare(&amp;quot;Battle/LevelUp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBGM(System.String,System.Boolean,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a song, replacing the current one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The file name of the song, relative to the Content/Music folder.&lt;br /&gt;
* &amp;lt;code&amp;gt;fade&amp;lt;/code&amp;gt;: Whether to fade the old song out, or start a new one.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the old song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBGM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops playing the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBGM(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:SetBGMVolume(System.Single) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current volume of the song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;: A float value between 0 and 1&lt;br /&gt;
&lt;br /&gt;
== SOUND:GetCurrentSong ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the currently playing song.  If the current song is fading out, gets the next song to be played.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The filename of the song, relative to the Content/Music folder&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocaleCode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current language setting of the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current language, represented by a locale code.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:Format(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: String to format.&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: Arguments&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The formatted string.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:FormatKey(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string given a string key.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: The string key to format&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: string arguments&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocalKeyString(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the string representing a button or key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The input type of the input.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The string representing the button o key the input maps to.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:CreateList(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Builds a single string of comma separated elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;listStrings&amp;lt;/code&amp;gt;: LuaTable of strings containing the elements to build the list from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The combined string containing all elements.&lt;br /&gt;
&lt;br /&gt;
== TASK:StartEntityTask(RogueEssence.Ground.GroundEntity,NLua.LuaFunction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to make an entity run the specified task.&lt;br /&gt;
Will not replace a running task!&lt;br /&gt;
Tasks are run interlocked with the script processing and game processing, and characters cannot run multiple tasks at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
== TASK:StopEntityTask(RogueEssence.Ground.GroundEntity) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to force stop an entity&#039;s current task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity running the task to stop.&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitStartEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes an entity run a specified task, and waits for it to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the specified entity to finish its task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which task we&#039;ll wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitEntityTask(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Runs a task and waits for it to complete.&lt;br /&gt;
Most methods that do not expose themselves to script need to be wrapped with this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitTask(_DUNGEON:AddMapStatus(&amp;quot;rain&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:StartScriptLocalCoroutine(NLua.LuaFunction,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A wrapper around the StartCoroutine method of the GameManager, so lua coroutines can be executed locally to the script context.&lt;br /&gt;
AKA, it will block the script execution while its executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== TASK:BranchCoroutine(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Starts a new coroutine to run parallel to the current execution.&lt;br /&gt;
Useful for performing multiple actions at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to run in parallel&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local coro1 = TASK:BranchCoroutine(GAME:_FadeIn(60))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:JoinCoroutines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for all specified coroutines to finish before continuing execution.&lt;br /&gt;
Often used for coroutines created using TASK:BranchCoroutine()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;coroTable&amp;lt;/code&amp;gt;: A table of coroutines to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:JoinCoroutines({coro1})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitInput ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the player to press a button before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowDialogue(System.String, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the player completes it.&lt;br /&gt;
Takes a string as an argument and optional LuaTable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function exclaim()&lt;br /&gt;
  SOUND:PlayBattleSE(&amp;quot;EVT_Emote_Exclaim_2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Exclaim [script=0]sound!&amp;quot;, { exclaim })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTimedDialogue(System.String, System.Int32, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the specified time has expired. Can take an optional LuaTable containing script calls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTimedDialogue(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextDialogue(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current dialogue text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowVoiceOver ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a voice over, waiting until the player completes it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowVoiceOver(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextVoiceOver(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current voice-over text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:PopUp(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes text pop up in the bottom-left corner. Displays concurrently with any other process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a title text, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTitle(&amp;quot;Hello World!&amp;quot;, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextShowTitle(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shows text in the format of a title drop.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the currently displayed title, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideTitle(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextFadeTitle(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the text set in a title drop.  Requires WaitDialog to actually fade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a chosen background image, with a chosen framerate, at a certain fade time, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowBG(&amp;quot;TestBG&amp;quot;, 3, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ShowBG(System.String,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets an image to display.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current background image, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideBG(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:FadeBG(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares a fade-out of the current image.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeaker(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clears the current speaker, so none is displayed the next time TextDialogue is called.&lt;br /&gt;
This also resets any custom dialogue box positions, portrait positions, and choice positions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: If turned on, the text from the dialogue boxes make sounds.  Default is on.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(System.String,System.Boolean,System.String,System.Int32,System.String,RogueEssence.Data.Gender) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Speaker name.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
* &amp;lt;code&amp;gt;specie&amp;lt;/code&amp;gt;: Species of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt;: Form of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt;: Skin of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;gender&amp;lt;/code&amp;gt;: Gender of the speaker&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Ground.GroundChar,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a ground map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Dungeon.Character,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a dungeon map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerReverse(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reverses the speaker orientation to face left instead of right.  This depends on the boolean passed in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetChoiceLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetChoiceLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog back to default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetBounds(System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;: Height of the box&lt;br /&gt;
&lt;br /&gt;
== UI:ResetBounds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeakerLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSe(System.String, System.Int32) == &lt;br /&gt;
&lt;br /&gt;
Sets the speaker sound effect and the amount of frames in between each sound effect &lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;newSe&amp;lt;/code&amp;gt;: The path to the new sound effect&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect, optional&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:SetSe(&amp;quot;Battle/_UNK_DUN_Water_Drop&amp;quot;, 10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSe ==&lt;br /&gt;
 &lt;br /&gt;
Resets the default speaker sound effect and speak frames&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerTime(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
Sets the amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerTime(10)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerEmotion(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
Sets the emotion of the speaker in the dialogue box.&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emo&amp;lt;/code&amp;gt;: Emotion to display&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerEmotion(&amp;quot;Pain&amp;quot;, true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCenter(System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the centering of the text in the textbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;centerH&amp;lt;/code&amp;gt;: Horizontal centering&lt;br /&gt;
* &amp;lt;code&amp;gt;centerV&amp;lt;/code&amp;gt;: Vertical centering&lt;br /&gt;
&lt;br /&gt;
== UI:SetAutoFinish(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the text automatically finish when it shows up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;autoFinish&amp;lt;/code&amp;gt;: Auto-finishes text if true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetAutoFinish(true)&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;The mailbox is empty.&amp;quot;)&lt;br /&gt;
UI:SetAutoFinish(false)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitDialog ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set dialogue box and waits for the player to complete it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitDialog()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:_DummyWait ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instantly break. Used as default/invalid value when returning a yieldable value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceMenuYesNo(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask a question answered by yes or no via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: Question to be asked to the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;bdefaultstono&amp;lt;/code&amp;gt;: Whether the cursor starts on no by default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ChoiceMenuYesNo(&amp;quot;Would you like to continue on?&amp;quot;, false)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
localc continue = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:NameMenu(System.String,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the name input box.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The text to show above the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;: The text to show below the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;maxLength&amp;lt;/code&amp;gt;: The length of the text in pixels.&lt;br /&gt;
&lt;br /&gt;
== UI:AssemblyMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a menu for replacing party members with the assembly.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the boolean value indicating whether the team composition was changed or not, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShopMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Shop menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;goods&amp;lt;/code&amp;gt;: A table of items to be sold.  The format is { Item=InvItem, Price=int } for each item.&lt;br /&gt;
&lt;br /&gt;
== UI:SellMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Sell menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items to sell, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:StorageMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to exchange items in the inventory with.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WithdrawMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to withdraw from.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BankMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Bank menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SpoilsMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Spoils menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;appraisalMap&amp;lt;/code&amp;gt;: A table of mappings from containers to items, in the format of { Box=InvItem , Item=InvItem }&lt;br /&gt;
&lt;br /&gt;
== UI:AppraiseMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Appraisal menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TutorTeamMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Tutor Team menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team member, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:RelearnMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Relearn menu for a character.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:LearnMenu(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Learn menu for a character to replace an existing skill with a new one.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
* &amp;lt;code&amp;gt;skillNum&amp;lt;/code&amp;gt;: The new skill&lt;br /&gt;
&lt;br /&gt;
== UI:ForgetMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Forget menu for a character to forget a skill.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:ShowPromoteMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Promote menu to choose a team member to promote.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team slot, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CanSwapMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SwapMenu(NLua.LuaTable,NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TributeMenu(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowMusicMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Music menu to browse music for the game.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string representing the chosen song, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spoilerUnlocks&amp;lt;/code&amp;gt;: A lua table of strings representing progression flags that have been completed.&lt;br /&gt;
            Any ogg file that uses this tag as a spoiler tag will display in the menu only if the flag has been passed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ShowMusicMenu({&#039;MAIN_001&#039;})&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:DungeonChoice(System.String,RogueEssence.Dungeon.ZoneLoc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask to enter a destintion via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Name of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;dest&amp;lt;/code&amp;gt;: The ZoneLoc location of the destination.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:DungeonChoice(&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0) )&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local choice = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DungeonChoice&lt;br /&gt;
&lt;br /&gt;
== UI:DestinationMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing destinations, showing a preview of restrictions and requirements for dungeons.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the ZoneLoc indicating the chosen destination, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;destinations&amp;lt;/code&amp;gt;: A lua table representing the list of destinations with each element in the format of { Name=string, Dest=ZoneLoc }&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  local all_dests = { { Name=&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, Dest=RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0)} }&lt;br /&gt;
&lt;br /&gt;
  UI:DestinationMenu(all_dests)&lt;br /&gt;
  UI:WaitForChoice()&lt;br /&gt;
  local dest = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DestinationMenu&lt;br /&gt;
&lt;br /&gt;
== UI:ServersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ContactsMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SOSMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:AOKMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:PeersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowConnectMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CurrentActivityMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChooseMonsterMenu(System.String,NLua.LuaTable,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing monsters, showing a preview of their appearances via portrait.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string indicating the chosen species, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The title of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choices&amp;lt;/code&amp;gt;: A lua table of choices with each element being a MonsterID.&lt;br /&gt;
* &amp;lt;code&amp;gt;canMenu&amp;lt;/code&amp;gt;: If set to true, the Menu Button exits the menu if pressed.&lt;br /&gt;
* &amp;lt;code&amp;gt;canCancel&amp;lt;/code&amp;gt;: If set to true, the Cancel Button exits the menu if pressed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;bulbasaur&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;charmander&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;squirtle&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless)&lt;br /&gt;
}&lt;br /&gt;
UI:ChooseMonsterMenu(&amp;quot;Starter?&amp;quot;, choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCustomMenu(RogueEssence.Menu.InteractableMenu) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a custom menu of the caller&#039;s choice.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BeginChoiceMenu(System.String,NLua.LuaTable,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: The question to ask the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local color_choices = {&#039;Red&#039;, &#039;Yellow&#039;, &amp;quot;Green&amp;quot;}&lt;br /&gt;
UI:BeginChoiceMenu(&amp;quot;Which color do you like the most?&amp;quot;, color_choices, 1, 1)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local color = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:BeginMultiPageMenu(System.Int32,System.Int32,System.Int32,System.String,NLua.LuaTable,System.Int32,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-paged choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: Height of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;linesPerPage&amp;lt;/code&amp;gt;: Number of choices per page&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&#039;Choice 1&#039;, &amp;quot;Choice 2&amp;quot;, &amp;quot;Choice 3&amp;quot; }&lt;br /&gt;
UI:BeginMultiPageMenu(24, 24, 196, &amp;quot;All Choices&amp;quot;, choices, 8, 1, #choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local entry = choices[UI:ChoiceResult()]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the result of the last choice menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The result of the choice&lt;br /&gt;
&lt;br /&gt;
== UI:GetChoiceAction(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s complicated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== UI:WaitForChoice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set choice menu and waits for the player&#039;s selection to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;br /&gt;
[[Category:Quick Reference]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1514</id>
		<title>Lua Function Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1514"/>
		<updated>2023-08-20T05:21:25Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* UI:SetSpeakerEmotion(System.String,System.Boolean) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows all script functions that can be called from Lua&lt;br /&gt;
&lt;br /&gt;
== AI:SetCharacterAI(RogueEssence.Ground.GroundChar,System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assign the given scripted AI class to the specified GroundChar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;classpath&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:DisableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disable a given groundchar&#039;s AI processing until its enabled again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:EnableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:SetAIState(RogueEssence.Ground.GroundChar,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharTurnToChar(RogueEssence.Dungeon.Character,RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:LastDungeonResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the result of the last dungeon adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the floor number of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonAssetName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the internal name for the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonDisplayName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the localized name of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharSetEmote(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s emote in a dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DUNGEON:CharSetEmote(chara, &amp;quot;sweating&amp;quot;, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharStartAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharEndAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharEndAnim(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation, and waits until it completed before continue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX in the dungeon map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position in pixels&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local shake = RogueEssence.Content.ScreenMover(0, 12, 50)&lt;br /&gt;
GROUND:MoveScreen(shake)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GroundSave ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saves the game while in ground mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:GroundSave()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetModDiff(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;uuidStr&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentGround ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current zone, also known as dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.Int32,System.Int32,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The index of the ground map in the zone&lt;br /&gt;
* &amp;lt;code&amp;gt;idxentrypoint&amp;lt;/code&amp;gt;: The index of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within a new zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;: The name of the destination zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;stakes&amp;lt;/code&amp;gt;: Decides what happens when the adventure fails/succeeds.&lt;br /&gt;
* &amp;lt;code&amp;gt;recorded&amp;lt;/code&amp;gt;: Record the adventure in a replay&lt;br /&gt;
* &amp;lt;code&amp;gt;silentRestrict&amp;lt;/code&amp;gt;: Make the dungeon restrictions silently&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterDungeon(1, 0, 0, 0, RogueEssence.Data.GameProgress.DungeonStakes.Risk, true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:ContinueDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and continues the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:ContinueDungeon(1, 1, 0, 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EndDungeonRun ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ends the current adventure, sending the player to a specified destination.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt;: The result of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;destzoneid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entryid&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;display&amp;lt;/code&amp;gt;: Display an epitaph marking the end of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;fanfare&amp;lt;/code&amp;gt;: Play a fanfare.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EndDungeonRun(GameProgress.ResultType.Cleared, 0, -1, 1, 0, true, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterRescue ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a rescue adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sosPath&amp;lt;/code&amp;gt;: The path of the sos mail.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterRescue(&amp;quot;RESCUE/INBOX/SOS/example.sosmail&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:AddAOKRemark(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;remarkIndex&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartToTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map and load up the title screen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartRogue(RogueEssence.Data.RogueConfig) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restarts a Roguelocke run based on the configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt;: The configuration of the roguelocke run&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local config = RogueEssence.Data.RogueConfig.RerollFromOther(_DATA.Save.Config)&lt;br /&gt;
GAME:RestartRogue(config)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterZone(System.String,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeOut ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade out the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;white&amp;lt;/code&amp;gt;: Fade to white if set to true.  Fades to black otherwise.&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeOut(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeIn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade into the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeIn(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:MoveCamera ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Centers the camera on a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time it takes ot move to the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;toPlayer&amp;lt;/code&amp;gt;: Destination is in absolute coordinates if false, and relative to the player character if set to true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:MoveCamera(200, 240, 60, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCameraCenter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current center of the camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Loc object representing the center of the camera.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsCameraOnChar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determines whether the camera is centered relative to the player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if the camera is relative to the player, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasSOSMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:HasAOKMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamLeaderIndex ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamLeaderIndex(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the leader to the chosen index within the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;idx&amp;lt;/code&amp;gt;: The index of the team member within the team.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCanSwitch(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prevents or allows the switching of leaders for the save file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;canSwitch&amp;lt;/code&amp;gt;: Set to true to allow switching, set to false to prevent it.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the player party count.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The count of players&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the party as a LuaTable.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of guests currently in the player&#039;s party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of guests&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the guests as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of characters currently in the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the assembly as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The assembly member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerTeam(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerTeam(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerGuest(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerGuest(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team&#039;s guests, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerAssembly(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerAssembly(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the assembly, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterNickname(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to rename&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;: The new name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterNickname(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to get the nickname from&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamName(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;teamname&amp;lt;/code&amp;gt;: The new team name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team&#039;s name&lt;br /&gt;
&lt;br /&gt;
== GAME:CanRelearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can relearn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanForget(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can forget any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanLearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can learn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CheckLevelSkills ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks the levels gained by a character and prompts to learn all skills along the levels.&lt;br /&gt;
Waits until all skills have been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to prompt for learning.&lt;br /&gt;
* &amp;lt;code&amp;gt;oldLevel&amp;lt;/code&amp;gt;: The level that the character leveled up from.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:CheckLevelSkills(player, 5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:TryLearnSkill ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempts to give a new skill to the specified character, prompting to replace an old one if they are full.&lt;br /&gt;
Waits until all the skill has been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:TryLearnSkill(player, &amp;quot;thunder&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:LearnSkill(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character.&lt;br /&gt;
Fails if the character&#039;s skills are full.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
== GAME:ForgetSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removed a skill from the specified character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to forget the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the skill to forget&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterSkill(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character, replacing a specifically chosen slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skillId&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to replace&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the skill from a specified character and specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to get the skill from.&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to get the skill from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ID of the skill in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:CanPromote(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can be promoted to a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the character can be promoted, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetAvailablePromotions(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets a list of possible classes that the character can prmote to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A lua table of PromoteBranch objects&lt;br /&gt;
&lt;br /&gt;
== GAME:PromoteCharacter(RogueEssence.Dungeon.Character,RogueEssence.Data.PromoteBranch,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Promotes a character ot a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to promote&lt;br /&gt;
* &amp;lt;code&amp;gt;branch&amp;lt;/code&amp;gt;: The PromoteBranch to promote with&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
== GAME:FindPlayerItem(System.String,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finds an item in the player&#039;s team and returns its slot within the inventory or among its team&#039;s equips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The item ID to search for.&lt;br /&gt;
* &amp;lt;code&amp;gt;held&amp;lt;/code&amp;gt;: Check equipped items.&lt;br /&gt;
* &amp;lt;code&amp;gt;inv&amp;lt;/code&amp;gt;: Check inventory items.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The InvSlot of the item. Invalid if the item could not be found.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items equipped by players.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items in the bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagLimit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the maximum amount of item the player&#039;s team can carry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The team slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified guest slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The guest slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the item found at the specified slot of the player&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The item found in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove an item from player inventory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen member of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakeGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen guest of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team&#039;s guest list from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of items in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageItemCount(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of a specific item in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: ID of the item ot check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of copies currently in storage&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerStorageItem(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes an item from the storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item to take&lt;br /&gt;
&lt;br /&gt;
== GAME:DepositAll ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes all items in the player team&#039;s bag and equipped items, and deposits them in storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoney ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money the player currently has on hand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoneyBank ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money in the player&#039;s bank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsKeyDown(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a player is making a certain input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keyid&amp;lt;/code&amp;gt;: The ID of the input&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the button is currently pressed.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:CutsceneMode(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the game in cutscene mode. This prevents characters from taking idle action and hides certain UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bon&amp;lt;/code&amp;gt;: If set to true, turns cutscene mode on. If set to false, turns it off.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetDailySeed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the random seed for the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current adventure&#039;s seed.&lt;br /&gt;
&lt;br /&gt;
== GAME:UnlockDungeon(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unlocks a specified dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to unlock.&lt;br /&gt;
&lt;br /&gt;
== GAME:DungeonUnlocked(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a dungeon is unlocked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if unlocked, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:InRogueMode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the current game is in rogue mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if in rogue mode, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasServerSet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetRescueAllowed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks to see if rescue is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if rescues are allowed, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetRescueAllowed(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the value in the player&#039;s save file to determine if they can be rescued or not.&lt;br /&gt;
If rescue is possible on the Save File level, it can still be prevented by the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;allowed&amp;lt;/code&amp;gt;: Set to true to allow the player to be rescued.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:QueueLeaderEvent(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares an event to execute on the next frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:WaitFrames ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for a specified number of frames before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;frames&amp;lt;/code&amp;gt;: The number of frames ot wait.  Each frame is 1/60th of a second.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:WaitFrames(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(RogueElements.Loc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turns a vector (preferably a unit vector) into a cardinal or diagonal direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;: The vector.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(System.Double,System.Double) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenience function to get a vector&#039;s components from lua numbers(doubles)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;: The X value of the vector&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;: The Y value of the vector&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction the vector points to as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:RandomDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generates a random direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
An 8-directional direction.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetupLuaFunctions(RogueEssence.Script.LuaEngine) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setups any extra functionalities for this object written on the lua side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:Hide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to hide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:Unhide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unhides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to unhide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateObject(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;objtype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacter(System.String,System.String,System.Int32,System.Int32,System.String,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chartype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;actionfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;thinkfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveObject(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes an object from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveCharacter(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes a character from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacterFromCharData(System.String,RogueEssence.Dungeon.Character,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creates a ground character, given a dungeon character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name to give the character&lt;br /&gt;
* &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt;: Character data to create from&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction the character will face, defaults to Dir8.Down&lt;br /&gt;
&lt;br /&gt;
== GROUND:RefreshPlayer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reloads the controllable player&#039;s character data to be the current team&#039;s leader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:SetPlayer(RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the controllable player to use new character data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;charData&amp;lt;/code&amp;gt;: The new character data&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerDoSpawn(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make the specified spawner run its spawn method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ground character spawned.&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerSetSpawn(System.String,RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the character to the specified spawner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: The spawner to set the character to, by name&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnChar&amp;lt;/code&amp;gt;: The character to spawn.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToChar(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another character instantly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;turnchar&amp;lt;/code&amp;gt;: The character that is turning.&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: The character to turn to.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToCharAnimated ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face another character over the specified time.&lt;br /&gt;
Clockwise or counter-clockwise are chosen based on the closest direction.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: Character that is turning&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: Character to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: Time spent on each direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, charTo, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:EntTurn(RogueEssence.Ground.GroundEntity,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a ground entity turn to face a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity.  Can be a character or object.&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to face.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Must specify clockwise or counter-clockwise.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;ccw&amp;lt;/code&amp;gt;: false if clockwise, true if counter-clockwise&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurnTo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:TeleportTo(RogueEssence.Ground.GroundEntity,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Repositions the ground entity in a specified location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity to reposition&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to point the entity.  Defaults to Dir8.None, which leaves it untouched.&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move in a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, Dir8.Down, 24, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToMarker ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a ground marker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;mark&amp;lt;/code&amp;gt;: GroundMarker object ot move to&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, marker, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveObjectToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground object move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Ground Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground character move in a direction with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateInDirection(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 24, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground entity move to a position with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateToPosition(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 200, 240, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetEmote(RogueEssence.Ground.GroundChar,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a character emote on the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAnim(RogueEssence.Ground.GroundChar,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndAnim(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an animation and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Animation to play&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAnim(player, &amp;quot;Hurt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAction(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundAction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to perfomr the action&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: The action to perform&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an action and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: Action to perform&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAction(player, action)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetAnim(RogueEssence.Ground.GroundObject,System.Int32,System.Int32,System.Int32,RogueElements.Dir8,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s animation.  After it finishes, it will return to the default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to repeat the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetDefaultAnim(RogueEssence.Ground.GroundObject,System.String,System.Int32,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;animName&amp;lt;/code&amp;gt;: The name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectWaitAnimFrame ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the object to reach a specific frame before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object ot wait on&lt;br /&gt;
* &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: The frame of animation to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:WaitObjectAnim(fountain, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local chara = CH(&#039;PLAYER&#039;)&lt;br /&gt;
local emitter = RogueEssence.Content.FlashEmitter()&lt;br /&gt;
emitter.FadeInTime = 2&lt;br /&gt;
emitter.HoldTime = 4&lt;br /&gt;
emitter.FadeOutTime = 2&lt;br /&gt;
emitter.StartColor = Color(0, 0, 0, 0)&lt;br /&gt;
emitter.Layer = DrawLayer.Top&lt;br /&gt;
emitter.Anim = RogueEssence.Content.BGAnimData(&amp;quot;White&amp;quot;, 0)&lt;br /&gt;
GROUND:PlayVFX(emitter, chara.MapLoc.X, chara.MapLoc.Y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
== GROUND:AddMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a mapstatus to the ground map.  Map statuses only have an aesthetic effect in ground maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes a map status from the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status to remove.&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlaySE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect specifically from the Battle/ subdirectory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitSE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect, and waits for it to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitSE(&amp;quot;Battle/Hit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayFanfare(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitFanfare ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration.&lt;br /&gt;
This function waits for the sound to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitFanfare(&amp;quot;Battle/LevelUp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBGM(System.String,System.Boolean,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a song, replacing the current one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The file name of the song, relative to the Content/Music folder.&lt;br /&gt;
* &amp;lt;code&amp;gt;fade&amp;lt;/code&amp;gt;: Whether to fade the old song out, or start a new one.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the old song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBGM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops playing the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBGM(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:SetBGMVolume(System.Single) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current volume of the song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;: A float value between 0 and 1&lt;br /&gt;
&lt;br /&gt;
== SOUND:GetCurrentSong ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the currently playing song.  If the current song is fading out, gets the next song to be played.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The filename of the song, relative to the Content/Music folder&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocaleCode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current language setting of the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current language, represented by a locale code.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:Format(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: String to format.&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: Arguments&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The formatted string.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:FormatKey(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string given a string key.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: The string key to format&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: string arguments&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocalKeyString(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the string representing a button or key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The input type of the input.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The string representing the button o key the input maps to.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:CreateList(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Builds a single string of comma separated elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;listStrings&amp;lt;/code&amp;gt;: LuaTable of strings containing the elements to build the list from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The combined string containing all elements.&lt;br /&gt;
&lt;br /&gt;
== TASK:StartEntityTask(RogueEssence.Ground.GroundEntity,NLua.LuaFunction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to make an entity run the specified task.&lt;br /&gt;
Will not replace a running task!&lt;br /&gt;
Tasks are run interlocked with the script processing and game processing, and characters cannot run multiple tasks at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
== TASK:StopEntityTask(RogueEssence.Ground.GroundEntity) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to force stop an entity&#039;s current task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity running the task to stop.&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitStartEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes an entity run a specified task, and waits for it to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the specified entity to finish its task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which task we&#039;ll wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitEntityTask(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Runs a task and waits for it to complete.&lt;br /&gt;
Most methods that do not expose themselves to script need to be wrapped with this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitTask(_DUNGEON:AddMapStatus(&amp;quot;rain&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:StartScriptLocalCoroutine(NLua.LuaFunction,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A wrapper around the StartCoroutine method of the GameManager, so lua coroutines can be executed locally to the script context.&lt;br /&gt;
AKA, it will block the script execution while its executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== TASK:BranchCoroutine(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Starts a new coroutine to run parallel to the current execution.&lt;br /&gt;
Useful for performing multiple actions at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to run in parallel&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local coro1 = TASK:BranchCoroutine(GAME:_FadeIn(60))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:JoinCoroutines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for all specified coroutines to finish before continuing execution.&lt;br /&gt;
Often used for coroutines created using TASK:BranchCoroutine()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;coroTable&amp;lt;/code&amp;gt;: A table of coroutines to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:JoinCoroutines({coro1})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitInput ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the player to press a button before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowDialogue(System.String, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the player completes it.&lt;br /&gt;
Takes a string as an argument and optional LuaTable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function exclaim()&lt;br /&gt;
  SOUND:PlayBattleSE(&amp;quot;EVT_Emote_Exclaim_2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Exclaim [script=0]sound!&amp;quot;, { exclaim })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTimedDialogue(System.String, System.Int32, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the specified time has expired. Can take an optional LuaTable containing script calls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTimedDialogue(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextDialogue(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current dialogue text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowVoiceOver ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a voice over, waiting until the player completes it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowVoiceOver(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextVoiceOver(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current voice-over text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:PopUp(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes text pop up in the bottom-left corner. Displays concurrently with any other process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a title text, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTitle(&amp;quot;Hello World!&amp;quot;, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextShowTitle(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shows text in the format of a title drop.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the currently displayed title, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideTitle(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextFadeTitle(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the text set in a title drop.  Requires WaitDialog to actually fade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a chosen background image, with a chosen framerate, at a certain fade time, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowBG(&amp;quot;TestBG&amp;quot;, 3, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ShowBG(System.String,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets an image to display.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current background image, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideBG(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:FadeBG(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares a fade-out of the current image.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeaker(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clears the current speaker, so none is displayed the next time TextDialogue is called.&lt;br /&gt;
This also resets any custom dialogue box positions, portrait positions, and choice positions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: If turned on, the text from the dialogue boxes make sounds.  Default is on.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(System.String,System.Boolean,System.String,System.Int32,System.String,RogueEssence.Data.Gender) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Speaker name.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
* &amp;lt;code&amp;gt;specie&amp;lt;/code&amp;gt;: Species of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt;: Form of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt;: Skin of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;gender&amp;lt;/code&amp;gt;: Gender of the speaker&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Ground.GroundChar,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a ground map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Dungeon.Character,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a dungeon map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerReverse(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reverses the speaker orientation to face left instead of right.  This depends on the boolean passed in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetChoiceLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetChoiceLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog back to default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetBounds(System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;: Height of the box&lt;br /&gt;
&lt;br /&gt;
== UI:ResetBounds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeakerLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSe(System.String, System.Int32) == &lt;br /&gt;
&lt;br /&gt;
Sets the speaker sound effect and the amount of frames in between each sound effect &lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;newSe&amp;lt;/code&amp;gt;: The path to the new sound effect&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect, optional&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:SetSe(&amp;quot;Battle/_UNK_DUN_Water_Drop&amp;quot;, 10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSe ==&lt;br /&gt;
 &lt;br /&gt;
Resets the default speaker sound effect and speak frames&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerTime(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
Sets the amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerEmotion(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
Sets the emotion of the speaker in the dialogue box.&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emo&amp;lt;/code&amp;gt;: Emotion to display&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetSpeakerEmotion(&amp;quot;Pain&amp;quot;, true)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCenter(System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the centering of the text in the textbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;centerH&amp;lt;/code&amp;gt;: Horizontal centering&lt;br /&gt;
* &amp;lt;code&amp;gt;centerV&amp;lt;/code&amp;gt;: Vertical centering&lt;br /&gt;
&lt;br /&gt;
== UI:SetAutoFinish(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the text automatically finish when it shows up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;autoFinish&amp;lt;/code&amp;gt;: Auto-finishes text if true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetAutoFinish(true)&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;The mailbox is empty.&amp;quot;)&lt;br /&gt;
UI:SetAutoFinish(false)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitDialog ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set dialogue box and waits for the player to complete it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitDialog()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:_DummyWait ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instantly break. Used as default/invalid value when returning a yieldable value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceMenuYesNo(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask a question answered by yes or no via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: Question to be asked to the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;bdefaultstono&amp;lt;/code&amp;gt;: Whether the cursor starts on no by default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ChoiceMenuYesNo(&amp;quot;Would you like to continue on?&amp;quot;, false)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
localc continue = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:NameMenu(System.String,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the name input box.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The text to show above the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;: The text to show below the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;maxLength&amp;lt;/code&amp;gt;: The length of the text in pixels.&lt;br /&gt;
&lt;br /&gt;
== UI:AssemblyMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a menu for replacing party members with the assembly.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the boolean value indicating whether the team composition was changed or not, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShopMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Shop menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;goods&amp;lt;/code&amp;gt;: A table of items to be sold.  The format is { Item=InvItem, Price=int } for each item.&lt;br /&gt;
&lt;br /&gt;
== UI:SellMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Sell menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items to sell, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:StorageMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to exchange items in the inventory with.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WithdrawMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to withdraw from.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BankMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Bank menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SpoilsMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Spoils menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;appraisalMap&amp;lt;/code&amp;gt;: A table of mappings from containers to items, in the format of { Box=InvItem , Item=InvItem }&lt;br /&gt;
&lt;br /&gt;
== UI:AppraiseMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Appraisal menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TutorTeamMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Tutor Team menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team member, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:RelearnMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Relearn menu for a character.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:LearnMenu(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Learn menu for a character to replace an existing skill with a new one.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
* &amp;lt;code&amp;gt;skillNum&amp;lt;/code&amp;gt;: The new skill&lt;br /&gt;
&lt;br /&gt;
== UI:ForgetMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Forget menu for a character to forget a skill.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:ShowPromoteMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Promote menu to choose a team member to promote.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team slot, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CanSwapMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SwapMenu(NLua.LuaTable,NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TributeMenu(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowMusicMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Music menu to browse music for the game.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string representing the chosen song, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spoilerUnlocks&amp;lt;/code&amp;gt;: A lua table of strings representing progression flags that have been completed.&lt;br /&gt;
            Any ogg file that uses this tag as a spoiler tag will display in the menu only if the flag has been passed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ShowMusicMenu({&#039;MAIN_001&#039;})&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:DungeonChoice(System.String,RogueEssence.Dungeon.ZoneLoc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask to enter a destintion via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Name of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;dest&amp;lt;/code&amp;gt;: The ZoneLoc location of the destination.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:DungeonChoice(&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0) )&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local choice = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DungeonChoice&lt;br /&gt;
&lt;br /&gt;
== UI:DestinationMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing destinations, showing a preview of restrictions and requirements for dungeons.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the ZoneLoc indicating the chosen destination, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;destinations&amp;lt;/code&amp;gt;: A lua table representing the list of destinations with each element in the format of { Name=string, Dest=ZoneLoc }&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  local all_dests = { { Name=&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, Dest=RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0)} }&lt;br /&gt;
&lt;br /&gt;
  UI:DestinationMenu(all_dests)&lt;br /&gt;
  UI:WaitForChoice()&lt;br /&gt;
  local dest = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DestinationMenu&lt;br /&gt;
&lt;br /&gt;
== UI:ServersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ContactsMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SOSMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:AOKMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:PeersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowConnectMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CurrentActivityMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChooseMonsterMenu(System.String,NLua.LuaTable,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing monsters, showing a preview of their appearances via portrait.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string indicating the chosen species, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The title of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choices&amp;lt;/code&amp;gt;: A lua table of choices with each element being a MonsterID.&lt;br /&gt;
* &amp;lt;code&amp;gt;canMenu&amp;lt;/code&amp;gt;: If set to true, the Menu Button exits the menu if pressed.&lt;br /&gt;
* &amp;lt;code&amp;gt;canCancel&amp;lt;/code&amp;gt;: If set to true, the Cancel Button exits the menu if pressed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;bulbasaur&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;charmander&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;squirtle&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless)&lt;br /&gt;
}&lt;br /&gt;
UI:ChooseMonsterMenu(&amp;quot;Starter?&amp;quot;, choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCustomMenu(RogueEssence.Menu.InteractableMenu) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a custom menu of the caller&#039;s choice.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BeginChoiceMenu(System.String,NLua.LuaTable,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: The question to ask the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local color_choices = {&#039;Red&#039;, &#039;Yellow&#039;, &amp;quot;Green&amp;quot;}&lt;br /&gt;
UI:BeginChoiceMenu(&amp;quot;Which color do you like the most?&amp;quot;, color_choices, 1, 1)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local color = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:BeginMultiPageMenu(System.Int32,System.Int32,System.Int32,System.String,NLua.LuaTable,System.Int32,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-paged choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: Height of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;linesPerPage&amp;lt;/code&amp;gt;: Number of choices per page&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&#039;Choice 1&#039;, &amp;quot;Choice 2&amp;quot;, &amp;quot;Choice 3&amp;quot; }&lt;br /&gt;
UI:BeginMultiPageMenu(24, 24, 196, &amp;quot;All Choices&amp;quot;, choices, 8, 1, #choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local entry = choices[UI:ChoiceResult()]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the result of the last choice menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The result of the choice&lt;br /&gt;
&lt;br /&gt;
== UI:GetChoiceAction(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s complicated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== UI:WaitForChoice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set choice menu and waits for the player&#039;s selection to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;br /&gt;
[[Category:Quick Reference]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1513</id>
		<title>Lua Function Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1513"/>
		<updated>2023-08-20T05:18:17Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* UI:SetAutoFinish(System.Boolean) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows all script functions that can be called from Lua&lt;br /&gt;
&lt;br /&gt;
== AI:SetCharacterAI(RogueEssence.Ground.GroundChar,System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assign the given scripted AI class to the specified GroundChar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;classpath&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:DisableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disable a given groundchar&#039;s AI processing until its enabled again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:EnableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:SetAIState(RogueEssence.Ground.GroundChar,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharTurnToChar(RogueEssence.Dungeon.Character,RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:LastDungeonResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the result of the last dungeon adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the floor number of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonAssetName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the internal name for the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonDisplayName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the localized name of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharSetEmote(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s emote in a dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DUNGEON:CharSetEmote(chara, &amp;quot;sweating&amp;quot;, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharStartAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharEndAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharEndAnim(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation, and waits until it completed before continue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX in the dungeon map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position in pixels&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local shake = RogueEssence.Content.ScreenMover(0, 12, 50)&lt;br /&gt;
GROUND:MoveScreen(shake)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GroundSave ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saves the game while in ground mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:GroundSave()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetModDiff(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;uuidStr&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentGround ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current zone, also known as dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.Int32,System.Int32,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The index of the ground map in the zone&lt;br /&gt;
* &amp;lt;code&amp;gt;idxentrypoint&amp;lt;/code&amp;gt;: The index of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within a new zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;: The name of the destination zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;stakes&amp;lt;/code&amp;gt;: Decides what happens when the adventure fails/succeeds.&lt;br /&gt;
* &amp;lt;code&amp;gt;recorded&amp;lt;/code&amp;gt;: Record the adventure in a replay&lt;br /&gt;
* &amp;lt;code&amp;gt;silentRestrict&amp;lt;/code&amp;gt;: Make the dungeon restrictions silently&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterDungeon(1, 0, 0, 0, RogueEssence.Data.GameProgress.DungeonStakes.Risk, true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:ContinueDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and continues the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:ContinueDungeon(1, 1, 0, 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EndDungeonRun ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ends the current adventure, sending the player to a specified destination.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt;: The result of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;destzoneid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entryid&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;display&amp;lt;/code&amp;gt;: Display an epitaph marking the end of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;fanfare&amp;lt;/code&amp;gt;: Play a fanfare.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EndDungeonRun(GameProgress.ResultType.Cleared, 0, -1, 1, 0, true, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterRescue ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a rescue adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sosPath&amp;lt;/code&amp;gt;: The path of the sos mail.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterRescue(&amp;quot;RESCUE/INBOX/SOS/example.sosmail&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:AddAOKRemark(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;remarkIndex&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartToTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map and load up the title screen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartRogue(RogueEssence.Data.RogueConfig) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restarts a Roguelocke run based on the configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt;: The configuration of the roguelocke run&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local config = RogueEssence.Data.RogueConfig.RerollFromOther(_DATA.Save.Config)&lt;br /&gt;
GAME:RestartRogue(config)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterZone(System.String,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeOut ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade out the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;white&amp;lt;/code&amp;gt;: Fade to white if set to true.  Fades to black otherwise.&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeOut(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeIn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade into the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeIn(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:MoveCamera ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Centers the camera on a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time it takes ot move to the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;toPlayer&amp;lt;/code&amp;gt;: Destination is in absolute coordinates if false, and relative to the player character if set to true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:MoveCamera(200, 240, 60, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCameraCenter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current center of the camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Loc object representing the center of the camera.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsCameraOnChar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determines whether the camera is centered relative to the player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if the camera is relative to the player, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasSOSMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:HasAOKMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamLeaderIndex ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamLeaderIndex(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the leader to the chosen index within the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;idx&amp;lt;/code&amp;gt;: The index of the team member within the team.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCanSwitch(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prevents or allows the switching of leaders for the save file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;canSwitch&amp;lt;/code&amp;gt;: Set to true to allow switching, set to false to prevent it.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the player party count.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The count of players&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the party as a LuaTable.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of guests currently in the player&#039;s party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of guests&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the guests as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of characters currently in the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the assembly as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The assembly member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerTeam(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerTeam(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerGuest(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerGuest(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team&#039;s guests, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerAssembly(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerAssembly(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the assembly, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterNickname(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to rename&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;: The new name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterNickname(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to get the nickname from&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamName(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;teamname&amp;lt;/code&amp;gt;: The new team name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team&#039;s name&lt;br /&gt;
&lt;br /&gt;
== GAME:CanRelearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can relearn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanForget(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can forget any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanLearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can learn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CheckLevelSkills ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks the levels gained by a character and prompts to learn all skills along the levels.&lt;br /&gt;
Waits until all skills have been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to prompt for learning.&lt;br /&gt;
* &amp;lt;code&amp;gt;oldLevel&amp;lt;/code&amp;gt;: The level that the character leveled up from.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:CheckLevelSkills(player, 5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:TryLearnSkill ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempts to give a new skill to the specified character, prompting to replace an old one if they are full.&lt;br /&gt;
Waits until all the skill has been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:TryLearnSkill(player, &amp;quot;thunder&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:LearnSkill(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character.&lt;br /&gt;
Fails if the character&#039;s skills are full.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
== GAME:ForgetSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removed a skill from the specified character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to forget the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the skill to forget&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterSkill(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character, replacing a specifically chosen slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skillId&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to replace&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the skill from a specified character and specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to get the skill from.&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to get the skill from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ID of the skill in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:CanPromote(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can be promoted to a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the character can be promoted, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetAvailablePromotions(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets a list of possible classes that the character can prmote to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A lua table of PromoteBranch objects&lt;br /&gt;
&lt;br /&gt;
== GAME:PromoteCharacter(RogueEssence.Dungeon.Character,RogueEssence.Data.PromoteBranch,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Promotes a character ot a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to promote&lt;br /&gt;
* &amp;lt;code&amp;gt;branch&amp;lt;/code&amp;gt;: The PromoteBranch to promote with&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
== GAME:FindPlayerItem(System.String,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finds an item in the player&#039;s team and returns its slot within the inventory or among its team&#039;s equips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The item ID to search for.&lt;br /&gt;
* &amp;lt;code&amp;gt;held&amp;lt;/code&amp;gt;: Check equipped items.&lt;br /&gt;
* &amp;lt;code&amp;gt;inv&amp;lt;/code&amp;gt;: Check inventory items.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The InvSlot of the item. Invalid if the item could not be found.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items equipped by players.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items in the bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagLimit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the maximum amount of item the player&#039;s team can carry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The team slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified guest slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The guest slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the item found at the specified slot of the player&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The item found in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove an item from player inventory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen member of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakeGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen guest of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team&#039;s guest list from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of items in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageItemCount(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of a specific item in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: ID of the item ot check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of copies currently in storage&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerStorageItem(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes an item from the storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item to take&lt;br /&gt;
&lt;br /&gt;
== GAME:DepositAll ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes all items in the player team&#039;s bag and equipped items, and deposits them in storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoney ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money the player currently has on hand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoneyBank ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money in the player&#039;s bank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsKeyDown(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a player is making a certain input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keyid&amp;lt;/code&amp;gt;: The ID of the input&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the button is currently pressed.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:CutsceneMode(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the game in cutscene mode. This prevents characters from taking idle action and hides certain UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bon&amp;lt;/code&amp;gt;: If set to true, turns cutscene mode on. If set to false, turns it off.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetDailySeed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the random seed for the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current adventure&#039;s seed.&lt;br /&gt;
&lt;br /&gt;
== GAME:UnlockDungeon(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unlocks a specified dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to unlock.&lt;br /&gt;
&lt;br /&gt;
== GAME:DungeonUnlocked(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a dungeon is unlocked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if unlocked, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:InRogueMode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the current game is in rogue mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if in rogue mode, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasServerSet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetRescueAllowed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks to see if rescue is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if rescues are allowed, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetRescueAllowed(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the value in the player&#039;s save file to determine if they can be rescued or not.&lt;br /&gt;
If rescue is possible on the Save File level, it can still be prevented by the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;allowed&amp;lt;/code&amp;gt;: Set to true to allow the player to be rescued.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:QueueLeaderEvent(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares an event to execute on the next frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:WaitFrames ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for a specified number of frames before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;frames&amp;lt;/code&amp;gt;: The number of frames ot wait.  Each frame is 1/60th of a second.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:WaitFrames(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(RogueElements.Loc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turns a vector (preferably a unit vector) into a cardinal or diagonal direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;: The vector.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(System.Double,System.Double) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenience function to get a vector&#039;s components from lua numbers(doubles)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;: The X value of the vector&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;: The Y value of the vector&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction the vector points to as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:RandomDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generates a random direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
An 8-directional direction.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetupLuaFunctions(RogueEssence.Script.LuaEngine) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setups any extra functionalities for this object written on the lua side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:Hide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to hide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:Unhide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unhides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to unhide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateObject(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;objtype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacter(System.String,System.String,System.Int32,System.Int32,System.String,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chartype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;actionfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;thinkfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveObject(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes an object from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveCharacter(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes a character from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacterFromCharData(System.String,RogueEssence.Dungeon.Character,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creates a ground character, given a dungeon character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name to give the character&lt;br /&gt;
* &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt;: Character data to create from&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction the character will face, defaults to Dir8.Down&lt;br /&gt;
&lt;br /&gt;
== GROUND:RefreshPlayer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reloads the controllable player&#039;s character data to be the current team&#039;s leader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:SetPlayer(RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the controllable player to use new character data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;charData&amp;lt;/code&amp;gt;: The new character data&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerDoSpawn(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make the specified spawner run its spawn method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ground character spawned.&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerSetSpawn(System.String,RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the character to the specified spawner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: The spawner to set the character to, by name&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnChar&amp;lt;/code&amp;gt;: The character to spawn.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToChar(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another character instantly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;turnchar&amp;lt;/code&amp;gt;: The character that is turning.&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: The character to turn to.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToCharAnimated ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face another character over the specified time.&lt;br /&gt;
Clockwise or counter-clockwise are chosen based on the closest direction.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: Character that is turning&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: Character to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: Time spent on each direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, charTo, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:EntTurn(RogueEssence.Ground.GroundEntity,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a ground entity turn to face a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity.  Can be a character or object.&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to face.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Must specify clockwise or counter-clockwise.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;ccw&amp;lt;/code&amp;gt;: false if clockwise, true if counter-clockwise&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurnTo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:TeleportTo(RogueEssence.Ground.GroundEntity,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Repositions the ground entity in a specified location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity to reposition&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to point the entity.  Defaults to Dir8.None, which leaves it untouched.&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move in a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, Dir8.Down, 24, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToMarker ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a ground marker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;mark&amp;lt;/code&amp;gt;: GroundMarker object ot move to&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, marker, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveObjectToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground object move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Ground Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground character move in a direction with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateInDirection(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 24, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground entity move to a position with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateToPosition(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 200, 240, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetEmote(RogueEssence.Ground.GroundChar,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a character emote on the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAnim(RogueEssence.Ground.GroundChar,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndAnim(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an animation and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Animation to play&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAnim(player, &amp;quot;Hurt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAction(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundAction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to perfomr the action&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: The action to perform&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an action and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: Action to perform&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAction(player, action)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetAnim(RogueEssence.Ground.GroundObject,System.Int32,System.Int32,System.Int32,RogueElements.Dir8,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s animation.  After it finishes, it will return to the default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to repeat the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetDefaultAnim(RogueEssence.Ground.GroundObject,System.String,System.Int32,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;animName&amp;lt;/code&amp;gt;: The name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectWaitAnimFrame ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the object to reach a specific frame before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object ot wait on&lt;br /&gt;
* &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: The frame of animation to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:WaitObjectAnim(fountain, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local chara = CH(&#039;PLAYER&#039;)&lt;br /&gt;
local emitter = RogueEssence.Content.FlashEmitter()&lt;br /&gt;
emitter.FadeInTime = 2&lt;br /&gt;
emitter.HoldTime = 4&lt;br /&gt;
emitter.FadeOutTime = 2&lt;br /&gt;
emitter.StartColor = Color(0, 0, 0, 0)&lt;br /&gt;
emitter.Layer = DrawLayer.Top&lt;br /&gt;
emitter.Anim = RogueEssence.Content.BGAnimData(&amp;quot;White&amp;quot;, 0)&lt;br /&gt;
GROUND:PlayVFX(emitter, chara.MapLoc.X, chara.MapLoc.Y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
== GROUND:AddMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a mapstatus to the ground map.  Map statuses only have an aesthetic effect in ground maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes a map status from the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status to remove.&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlaySE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect specifically from the Battle/ subdirectory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitSE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect, and waits for it to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitSE(&amp;quot;Battle/Hit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayFanfare(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitFanfare ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration.&lt;br /&gt;
This function waits for the sound to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitFanfare(&amp;quot;Battle/LevelUp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBGM(System.String,System.Boolean,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a song, replacing the current one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The file name of the song, relative to the Content/Music folder.&lt;br /&gt;
* &amp;lt;code&amp;gt;fade&amp;lt;/code&amp;gt;: Whether to fade the old song out, or start a new one.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the old song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBGM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops playing the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBGM(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:SetBGMVolume(System.Single) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current volume of the song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;: A float value between 0 and 1&lt;br /&gt;
&lt;br /&gt;
== SOUND:GetCurrentSong ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the currently playing song.  If the current song is fading out, gets the next song to be played.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The filename of the song, relative to the Content/Music folder&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocaleCode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current language setting of the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current language, represented by a locale code.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:Format(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: String to format.&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: Arguments&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The formatted string.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:FormatKey(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string given a string key.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: The string key to format&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: string arguments&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocalKeyString(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the string representing a button or key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The input type of the input.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The string representing the button o key the input maps to.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:CreateList(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Builds a single string of comma separated elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;listStrings&amp;lt;/code&amp;gt;: LuaTable of strings containing the elements to build the list from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The combined string containing all elements.&lt;br /&gt;
&lt;br /&gt;
== TASK:StartEntityTask(RogueEssence.Ground.GroundEntity,NLua.LuaFunction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to make an entity run the specified task.&lt;br /&gt;
Will not replace a running task!&lt;br /&gt;
Tasks are run interlocked with the script processing and game processing, and characters cannot run multiple tasks at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
== TASK:StopEntityTask(RogueEssence.Ground.GroundEntity) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to force stop an entity&#039;s current task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity running the task to stop.&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitStartEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes an entity run a specified task, and waits for it to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the specified entity to finish its task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which task we&#039;ll wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitEntityTask(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Runs a task and waits for it to complete.&lt;br /&gt;
Most methods that do not expose themselves to script need to be wrapped with this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitTask(_DUNGEON:AddMapStatus(&amp;quot;rain&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:StartScriptLocalCoroutine(NLua.LuaFunction,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A wrapper around the StartCoroutine method of the GameManager, so lua coroutines can be executed locally to the script context.&lt;br /&gt;
AKA, it will block the script execution while its executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== TASK:BranchCoroutine(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Starts a new coroutine to run parallel to the current execution.&lt;br /&gt;
Useful for performing multiple actions at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to run in parallel&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local coro1 = TASK:BranchCoroutine(GAME:_FadeIn(60))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:JoinCoroutines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for all specified coroutines to finish before continuing execution.&lt;br /&gt;
Often used for coroutines created using TASK:BranchCoroutine()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;coroTable&amp;lt;/code&amp;gt;: A table of coroutines to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:JoinCoroutines({coro1})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitInput ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the player to press a button before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowDialogue(System.String, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the player completes it.&lt;br /&gt;
Takes a string as an argument and optional LuaTable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function exclaim()&lt;br /&gt;
  SOUND:PlayBattleSE(&amp;quot;EVT_Emote_Exclaim_2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Exclaim [script=0]sound!&amp;quot;, { exclaim })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTimedDialogue(System.String, System.Int32, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the specified time has expired. Can take an optional LuaTable containing script calls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTimedDialogue(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextDialogue(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current dialogue text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowVoiceOver ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a voice over, waiting until the player completes it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowVoiceOver(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextVoiceOver(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current voice-over text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:PopUp(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes text pop up in the bottom-left corner. Displays concurrently with any other process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a title text, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTitle(&amp;quot;Hello World!&amp;quot;, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextShowTitle(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shows text in the format of a title drop.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the currently displayed title, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideTitle(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextFadeTitle(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the text set in a title drop.  Requires WaitDialog to actually fade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a chosen background image, with a chosen framerate, at a certain fade time, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowBG(&amp;quot;TestBG&amp;quot;, 3, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ShowBG(System.String,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets an image to display.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current background image, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideBG(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:FadeBG(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares a fade-out of the current image.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeaker(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clears the current speaker, so none is displayed the next time TextDialogue is called.&lt;br /&gt;
This also resets any custom dialogue box positions, portrait positions, and choice positions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: If turned on, the text from the dialogue boxes make sounds.  Default is on.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(System.String,System.Boolean,System.String,System.Int32,System.String,RogueEssence.Data.Gender) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Speaker name.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
* &amp;lt;code&amp;gt;specie&amp;lt;/code&amp;gt;: Species of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt;: Form of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt;: Skin of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;gender&amp;lt;/code&amp;gt;: Gender of the speaker&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Ground.GroundChar,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a ground map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Dungeon.Character,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a dungeon map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerReverse(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reverses the speaker orientation to face left instead of right.  This depends on the boolean passed in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetChoiceLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetChoiceLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog back to default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetBounds(System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;: Height of the box&lt;br /&gt;
&lt;br /&gt;
== UI:ResetBounds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeakerLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSe(System.String, System.Int32) == &lt;br /&gt;
&lt;br /&gt;
Sets the speaker sound effect and the amount of frames in between each sound effect &lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;newSe&amp;lt;/code&amp;gt;: The path to the new sound effect&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect, optional&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:SetSe(&amp;quot;Battle/_UNK_DUN_Water_Drop&amp;quot;, 10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSe ==&lt;br /&gt;
 &lt;br /&gt;
Resets the default speaker sound effect and speak frames&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerTime(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
Sets the amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerEmotion(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
Sets the emotion of the speaker in the dialogue box.&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emo&amp;lt;/code&amp;gt;: Emotion to display&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetCenter(System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the centering of the text in the textbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;centerH&amp;lt;/code&amp;gt;: Horizontal centering&lt;br /&gt;
* &amp;lt;code&amp;gt;centerV&amp;lt;/code&amp;gt;: Vertical centering&lt;br /&gt;
&lt;br /&gt;
== UI:SetAutoFinish(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the text automatically finish when it shows up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;autoFinish&amp;lt;/code&amp;gt;: Auto-finishes text if true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:SetAutoFinish(true)&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;The mailbox is empty.&amp;quot;)&lt;br /&gt;
UI:SetAutoFinish(false)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitDialog ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set dialogue box and waits for the player to complete it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitDialog()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:_DummyWait ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instantly break. Used as default/invalid value when returning a yieldable value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceMenuYesNo(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask a question answered by yes or no via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: Question to be asked to the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;bdefaultstono&amp;lt;/code&amp;gt;: Whether the cursor starts on no by default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ChoiceMenuYesNo(&amp;quot;Would you like to continue on?&amp;quot;, false)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
localc continue = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:NameMenu(System.String,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the name input box.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The text to show above the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;: The text to show below the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;maxLength&amp;lt;/code&amp;gt;: The length of the text in pixels.&lt;br /&gt;
&lt;br /&gt;
== UI:AssemblyMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a menu for replacing party members with the assembly.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the boolean value indicating whether the team composition was changed or not, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShopMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Shop menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;goods&amp;lt;/code&amp;gt;: A table of items to be sold.  The format is { Item=InvItem, Price=int } for each item.&lt;br /&gt;
&lt;br /&gt;
== UI:SellMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Sell menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items to sell, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:StorageMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to exchange items in the inventory with.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WithdrawMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to withdraw from.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BankMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Bank menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SpoilsMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Spoils menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;appraisalMap&amp;lt;/code&amp;gt;: A table of mappings from containers to items, in the format of { Box=InvItem , Item=InvItem }&lt;br /&gt;
&lt;br /&gt;
== UI:AppraiseMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Appraisal menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TutorTeamMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Tutor Team menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team member, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:RelearnMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Relearn menu for a character.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:LearnMenu(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Learn menu for a character to replace an existing skill with a new one.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
* &amp;lt;code&amp;gt;skillNum&amp;lt;/code&amp;gt;: The new skill&lt;br /&gt;
&lt;br /&gt;
== UI:ForgetMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Forget menu for a character to forget a skill.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:ShowPromoteMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Promote menu to choose a team member to promote.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team slot, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CanSwapMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SwapMenu(NLua.LuaTable,NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TributeMenu(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowMusicMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Music menu to browse music for the game.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string representing the chosen song, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spoilerUnlocks&amp;lt;/code&amp;gt;: A lua table of strings representing progression flags that have been completed.&lt;br /&gt;
            Any ogg file that uses this tag as a spoiler tag will display in the menu only if the flag has been passed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ShowMusicMenu({&#039;MAIN_001&#039;})&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:DungeonChoice(System.String,RogueEssence.Dungeon.ZoneLoc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask to enter a destintion via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Name of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;dest&amp;lt;/code&amp;gt;: The ZoneLoc location of the destination.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:DungeonChoice(&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0) )&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local choice = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DungeonChoice&lt;br /&gt;
&lt;br /&gt;
== UI:DestinationMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing destinations, showing a preview of restrictions and requirements for dungeons.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the ZoneLoc indicating the chosen destination, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;destinations&amp;lt;/code&amp;gt;: A lua table representing the list of destinations with each element in the format of { Name=string, Dest=ZoneLoc }&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  local all_dests = { { Name=&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, Dest=RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0)} }&lt;br /&gt;
&lt;br /&gt;
  UI:DestinationMenu(all_dests)&lt;br /&gt;
  UI:WaitForChoice()&lt;br /&gt;
  local dest = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DestinationMenu&lt;br /&gt;
&lt;br /&gt;
== UI:ServersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ContactsMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SOSMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:AOKMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:PeersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowConnectMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CurrentActivityMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChooseMonsterMenu(System.String,NLua.LuaTable,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing monsters, showing a preview of their appearances via portrait.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string indicating the chosen species, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The title of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choices&amp;lt;/code&amp;gt;: A lua table of choices with each element being a MonsterID.&lt;br /&gt;
* &amp;lt;code&amp;gt;canMenu&amp;lt;/code&amp;gt;: If set to true, the Menu Button exits the menu if pressed.&lt;br /&gt;
* &amp;lt;code&amp;gt;canCancel&amp;lt;/code&amp;gt;: If set to true, the Cancel Button exits the menu if pressed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;bulbasaur&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;charmander&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;squirtle&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless)&lt;br /&gt;
}&lt;br /&gt;
UI:ChooseMonsterMenu(&amp;quot;Starter?&amp;quot;, choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCustomMenu(RogueEssence.Menu.InteractableMenu) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a custom menu of the caller&#039;s choice.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BeginChoiceMenu(System.String,NLua.LuaTable,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: The question to ask the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local color_choices = {&#039;Red&#039;, &#039;Yellow&#039;, &amp;quot;Green&amp;quot;}&lt;br /&gt;
UI:BeginChoiceMenu(&amp;quot;Which color do you like the most?&amp;quot;, color_choices, 1, 1)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local color = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:BeginMultiPageMenu(System.Int32,System.Int32,System.Int32,System.String,NLua.LuaTable,System.Int32,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-paged choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: Height of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;linesPerPage&amp;lt;/code&amp;gt;: Number of choices per page&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&#039;Choice 1&#039;, &amp;quot;Choice 2&amp;quot;, &amp;quot;Choice 3&amp;quot; }&lt;br /&gt;
UI:BeginMultiPageMenu(24, 24, 196, &amp;quot;All Choices&amp;quot;, choices, 8, 1, #choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local entry = choices[UI:ChoiceResult()]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the result of the last choice menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The result of the choice&lt;br /&gt;
&lt;br /&gt;
== UI:GetChoiceAction(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s complicated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== UI:WaitForChoice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set choice menu and waits for the player&#039;s selection to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;br /&gt;
[[Category:Quick Reference]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1512</id>
		<title>Lua Function Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1512"/>
		<updated>2023-08-20T05:15:55Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* UI:ChoiceMenuYesNo(System.String,System.Boolean) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows all script functions that can be called from Lua&lt;br /&gt;
&lt;br /&gt;
== AI:SetCharacterAI(RogueEssence.Ground.GroundChar,System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assign the given scripted AI class to the specified GroundChar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;classpath&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:DisableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disable a given groundchar&#039;s AI processing until its enabled again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:EnableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:SetAIState(RogueEssence.Ground.GroundChar,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharTurnToChar(RogueEssence.Dungeon.Character,RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:LastDungeonResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the result of the last dungeon adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the floor number of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonAssetName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the internal name for the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonDisplayName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the localized name of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharSetEmote(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s emote in a dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DUNGEON:CharSetEmote(chara, &amp;quot;sweating&amp;quot;, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharStartAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharEndAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharEndAnim(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation, and waits until it completed before continue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX in the dungeon map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position in pixels&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local shake = RogueEssence.Content.ScreenMover(0, 12, 50)&lt;br /&gt;
GROUND:MoveScreen(shake)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GroundSave ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saves the game while in ground mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:GroundSave()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetModDiff(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;uuidStr&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentGround ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current zone, also known as dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.Int32,System.Int32,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The index of the ground map in the zone&lt;br /&gt;
* &amp;lt;code&amp;gt;idxentrypoint&amp;lt;/code&amp;gt;: The index of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within a new zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;: The name of the destination zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;stakes&amp;lt;/code&amp;gt;: Decides what happens when the adventure fails/succeeds.&lt;br /&gt;
* &amp;lt;code&amp;gt;recorded&amp;lt;/code&amp;gt;: Record the adventure in a replay&lt;br /&gt;
* &amp;lt;code&amp;gt;silentRestrict&amp;lt;/code&amp;gt;: Make the dungeon restrictions silently&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterDungeon(1, 0, 0, 0, RogueEssence.Data.GameProgress.DungeonStakes.Risk, true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:ContinueDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and continues the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:ContinueDungeon(1, 1, 0, 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EndDungeonRun ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ends the current adventure, sending the player to a specified destination.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt;: The result of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;destzoneid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entryid&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;display&amp;lt;/code&amp;gt;: Display an epitaph marking the end of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;fanfare&amp;lt;/code&amp;gt;: Play a fanfare.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EndDungeonRun(GameProgress.ResultType.Cleared, 0, -1, 1, 0, true, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterRescue ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a rescue adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sosPath&amp;lt;/code&amp;gt;: The path of the sos mail.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterRescue(&amp;quot;RESCUE/INBOX/SOS/example.sosmail&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:AddAOKRemark(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;remarkIndex&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartToTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map and load up the title screen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartRogue(RogueEssence.Data.RogueConfig) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restarts a Roguelocke run based on the configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt;: The configuration of the roguelocke run&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local config = RogueEssence.Data.RogueConfig.RerollFromOther(_DATA.Save.Config)&lt;br /&gt;
GAME:RestartRogue(config)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterZone(System.String,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeOut ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade out the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;white&amp;lt;/code&amp;gt;: Fade to white if set to true.  Fades to black otherwise.&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeOut(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeIn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade into the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeIn(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:MoveCamera ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Centers the camera on a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time it takes ot move to the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;toPlayer&amp;lt;/code&amp;gt;: Destination is in absolute coordinates if false, and relative to the player character if set to true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:MoveCamera(200, 240, 60, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCameraCenter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current center of the camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Loc object representing the center of the camera.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsCameraOnChar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determines whether the camera is centered relative to the player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if the camera is relative to the player, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasSOSMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:HasAOKMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamLeaderIndex ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamLeaderIndex(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the leader to the chosen index within the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;idx&amp;lt;/code&amp;gt;: The index of the team member within the team.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCanSwitch(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prevents or allows the switching of leaders for the save file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;canSwitch&amp;lt;/code&amp;gt;: Set to true to allow switching, set to false to prevent it.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the player party count.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The count of players&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the party as a LuaTable.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of guests currently in the player&#039;s party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of guests&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the guests as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of characters currently in the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the assembly as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The assembly member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerTeam(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerTeam(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerGuest(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerGuest(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team&#039;s guests, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerAssembly(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerAssembly(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the assembly, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterNickname(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to rename&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;: The new name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterNickname(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to get the nickname from&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamName(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;teamname&amp;lt;/code&amp;gt;: The new team name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team&#039;s name&lt;br /&gt;
&lt;br /&gt;
== GAME:CanRelearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can relearn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanForget(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can forget any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanLearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can learn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CheckLevelSkills ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks the levels gained by a character and prompts to learn all skills along the levels.&lt;br /&gt;
Waits until all skills have been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to prompt for learning.&lt;br /&gt;
* &amp;lt;code&amp;gt;oldLevel&amp;lt;/code&amp;gt;: The level that the character leveled up from.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:CheckLevelSkills(player, 5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:TryLearnSkill ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempts to give a new skill to the specified character, prompting to replace an old one if they are full.&lt;br /&gt;
Waits until all the skill has been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:TryLearnSkill(player, &amp;quot;thunder&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:LearnSkill(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character.&lt;br /&gt;
Fails if the character&#039;s skills are full.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
== GAME:ForgetSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removed a skill from the specified character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to forget the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the skill to forget&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterSkill(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character, replacing a specifically chosen slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skillId&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to replace&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the skill from a specified character and specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to get the skill from.&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to get the skill from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ID of the skill in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:CanPromote(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can be promoted to a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the character can be promoted, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetAvailablePromotions(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets a list of possible classes that the character can prmote to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A lua table of PromoteBranch objects&lt;br /&gt;
&lt;br /&gt;
== GAME:PromoteCharacter(RogueEssence.Dungeon.Character,RogueEssence.Data.PromoteBranch,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Promotes a character ot a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to promote&lt;br /&gt;
* &amp;lt;code&amp;gt;branch&amp;lt;/code&amp;gt;: The PromoteBranch to promote with&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
== GAME:FindPlayerItem(System.String,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finds an item in the player&#039;s team and returns its slot within the inventory or among its team&#039;s equips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The item ID to search for.&lt;br /&gt;
* &amp;lt;code&amp;gt;held&amp;lt;/code&amp;gt;: Check equipped items.&lt;br /&gt;
* &amp;lt;code&amp;gt;inv&amp;lt;/code&amp;gt;: Check inventory items.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The InvSlot of the item. Invalid if the item could not be found.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items equipped by players.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items in the bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagLimit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the maximum amount of item the player&#039;s team can carry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The team slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified guest slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The guest slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the item found at the specified slot of the player&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The item found in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove an item from player inventory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen member of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakeGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen guest of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team&#039;s guest list from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of items in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageItemCount(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of a specific item in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: ID of the item ot check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of copies currently in storage&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerStorageItem(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes an item from the storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item to take&lt;br /&gt;
&lt;br /&gt;
== GAME:DepositAll ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes all items in the player team&#039;s bag and equipped items, and deposits them in storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoney ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money the player currently has on hand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoneyBank ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money in the player&#039;s bank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsKeyDown(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a player is making a certain input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keyid&amp;lt;/code&amp;gt;: The ID of the input&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the button is currently pressed.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:CutsceneMode(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the game in cutscene mode. This prevents characters from taking idle action and hides certain UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bon&amp;lt;/code&amp;gt;: If set to true, turns cutscene mode on. If set to false, turns it off.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetDailySeed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the random seed for the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current adventure&#039;s seed.&lt;br /&gt;
&lt;br /&gt;
== GAME:UnlockDungeon(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unlocks a specified dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to unlock.&lt;br /&gt;
&lt;br /&gt;
== GAME:DungeonUnlocked(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a dungeon is unlocked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if unlocked, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:InRogueMode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the current game is in rogue mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if in rogue mode, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasServerSet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetRescueAllowed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks to see if rescue is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if rescues are allowed, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetRescueAllowed(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the value in the player&#039;s save file to determine if they can be rescued or not.&lt;br /&gt;
If rescue is possible on the Save File level, it can still be prevented by the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;allowed&amp;lt;/code&amp;gt;: Set to true to allow the player to be rescued.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:QueueLeaderEvent(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares an event to execute on the next frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:WaitFrames ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for a specified number of frames before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;frames&amp;lt;/code&amp;gt;: The number of frames ot wait.  Each frame is 1/60th of a second.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:WaitFrames(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(RogueElements.Loc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turns a vector (preferably a unit vector) into a cardinal or diagonal direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;: The vector.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(System.Double,System.Double) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenience function to get a vector&#039;s components from lua numbers(doubles)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;: The X value of the vector&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;: The Y value of the vector&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction the vector points to as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:RandomDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generates a random direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
An 8-directional direction.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetupLuaFunctions(RogueEssence.Script.LuaEngine) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setups any extra functionalities for this object written on the lua side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:Hide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to hide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:Unhide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unhides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to unhide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateObject(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;objtype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacter(System.String,System.String,System.Int32,System.Int32,System.String,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chartype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;actionfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;thinkfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveObject(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes an object from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveCharacter(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes a character from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacterFromCharData(System.String,RogueEssence.Dungeon.Character,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creates a ground character, given a dungeon character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name to give the character&lt;br /&gt;
* &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt;: Character data to create from&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction the character will face, defaults to Dir8.Down&lt;br /&gt;
&lt;br /&gt;
== GROUND:RefreshPlayer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reloads the controllable player&#039;s character data to be the current team&#039;s leader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:SetPlayer(RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the controllable player to use new character data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;charData&amp;lt;/code&amp;gt;: The new character data&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerDoSpawn(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make the specified spawner run its spawn method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ground character spawned.&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerSetSpawn(System.String,RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the character to the specified spawner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: The spawner to set the character to, by name&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnChar&amp;lt;/code&amp;gt;: The character to spawn.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToChar(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another character instantly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;turnchar&amp;lt;/code&amp;gt;: The character that is turning.&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: The character to turn to.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToCharAnimated ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face another character over the specified time.&lt;br /&gt;
Clockwise or counter-clockwise are chosen based on the closest direction.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: Character that is turning&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: Character to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: Time spent on each direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, charTo, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:EntTurn(RogueEssence.Ground.GroundEntity,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a ground entity turn to face a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity.  Can be a character or object.&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to face.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Must specify clockwise or counter-clockwise.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;ccw&amp;lt;/code&amp;gt;: false if clockwise, true if counter-clockwise&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurnTo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:TeleportTo(RogueEssence.Ground.GroundEntity,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Repositions the ground entity in a specified location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity to reposition&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to point the entity.  Defaults to Dir8.None, which leaves it untouched.&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move in a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, Dir8.Down, 24, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToMarker ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a ground marker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;mark&amp;lt;/code&amp;gt;: GroundMarker object ot move to&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, marker, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveObjectToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground object move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Ground Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground character move in a direction with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateInDirection(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 24, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground entity move to a position with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateToPosition(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 200, 240, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetEmote(RogueEssence.Ground.GroundChar,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a character emote on the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAnim(RogueEssence.Ground.GroundChar,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndAnim(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an animation and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Animation to play&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAnim(player, &amp;quot;Hurt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAction(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundAction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to perfomr the action&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: The action to perform&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an action and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: Action to perform&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAction(player, action)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetAnim(RogueEssence.Ground.GroundObject,System.Int32,System.Int32,System.Int32,RogueElements.Dir8,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s animation.  After it finishes, it will return to the default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to repeat the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetDefaultAnim(RogueEssence.Ground.GroundObject,System.String,System.Int32,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;animName&amp;lt;/code&amp;gt;: The name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectWaitAnimFrame ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the object to reach a specific frame before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object ot wait on&lt;br /&gt;
* &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: The frame of animation to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:WaitObjectAnim(fountain, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local chara = CH(&#039;PLAYER&#039;)&lt;br /&gt;
local emitter = RogueEssence.Content.FlashEmitter()&lt;br /&gt;
emitter.FadeInTime = 2&lt;br /&gt;
emitter.HoldTime = 4&lt;br /&gt;
emitter.FadeOutTime = 2&lt;br /&gt;
emitter.StartColor = Color(0, 0, 0, 0)&lt;br /&gt;
emitter.Layer = DrawLayer.Top&lt;br /&gt;
emitter.Anim = RogueEssence.Content.BGAnimData(&amp;quot;White&amp;quot;, 0)&lt;br /&gt;
GROUND:PlayVFX(emitter, chara.MapLoc.X, chara.MapLoc.Y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
== GROUND:AddMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a mapstatus to the ground map.  Map statuses only have an aesthetic effect in ground maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes a map status from the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status to remove.&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlaySE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect specifically from the Battle/ subdirectory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitSE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect, and waits for it to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitSE(&amp;quot;Battle/Hit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayFanfare(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitFanfare ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration.&lt;br /&gt;
This function waits for the sound to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitFanfare(&amp;quot;Battle/LevelUp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBGM(System.String,System.Boolean,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a song, replacing the current one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The file name of the song, relative to the Content/Music folder.&lt;br /&gt;
* &amp;lt;code&amp;gt;fade&amp;lt;/code&amp;gt;: Whether to fade the old song out, or start a new one.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the old song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBGM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops playing the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBGM(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:SetBGMVolume(System.Single) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current volume of the song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;: A float value between 0 and 1&lt;br /&gt;
&lt;br /&gt;
== SOUND:GetCurrentSong ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the currently playing song.  If the current song is fading out, gets the next song to be played.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The filename of the song, relative to the Content/Music folder&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocaleCode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current language setting of the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current language, represented by a locale code.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:Format(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: String to format.&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: Arguments&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The formatted string.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:FormatKey(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string given a string key.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: The string key to format&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: string arguments&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocalKeyString(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the string representing a button or key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The input type of the input.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The string representing the button o key the input maps to.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:CreateList(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Builds a single string of comma separated elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;listStrings&amp;lt;/code&amp;gt;: LuaTable of strings containing the elements to build the list from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The combined string containing all elements.&lt;br /&gt;
&lt;br /&gt;
== TASK:StartEntityTask(RogueEssence.Ground.GroundEntity,NLua.LuaFunction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to make an entity run the specified task.&lt;br /&gt;
Will not replace a running task!&lt;br /&gt;
Tasks are run interlocked with the script processing and game processing, and characters cannot run multiple tasks at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
== TASK:StopEntityTask(RogueEssence.Ground.GroundEntity) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to force stop an entity&#039;s current task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity running the task to stop.&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitStartEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes an entity run a specified task, and waits for it to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the specified entity to finish its task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which task we&#039;ll wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitEntityTask(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Runs a task and waits for it to complete.&lt;br /&gt;
Most methods that do not expose themselves to script need to be wrapped with this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitTask(_DUNGEON:AddMapStatus(&amp;quot;rain&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:StartScriptLocalCoroutine(NLua.LuaFunction,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A wrapper around the StartCoroutine method of the GameManager, so lua coroutines can be executed locally to the script context.&lt;br /&gt;
AKA, it will block the script execution while its executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== TASK:BranchCoroutine(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Starts a new coroutine to run parallel to the current execution.&lt;br /&gt;
Useful for performing multiple actions at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to run in parallel&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local coro1 = TASK:BranchCoroutine(GAME:_FadeIn(60))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:JoinCoroutines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for all specified coroutines to finish before continuing execution.&lt;br /&gt;
Often used for coroutines created using TASK:BranchCoroutine()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;coroTable&amp;lt;/code&amp;gt;: A table of coroutines to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:JoinCoroutines({coro1})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitInput ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the player to press a button before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowDialogue(System.String, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the player completes it.&lt;br /&gt;
Takes a string as an argument and optional LuaTable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function exclaim()&lt;br /&gt;
  SOUND:PlayBattleSE(&amp;quot;EVT_Emote_Exclaim_2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Exclaim [script=0]sound!&amp;quot;, { exclaim })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTimedDialogue(System.String, System.Int32, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the specified time has expired. Can take an optional LuaTable containing script calls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTimedDialogue(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextDialogue(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current dialogue text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowVoiceOver ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a voice over, waiting until the player completes it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowVoiceOver(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextVoiceOver(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current voice-over text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:PopUp(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes text pop up in the bottom-left corner. Displays concurrently with any other process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a title text, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTitle(&amp;quot;Hello World!&amp;quot;, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextShowTitle(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shows text in the format of a title drop.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the currently displayed title, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideTitle(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextFadeTitle(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the text set in a title drop.  Requires WaitDialog to actually fade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a chosen background image, with a chosen framerate, at a certain fade time, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowBG(&amp;quot;TestBG&amp;quot;, 3, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ShowBG(System.String,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets an image to display.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current background image, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideBG(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:FadeBG(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares a fade-out of the current image.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeaker(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clears the current speaker, so none is displayed the next time TextDialogue is called.&lt;br /&gt;
This also resets any custom dialogue box positions, portrait positions, and choice positions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: If turned on, the text from the dialogue boxes make sounds.  Default is on.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(System.String,System.Boolean,System.String,System.Int32,System.String,RogueEssence.Data.Gender) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Speaker name.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
* &amp;lt;code&amp;gt;specie&amp;lt;/code&amp;gt;: Species of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt;: Form of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt;: Skin of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;gender&amp;lt;/code&amp;gt;: Gender of the speaker&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Ground.GroundChar,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a ground map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Dungeon.Character,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a dungeon map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerReverse(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reverses the speaker orientation to face left instead of right.  This depends on the boolean passed in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetChoiceLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetChoiceLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog back to default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetBounds(System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;: Height of the box&lt;br /&gt;
&lt;br /&gt;
== UI:ResetBounds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeakerLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSe(System.String, System.Int32) == &lt;br /&gt;
&lt;br /&gt;
Sets the speaker sound effect and the amount of frames in between each sound effect &lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;newSe&amp;lt;/code&amp;gt;: The path to the new sound effect&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect, optional&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:SetSe(&amp;quot;Battle/_UNK_DUN_Water_Drop&amp;quot;, 10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSe ==&lt;br /&gt;
 &lt;br /&gt;
Resets the default speaker sound effect and speak frames&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerTime(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
Sets the amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerEmotion(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
Sets the emotion of the speaker in the dialogue box.&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emo&amp;lt;/code&amp;gt;: Emotion to display&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetCenter(System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the centering of the text in the textbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;centerH&amp;lt;/code&amp;gt;: Horizontal centering&lt;br /&gt;
* &amp;lt;code&amp;gt;centerV&amp;lt;/code&amp;gt;: Vertical centering&lt;br /&gt;
&lt;br /&gt;
== UI:SetAutoFinish(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the text automatically finish when it shows up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;autoFinish&amp;lt;/code&amp;gt;: Auto-finishes text if true.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitDialog ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set dialogue box and waits for the player to complete it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitDialog()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:_DummyWait ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instantly break. Used as default/invalid value when returning a yieldable value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceMenuYesNo(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask a question answered by yes or no via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: Question to be asked to the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;bdefaultstono&amp;lt;/code&amp;gt;: Whether the cursor starts on no by default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ChoiceMenuYesNo(&amp;quot;Would you like to continue on?&amp;quot;, false)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
localc continue = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:NameMenu(System.String,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the name input box.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The text to show above the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;: The text to show below the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;maxLength&amp;lt;/code&amp;gt;: The length of the text in pixels.&lt;br /&gt;
&lt;br /&gt;
== UI:AssemblyMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a menu for replacing party members with the assembly.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the boolean value indicating whether the team composition was changed or not, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShopMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Shop menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;goods&amp;lt;/code&amp;gt;: A table of items to be sold.  The format is { Item=InvItem, Price=int } for each item.&lt;br /&gt;
&lt;br /&gt;
== UI:SellMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Sell menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items to sell, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:StorageMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to exchange items in the inventory with.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WithdrawMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to withdraw from.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BankMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Bank menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SpoilsMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Spoils menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;appraisalMap&amp;lt;/code&amp;gt;: A table of mappings from containers to items, in the format of { Box=InvItem , Item=InvItem }&lt;br /&gt;
&lt;br /&gt;
== UI:AppraiseMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Appraisal menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TutorTeamMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Tutor Team menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team member, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:RelearnMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Relearn menu for a character.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:LearnMenu(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Learn menu for a character to replace an existing skill with a new one.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
* &amp;lt;code&amp;gt;skillNum&amp;lt;/code&amp;gt;: The new skill&lt;br /&gt;
&lt;br /&gt;
== UI:ForgetMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Forget menu for a character to forget a skill.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:ShowPromoteMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Promote menu to choose a team member to promote.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team slot, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CanSwapMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SwapMenu(NLua.LuaTable,NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TributeMenu(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowMusicMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Music menu to browse music for the game.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string representing the chosen song, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spoilerUnlocks&amp;lt;/code&amp;gt;: A lua table of strings representing progression flags that have been completed.&lt;br /&gt;
            Any ogg file that uses this tag as a spoiler tag will display in the menu only if the flag has been passed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ShowMusicMenu({&#039;MAIN_001&#039;})&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:DungeonChoice(System.String,RogueEssence.Dungeon.ZoneLoc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask to enter a destintion via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Name of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;dest&amp;lt;/code&amp;gt;: The ZoneLoc location of the destination.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:DungeonChoice(&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0) )&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local choice = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DungeonChoice&lt;br /&gt;
&lt;br /&gt;
== UI:DestinationMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing destinations, showing a preview of restrictions and requirements for dungeons.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the ZoneLoc indicating the chosen destination, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;destinations&amp;lt;/code&amp;gt;: A lua table representing the list of destinations with each element in the format of { Name=string, Dest=ZoneLoc }&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  local all_dests = { { Name=&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, Dest=RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0)} }&lt;br /&gt;
&lt;br /&gt;
  UI:DestinationMenu(all_dests)&lt;br /&gt;
  UI:WaitForChoice()&lt;br /&gt;
  local dest = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DestinationMenu&lt;br /&gt;
&lt;br /&gt;
== UI:ServersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ContactsMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SOSMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:AOKMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:PeersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowConnectMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CurrentActivityMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChooseMonsterMenu(System.String,NLua.LuaTable,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing monsters, showing a preview of their appearances via portrait.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string indicating the chosen species, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The title of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choices&amp;lt;/code&amp;gt;: A lua table of choices with each element being a MonsterID.&lt;br /&gt;
* &amp;lt;code&amp;gt;canMenu&amp;lt;/code&amp;gt;: If set to true, the Menu Button exits the menu if pressed.&lt;br /&gt;
* &amp;lt;code&amp;gt;canCancel&amp;lt;/code&amp;gt;: If set to true, the Cancel Button exits the menu if pressed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;bulbasaur&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;charmander&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;squirtle&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless)&lt;br /&gt;
}&lt;br /&gt;
UI:ChooseMonsterMenu(&amp;quot;Starter?&amp;quot;, choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCustomMenu(RogueEssence.Menu.InteractableMenu) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a custom menu of the caller&#039;s choice.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BeginChoiceMenu(System.String,NLua.LuaTable,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: The question to ask the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local color_choices = {&#039;Red&#039;, &#039;Yellow&#039;, &amp;quot;Green&amp;quot;}&lt;br /&gt;
UI:BeginChoiceMenu(&amp;quot;Which color do you like the most?&amp;quot;, color_choices, 1, 1)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local color = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:BeginMultiPageMenu(System.Int32,System.Int32,System.Int32,System.String,NLua.LuaTable,System.Int32,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-paged choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: Height of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;linesPerPage&amp;lt;/code&amp;gt;: Number of choices per page&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&#039;Choice 1&#039;, &amp;quot;Choice 2&amp;quot;, &amp;quot;Choice 3&amp;quot; }&lt;br /&gt;
UI:BeginMultiPageMenu(24, 24, 196, &amp;quot;All Choices&amp;quot;, choices, 8, 1, #choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local entry = choices[UI:ChoiceResult()]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the result of the last choice menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The result of the choice&lt;br /&gt;
&lt;br /&gt;
== UI:GetChoiceAction(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s complicated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== UI:WaitForChoice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set choice menu and waits for the player&#039;s selection to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;br /&gt;
[[Category:Quick Reference]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1511</id>
		<title>Lua Function Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1511"/>
		<updated>2023-08-20T04:20:18Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* Arguments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows all script functions that can be called from Lua&lt;br /&gt;
&lt;br /&gt;
== AI:SetCharacterAI(RogueEssence.Ground.GroundChar,System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assign the given scripted AI class to the specified GroundChar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;classpath&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:DisableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disable a given groundchar&#039;s AI processing until its enabled again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:EnableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:SetAIState(RogueEssence.Ground.GroundChar,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharTurnToChar(RogueEssence.Dungeon.Character,RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:LastDungeonResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the result of the last dungeon adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the floor number of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonAssetName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the internal name for the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonDisplayName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the localized name of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharSetEmote(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s emote in a dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DUNGEON:CharSetEmote(chara, &amp;quot;sweating&amp;quot;, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharStartAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharEndAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharEndAnim(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation, and waits until it completed before continue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX in the dungeon map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position in pixels&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local shake = RogueEssence.Content.ScreenMover(0, 12, 50)&lt;br /&gt;
GROUND:MoveScreen(shake)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GroundSave ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saves the game while in ground mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:GroundSave()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetModDiff(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;uuidStr&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentGround ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current zone, also known as dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.Int32,System.Int32,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The index of the ground map in the zone&lt;br /&gt;
* &amp;lt;code&amp;gt;idxentrypoint&amp;lt;/code&amp;gt;: The index of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within a new zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;: The name of the destination zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;stakes&amp;lt;/code&amp;gt;: Decides what happens when the adventure fails/succeeds.&lt;br /&gt;
* &amp;lt;code&amp;gt;recorded&amp;lt;/code&amp;gt;: Record the adventure in a replay&lt;br /&gt;
* &amp;lt;code&amp;gt;silentRestrict&amp;lt;/code&amp;gt;: Make the dungeon restrictions silently&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterDungeon(1, 0, 0, 0, RogueEssence.Data.GameProgress.DungeonStakes.Risk, true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:ContinueDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and continues the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:ContinueDungeon(1, 1, 0, 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EndDungeonRun ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ends the current adventure, sending the player to a specified destination.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt;: The result of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;destzoneid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entryid&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;display&amp;lt;/code&amp;gt;: Display an epitaph marking the end of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;fanfare&amp;lt;/code&amp;gt;: Play a fanfare.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EndDungeonRun(GameProgress.ResultType.Cleared, 0, -1, 1, 0, true, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterRescue ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a rescue adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sosPath&amp;lt;/code&amp;gt;: The path of the sos mail.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterRescue(&amp;quot;RESCUE/INBOX/SOS/example.sosmail&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:AddAOKRemark(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;remarkIndex&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartToTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map and load up the title screen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartRogue(RogueEssence.Data.RogueConfig) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restarts a Roguelocke run based on the configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt;: The configuration of the roguelocke run&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local config = RogueEssence.Data.RogueConfig.RerollFromOther(_DATA.Save.Config)&lt;br /&gt;
GAME:RestartRogue(config)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterZone(System.String,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeOut ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade out the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;white&amp;lt;/code&amp;gt;: Fade to white if set to true.  Fades to black otherwise.&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeOut(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeIn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade into the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeIn(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:MoveCamera ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Centers the camera on a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time it takes ot move to the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;toPlayer&amp;lt;/code&amp;gt;: Destination is in absolute coordinates if false, and relative to the player character if set to true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:MoveCamera(200, 240, 60, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCameraCenter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current center of the camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Loc object representing the center of the camera.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsCameraOnChar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determines whether the camera is centered relative to the player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if the camera is relative to the player, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasSOSMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:HasAOKMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamLeaderIndex ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamLeaderIndex(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the leader to the chosen index within the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;idx&amp;lt;/code&amp;gt;: The index of the team member within the team.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCanSwitch(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prevents or allows the switching of leaders for the save file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;canSwitch&amp;lt;/code&amp;gt;: Set to true to allow switching, set to false to prevent it.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the player party count.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The count of players&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the party as a LuaTable.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of guests currently in the player&#039;s party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of guests&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the guests as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of characters currently in the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the assembly as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The assembly member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerTeam(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerTeam(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerGuest(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerGuest(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team&#039;s guests, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerAssembly(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerAssembly(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the assembly, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterNickname(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to rename&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;: The new name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterNickname(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to get the nickname from&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamName(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;teamname&amp;lt;/code&amp;gt;: The new team name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team&#039;s name&lt;br /&gt;
&lt;br /&gt;
== GAME:CanRelearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can relearn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanForget(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can forget any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanLearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can learn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CheckLevelSkills ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks the levels gained by a character and prompts to learn all skills along the levels.&lt;br /&gt;
Waits until all skills have been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to prompt for learning.&lt;br /&gt;
* &amp;lt;code&amp;gt;oldLevel&amp;lt;/code&amp;gt;: The level that the character leveled up from.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:CheckLevelSkills(player, 5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:TryLearnSkill ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempts to give a new skill to the specified character, prompting to replace an old one if they are full.&lt;br /&gt;
Waits until all the skill has been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:TryLearnSkill(player, &amp;quot;thunder&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:LearnSkill(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character.&lt;br /&gt;
Fails if the character&#039;s skills are full.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
== GAME:ForgetSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removed a skill from the specified character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to forget the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the skill to forget&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterSkill(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character, replacing a specifically chosen slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skillId&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to replace&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the skill from a specified character and specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to get the skill from.&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to get the skill from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ID of the skill in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:CanPromote(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can be promoted to a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the character can be promoted, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetAvailablePromotions(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets a list of possible classes that the character can prmote to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A lua table of PromoteBranch objects&lt;br /&gt;
&lt;br /&gt;
== GAME:PromoteCharacter(RogueEssence.Dungeon.Character,RogueEssence.Data.PromoteBranch,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Promotes a character ot a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to promote&lt;br /&gt;
* &amp;lt;code&amp;gt;branch&amp;lt;/code&amp;gt;: The PromoteBranch to promote with&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
== GAME:FindPlayerItem(System.String,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finds an item in the player&#039;s team and returns its slot within the inventory or among its team&#039;s equips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The item ID to search for.&lt;br /&gt;
* &amp;lt;code&amp;gt;held&amp;lt;/code&amp;gt;: Check equipped items.&lt;br /&gt;
* &amp;lt;code&amp;gt;inv&amp;lt;/code&amp;gt;: Check inventory items.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The InvSlot of the item. Invalid if the item could not be found.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items equipped by players.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items in the bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagLimit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the maximum amount of item the player&#039;s team can carry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The team slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified guest slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The guest slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the item found at the specified slot of the player&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The item found in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove an item from player inventory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen member of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakeGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen guest of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team&#039;s guest list from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of items in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageItemCount(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of a specific item in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: ID of the item ot check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of copies currently in storage&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerStorageItem(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes an item from the storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item to take&lt;br /&gt;
&lt;br /&gt;
== GAME:DepositAll ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes all items in the player team&#039;s bag and equipped items, and deposits them in storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoney ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money the player currently has on hand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoneyBank ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money in the player&#039;s bank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsKeyDown(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a player is making a certain input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keyid&amp;lt;/code&amp;gt;: The ID of the input&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the button is currently pressed.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:CutsceneMode(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the game in cutscene mode. This prevents characters from taking idle action and hides certain UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bon&amp;lt;/code&amp;gt;: If set to true, turns cutscene mode on. If set to false, turns it off.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetDailySeed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the random seed for the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current adventure&#039;s seed.&lt;br /&gt;
&lt;br /&gt;
== GAME:UnlockDungeon(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unlocks a specified dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to unlock.&lt;br /&gt;
&lt;br /&gt;
== GAME:DungeonUnlocked(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a dungeon is unlocked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if unlocked, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:InRogueMode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the current game is in rogue mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if in rogue mode, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasServerSet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetRescueAllowed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks to see if rescue is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if rescues are allowed, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetRescueAllowed(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the value in the player&#039;s save file to determine if they can be rescued or not.&lt;br /&gt;
If rescue is possible on the Save File level, it can still be prevented by the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;allowed&amp;lt;/code&amp;gt;: Set to true to allow the player to be rescued.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:QueueLeaderEvent(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares an event to execute on the next frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:WaitFrames ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for a specified number of frames before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;frames&amp;lt;/code&amp;gt;: The number of frames ot wait.  Each frame is 1/60th of a second.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:WaitFrames(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(RogueElements.Loc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turns a vector (preferably a unit vector) into a cardinal or diagonal direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;: The vector.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(System.Double,System.Double) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenience function to get a vector&#039;s components from lua numbers(doubles)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;: The X value of the vector&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;: The Y value of the vector&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction the vector points to as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:RandomDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generates a random direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
An 8-directional direction.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetupLuaFunctions(RogueEssence.Script.LuaEngine) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setups any extra functionalities for this object written on the lua side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:Hide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to hide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:Unhide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unhides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to unhide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateObject(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;objtype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacter(System.String,System.String,System.Int32,System.Int32,System.String,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chartype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;actionfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;thinkfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveObject(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes an object from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveCharacter(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes a character from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacterFromCharData(System.String,RogueEssence.Dungeon.Character,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creates a ground character, given a dungeon character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name to give the character&lt;br /&gt;
* &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt;: Character data to create from&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction the character will face, defaults to Dir8.Down&lt;br /&gt;
&lt;br /&gt;
== GROUND:RefreshPlayer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reloads the controllable player&#039;s character data to be the current team&#039;s leader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:SetPlayer(RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the controllable player to use new character data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;charData&amp;lt;/code&amp;gt;: The new character data&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerDoSpawn(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make the specified spawner run its spawn method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ground character spawned.&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerSetSpawn(System.String,RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the character to the specified spawner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: The spawner to set the character to, by name&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnChar&amp;lt;/code&amp;gt;: The character to spawn.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToChar(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another character instantly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;turnchar&amp;lt;/code&amp;gt;: The character that is turning.&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: The character to turn to.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToCharAnimated ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face another character over the specified time.&lt;br /&gt;
Clockwise or counter-clockwise are chosen based on the closest direction.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: Character that is turning&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: Character to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: Time spent on each direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, charTo, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:EntTurn(RogueEssence.Ground.GroundEntity,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a ground entity turn to face a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity.  Can be a character or object.&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to face.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Must specify clockwise or counter-clockwise.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;ccw&amp;lt;/code&amp;gt;: false if clockwise, true if counter-clockwise&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurnTo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:TeleportTo(RogueEssence.Ground.GroundEntity,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Repositions the ground entity in a specified location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity to reposition&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to point the entity.  Defaults to Dir8.None, which leaves it untouched.&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move in a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, Dir8.Down, 24, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToMarker ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a ground marker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;mark&amp;lt;/code&amp;gt;: GroundMarker object ot move to&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, marker, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveObjectToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground object move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Ground Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground character move in a direction with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateInDirection(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 24, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground entity move to a position with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateToPosition(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 200, 240, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetEmote(RogueEssence.Ground.GroundChar,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a character emote on the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAnim(RogueEssence.Ground.GroundChar,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndAnim(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an animation and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Animation to play&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAnim(player, &amp;quot;Hurt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAction(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundAction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to perfomr the action&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: The action to perform&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an action and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: Action to perform&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAction(player, action)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetAnim(RogueEssence.Ground.GroundObject,System.Int32,System.Int32,System.Int32,RogueElements.Dir8,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s animation.  After it finishes, it will return to the default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to repeat the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetDefaultAnim(RogueEssence.Ground.GroundObject,System.String,System.Int32,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;animName&amp;lt;/code&amp;gt;: The name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectWaitAnimFrame ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the object to reach a specific frame before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object ot wait on&lt;br /&gt;
* &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: The frame of animation to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:WaitObjectAnim(fountain, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local chara = CH(&#039;PLAYER&#039;)&lt;br /&gt;
local emitter = RogueEssence.Content.FlashEmitter()&lt;br /&gt;
emitter.FadeInTime = 2&lt;br /&gt;
emitter.HoldTime = 4&lt;br /&gt;
emitter.FadeOutTime = 2&lt;br /&gt;
emitter.StartColor = Color(0, 0, 0, 0)&lt;br /&gt;
emitter.Layer = DrawLayer.Top&lt;br /&gt;
emitter.Anim = RogueEssence.Content.BGAnimData(&amp;quot;White&amp;quot;, 0)&lt;br /&gt;
GROUND:PlayVFX(emitter, chara.MapLoc.X, chara.MapLoc.Y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
== GROUND:AddMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a mapstatus to the ground map.  Map statuses only have an aesthetic effect in ground maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes a map status from the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status to remove.&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlaySE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect specifically from the Battle/ subdirectory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitSE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect, and waits for it to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitSE(&amp;quot;Battle/Hit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayFanfare(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitFanfare ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration.&lt;br /&gt;
This function waits for the sound to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitFanfare(&amp;quot;Battle/LevelUp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBGM(System.String,System.Boolean,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a song, replacing the current one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The file name of the song, relative to the Content/Music folder.&lt;br /&gt;
* &amp;lt;code&amp;gt;fade&amp;lt;/code&amp;gt;: Whether to fade the old song out, or start a new one.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the old song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBGM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops playing the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBGM(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:SetBGMVolume(System.Single) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current volume of the song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;: A float value between 0 and 1&lt;br /&gt;
&lt;br /&gt;
== SOUND:GetCurrentSong ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the currently playing song.  If the current song is fading out, gets the next song to be played.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The filename of the song, relative to the Content/Music folder&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocaleCode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current language setting of the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current language, represented by a locale code.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:Format(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: String to format.&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: Arguments&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The formatted string.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:FormatKey(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string given a string key.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: The string key to format&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: string arguments&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocalKeyString(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the string representing a button or key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The input type of the input.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The string representing the button o key the input maps to.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:CreateList(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Builds a single string of comma separated elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;listStrings&amp;lt;/code&amp;gt;: LuaTable of strings containing the elements to build the list from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The combined string containing all elements.&lt;br /&gt;
&lt;br /&gt;
== TASK:StartEntityTask(RogueEssence.Ground.GroundEntity,NLua.LuaFunction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to make an entity run the specified task.&lt;br /&gt;
Will not replace a running task!&lt;br /&gt;
Tasks are run interlocked with the script processing and game processing, and characters cannot run multiple tasks at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
== TASK:StopEntityTask(RogueEssence.Ground.GroundEntity) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to force stop an entity&#039;s current task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity running the task to stop.&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitStartEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes an entity run a specified task, and waits for it to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the specified entity to finish its task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which task we&#039;ll wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitEntityTask(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Runs a task and waits for it to complete.&lt;br /&gt;
Most methods that do not expose themselves to script need to be wrapped with this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitTask(_DUNGEON:AddMapStatus(&amp;quot;rain&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:StartScriptLocalCoroutine(NLua.LuaFunction,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A wrapper around the StartCoroutine method of the GameManager, so lua coroutines can be executed locally to the script context.&lt;br /&gt;
AKA, it will block the script execution while its executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== TASK:BranchCoroutine(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Starts a new coroutine to run parallel to the current execution.&lt;br /&gt;
Useful for performing multiple actions at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to run in parallel&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local coro1 = TASK:BranchCoroutine(GAME:_FadeIn(60))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:JoinCoroutines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for all specified coroutines to finish before continuing execution.&lt;br /&gt;
Often used for coroutines created using TASK:BranchCoroutine()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;coroTable&amp;lt;/code&amp;gt;: A table of coroutines to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:JoinCoroutines({coro1})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitInput ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the player to press a button before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowDialogue(System.String, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the player completes it.&lt;br /&gt;
Takes a string as an argument and optional LuaTable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function exclaim()&lt;br /&gt;
  SOUND:PlayBattleSE(&amp;quot;EVT_Emote_Exclaim_2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Exclaim [script=0]sound!&amp;quot;, { exclaim })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTimedDialogue(System.String, System.Int32, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the specified time has expired. Can take an optional LuaTable containing script calls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTimedDialogue(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextDialogue(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current dialogue text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowVoiceOver ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a voice over, waiting until the player completes it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowVoiceOver(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextVoiceOver(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current voice-over text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:PopUp(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes text pop up in the bottom-left corner. Displays concurrently with any other process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a title text, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTitle(&amp;quot;Hello World!&amp;quot;, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextShowTitle(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shows text in the format of a title drop.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the currently displayed title, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideTitle(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextFadeTitle(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the text set in a title drop.  Requires WaitDialog to actually fade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a chosen background image, with a chosen framerate, at a certain fade time, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowBG(&amp;quot;TestBG&amp;quot;, 3, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ShowBG(System.String,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets an image to display.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current background image, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideBG(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:FadeBG(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares a fade-out of the current image.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeaker(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clears the current speaker, so none is displayed the next time TextDialogue is called.&lt;br /&gt;
This also resets any custom dialogue box positions, portrait positions, and choice positions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: If turned on, the text from the dialogue boxes make sounds.  Default is on.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(System.String,System.Boolean,System.String,System.Int32,System.String,RogueEssence.Data.Gender) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Speaker name.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
* &amp;lt;code&amp;gt;specie&amp;lt;/code&amp;gt;: Species of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt;: Form of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt;: Skin of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;gender&amp;lt;/code&amp;gt;: Gender of the speaker&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Ground.GroundChar,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a ground map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Dungeon.Character,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a dungeon map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerReverse(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reverses the speaker orientation to face left instead of right.  This depends on the boolean passed in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetChoiceLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetChoiceLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog back to default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetBounds(System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;: Height of the box&lt;br /&gt;
&lt;br /&gt;
== UI:ResetBounds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeakerLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSe(System.String, System.Int32) == &lt;br /&gt;
&lt;br /&gt;
Sets the speaker sound effect and the amount of frames in between each sound effect &lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;newSe&amp;lt;/code&amp;gt;: The path to the new sound effect&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect, optional&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:SetSe(&amp;quot;Battle/_UNK_DUN_Water_Drop&amp;quot;, 10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSe ==&lt;br /&gt;
 &lt;br /&gt;
Resets the default speaker sound effect and speak frames&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerTime(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
Sets the amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerEmotion(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
Sets the emotion of the speaker in the dialogue box.&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emo&amp;lt;/code&amp;gt;: Emotion to display&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetCenter(System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the centering of the text in the textbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;centerH&amp;lt;/code&amp;gt;: Horizontal centering&lt;br /&gt;
* &amp;lt;code&amp;gt;centerV&amp;lt;/code&amp;gt;: Vertical centering&lt;br /&gt;
&lt;br /&gt;
== UI:SetAutoFinish(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the text automatically finish when it shows up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;autoFinish&amp;lt;/code&amp;gt;: Auto-finishes text if true.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitDialog ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set dialogue box and waits for the player to complete it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitDialog()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:_DummyWait ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instantly break. Used as default/invalid value when returning a yieldable value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceMenuYesNo(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask a question answered by yes or no via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: Question to be asked to the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;bdefaultstono&amp;lt;/code&amp;gt;: Whether the cursor starts on no by default&lt;br /&gt;
&lt;br /&gt;
== UI:NameMenu(System.String,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the name input box.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The text to show above the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;: The text to show below the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;maxLength&amp;lt;/code&amp;gt;: The length of the text in pixels.&lt;br /&gt;
&lt;br /&gt;
== UI:AssemblyMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a menu for replacing party members with the assembly.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the boolean value indicating whether the team composition was changed or not, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShopMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Shop menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;goods&amp;lt;/code&amp;gt;: A table of items to be sold.  The format is { Item=InvItem, Price=int } for each item.&lt;br /&gt;
&lt;br /&gt;
== UI:SellMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Sell menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items to sell, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:StorageMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to exchange items in the inventory with.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WithdrawMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to withdraw from.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BankMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Bank menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SpoilsMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Spoils menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;appraisalMap&amp;lt;/code&amp;gt;: A table of mappings from containers to items, in the format of { Box=InvItem , Item=InvItem }&lt;br /&gt;
&lt;br /&gt;
== UI:AppraiseMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Appraisal menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TutorTeamMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Tutor Team menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team member, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:RelearnMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Relearn menu for a character.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:LearnMenu(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Learn menu for a character to replace an existing skill with a new one.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
* &amp;lt;code&amp;gt;skillNum&amp;lt;/code&amp;gt;: The new skill&lt;br /&gt;
&lt;br /&gt;
== UI:ForgetMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Forget menu for a character to forget a skill.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:ShowPromoteMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Promote menu to choose a team member to promote.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team slot, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CanSwapMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SwapMenu(NLua.LuaTable,NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TributeMenu(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowMusicMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Music menu to browse music for the game.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string representing the chosen song, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spoilerUnlocks&amp;lt;/code&amp;gt;: A lua table of strings representing progression flags that have been completed.&lt;br /&gt;
            Any ogg file that uses this tag as a spoiler tag will display in the menu only if the flag has been passed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:ShowMusicMenu({&#039;MAIN_001&#039;})&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:DungeonChoice(System.String,RogueEssence.Dungeon.ZoneLoc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask to enter a destintion via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Name of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;dest&amp;lt;/code&amp;gt;: The ZoneLoc location of the destination.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:DungeonChoice(&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0) )&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local choice = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DungeonChoice&lt;br /&gt;
&lt;br /&gt;
== UI:DestinationMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing destinations, showing a preview of restrictions and requirements for dungeons.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the ZoneLoc indicating the chosen destination, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;destinations&amp;lt;/code&amp;gt;: A lua table representing the list of destinations with each element in the format of { Name=string, Dest=ZoneLoc }&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  local all_dests = { { Name=&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, Dest=RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0)} }&lt;br /&gt;
&lt;br /&gt;
  UI:DestinationMenu(all_dests)&lt;br /&gt;
  UI:WaitForChoice()&lt;br /&gt;
  local dest = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DestinationMenu&lt;br /&gt;
&lt;br /&gt;
== UI:ServersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ContactsMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SOSMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:AOKMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:PeersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowConnectMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CurrentActivityMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChooseMonsterMenu(System.String,NLua.LuaTable,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing monsters, showing a preview of their appearances via portrait.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string indicating the chosen species, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The title of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choices&amp;lt;/code&amp;gt;: A lua table of choices with each element being a MonsterID.&lt;br /&gt;
* &amp;lt;code&amp;gt;canMenu&amp;lt;/code&amp;gt;: If set to true, the Menu Button exits the menu if pressed.&lt;br /&gt;
* &amp;lt;code&amp;gt;canCancel&amp;lt;/code&amp;gt;: If set to true, the Cancel Button exits the menu if pressed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;bulbasaur&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;charmander&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;squirtle&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless)&lt;br /&gt;
}&lt;br /&gt;
UI:ChooseMonsterMenu(&amp;quot;Starter?&amp;quot;, choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCustomMenu(RogueEssence.Menu.InteractableMenu) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a custom menu of the caller&#039;s choice.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BeginChoiceMenu(System.String,NLua.LuaTable,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: The question to ask the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local color_choices = {&#039;Red&#039;, &#039;Yellow&#039;, &amp;quot;Green&amp;quot;}&lt;br /&gt;
UI:BeginChoiceMenu(&amp;quot;Which color do you like the most?&amp;quot;, color_choices, 1, 1)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local color = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:BeginMultiPageMenu(System.Int32,System.Int32,System.Int32,System.String,NLua.LuaTable,System.Int32,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-paged choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: Height of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;linesPerPage&amp;lt;/code&amp;gt;: Number of choices per page&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&#039;Choice 1&#039;, &amp;quot;Choice 2&amp;quot;, &amp;quot;Choice 3&amp;quot; }&lt;br /&gt;
UI:BeginMultiPageMenu(24, 24, 196, &amp;quot;All Choices&amp;quot;, choices, 8, 1, #choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local entry = choices[UI:ChoiceResult()]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the result of the last choice menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The result of the choice&lt;br /&gt;
&lt;br /&gt;
== UI:GetChoiceAction(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s complicated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== UI:WaitForChoice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set choice menu and waits for the player&#039;s selection to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;br /&gt;
[[Category:Quick Reference]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1510</id>
		<title>Lua Function Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Lua_Function_Reference&amp;diff=1510"/>
		<updated>2023-08-20T04:17:15Z</updated>

		<summary type="html">&lt;p&gt;Trio: /* UI:DungeonChoice(System.String,RogueEssence.Dungeon.ZoneLoc) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows all script functions that can be called from Lua&lt;br /&gt;
&lt;br /&gt;
== AI:SetCharacterAI(RogueEssence.Ground.GroundChar,System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assign the given scripted AI class to the specified GroundChar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;classpath&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:DisableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disable a given groundchar&#039;s AI processing until its enabled again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:EnableCharacterAI(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== AI:SetAIState(RogueEssence.Ground.GroundChar,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enable a given groundchar&#039;s AI processing if its currently disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharTurnToChar(RogueEssence.Dungeon.Character,RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:LastDungeonResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the result of the last dungeon adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the floor number of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonAssetName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the internal name for the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:DungeonDisplayName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the localized name of the current dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharSetEmote(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s emote in a dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DUNGEON:CharSetEmote(chara, &amp;quot;sweating&amp;quot;, 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharStartAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharEndAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharEndAnim(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation, and waits until it completed before continue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DUNGEON:CharStartAnim(player, anim)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX in the dungeon map&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position in pixels&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position in pixels&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== DUNGEON:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local shake = RogueEssence.Content.ScreenMover(0, 12, 50)&lt;br /&gt;
GROUND:MoveScreen(shake)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GroundSave ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saves the game while in ground mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:GroundSave()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetModDiff(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;uuidStr&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentGround ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentFloor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current dungeon map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCurrentDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current zone, also known as dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.Int32,System.Int32,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The index of the ground map in the zone&lt;br /&gt;
* &amp;lt;code&amp;gt;idxentrypoint&amp;lt;/code&amp;gt;: The index of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within the current zone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterGroundMap(System.String,System.String,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map, and enter specified ground map within a new zone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;: The name of the destination zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The name of the ground map.  It must exist within in the zone.&lt;br /&gt;
* &amp;lt;code&amp;gt;entrypoint&amp;lt;/code&amp;gt;: The name of the entry point in the ground map&lt;br /&gt;
* &amp;lt;code&amp;gt;preserveMusic&amp;lt;/code&amp;gt;: If set to true, does not change the music when moving to the new ground map.&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;stakes&amp;lt;/code&amp;gt;: Decides what happens when the adventure fails/succeeds.&lt;br /&gt;
* &amp;lt;code&amp;gt;recorded&amp;lt;/code&amp;gt;: Record the adventure in a replay&lt;br /&gt;
* &amp;lt;code&amp;gt;silentRestrict&amp;lt;/code&amp;gt;: Make the dungeon restrictions silently&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterDungeon(1, 0, 0, 0, RogueEssence.Data.GameProgress.DungeonStakes.Risk, true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:ContinueDungeon ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and continues the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:ContinueDungeon(1, 1, 0, 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EndDungeonRun ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ends the current adventure, sending the player to a specified destination.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt;: The result of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;destzoneid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entryid&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
* &amp;lt;code&amp;gt;display&amp;lt;/code&amp;gt;: Display an epitaph marking the end of the adventure.&lt;br /&gt;
* &amp;lt;code&amp;gt;fanfare&amp;lt;/code&amp;gt;: Play a fanfare.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EndDungeonRun(GameProgress.ResultType.Cleared, 0, -1, 1, 0, true, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterRescue ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a rescue adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sosPath&amp;lt;/code&amp;gt;: The path of the sos mail.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:EnterRescue(&amp;quot;RESCUE/INBOX/SOS/example.sosmail&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:AddAOKRemark(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;remarkIndex&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartToTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leave current map and load up the title screen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:RestartRogue(RogueEssence.Data.RogueConfig) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restarts a Roguelocke run based on the configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt;: The configuration of the roguelocke run&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local config = RogueEssence.Data.RogueConfig.RerollFromOther(_DATA.Save.Config)&lt;br /&gt;
GAME:RestartRogue(config)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:EnterZone(System.String,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enters a zone and begins a new adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: The id of the dungeon to travel to.&lt;br /&gt;
* &amp;lt;code&amp;gt;structureid&amp;lt;/code&amp;gt;: The segment within the dungeon to start in.  -1 represents ground maps.&lt;br /&gt;
* &amp;lt;code&amp;gt;mapid&amp;lt;/code&amp;gt;: The id of the ground map or dungeon map within the dungeon segment.&lt;br /&gt;
* &amp;lt;code&amp;gt;entry&amp;lt;/code&amp;gt;: The entry point on the resulting map&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeOut ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade out the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;white&amp;lt;/code&amp;gt;: Fade to white if set to true.  Fades to black otherwise.&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeOut(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:FadeIn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fade into the screen. Waits to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time to fade in frames.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:FadeIn(false, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:MoveCamera ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Centers the camera on a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the camera center&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: The amount of time it takes ot move to the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;toPlayer&amp;lt;/code&amp;gt;: Destination is in absolute coordinates if false, and relative to the player character if set to true.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:MoveCamera(200, 240, 60, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCameraCenter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current center of the camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Loc object representing the center of the camera.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsCameraOnChar ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Determines whether the camera is centered relative to the player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if the camera is relative to the player, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasSOSMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:HasAOKMail ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamLeaderIndex ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Index of the currently player controlled entity in the party.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamLeaderIndex(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the leader to the chosen index within the party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;idx&amp;lt;/code&amp;gt;: The index of the team member within the team.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCanSwitch(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prevents or allows the switching of leaders for the save file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;canSwitch&amp;lt;/code&amp;gt;: Set to true to allow switching, set to false to prevent it.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns the player party count.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The count of players&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the party as a LuaTable.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerPartyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of guests currently in the player&#039;s party.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of guests&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the guests as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerGuestMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the number of characters currently in the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyTable ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Return the assembly as a LuaTable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A Lua Table of Characters&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerAssemblyMember(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character at the specified index within the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The specified index&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The assembly member retrieved.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerTeam(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s team.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerTeam(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerGuest(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerGuest(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the team&#039;s guests, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddPlayerAssembly(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a character to the player&#039;s assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemovePlayerAssembly(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes the character from the assembly, placing its item back in the inventory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the player to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterNickname(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to rename&lt;br /&gt;
* &amp;lt;code&amp;gt;nickname&amp;lt;/code&amp;gt;: The new name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterNickname(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the character nickname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to get the nickname from&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s nickname&lt;br /&gt;
&lt;br /&gt;
== GAME:SetTeamName(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;teamname&amp;lt;/code&amp;gt;: The new team name&lt;br /&gt;
&lt;br /&gt;
== GAME:GetTeamName ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the name of the player&#039;s team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The team&#039;s name&lt;br /&gt;
&lt;br /&gt;
== GAME:CanRelearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can relearn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanForget(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can forget any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CanLearn(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can learn any skills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
== GAME:CheckLevelSkills ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks the levels gained by a character and prompts to learn all skills along the levels.&lt;br /&gt;
Waits until all skills have been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to prompt for learning.&lt;br /&gt;
* &amp;lt;code&amp;gt;oldLevel&amp;lt;/code&amp;gt;: The level that the character leveled up from.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:CheckLevelSkills(player, 5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:TryLearnSkill ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attempts to give a new skill to the specified character, prompting to replace an old one if they are full.&lt;br /&gt;
Waits until all the skill has been accepted or declined before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:TryLearnSkill(player, &amp;quot;thunder&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:LearnSkill(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character.&lt;br /&gt;
Fails if the character&#039;s skills are full.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skill&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
&lt;br /&gt;
== GAME:ForgetSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removed a skill from the specified character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to forget the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the skill to forget&lt;br /&gt;
&lt;br /&gt;
== GAME:SetCharacterSkill(RogueEssence.Dungeon.Character,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives a new skill to a specified character, replacing a specifically chosen slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to learn the skill&lt;br /&gt;
* &amp;lt;code&amp;gt;skillId&amp;lt;/code&amp;gt;: The skill to learn&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to replace&lt;br /&gt;
&lt;br /&gt;
== GAME:GetCharacterSkill(RogueEssence.Dungeon.Character,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the skill from a specified character and specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to get the skill from.&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to get the skill from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ID of the skill in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:CanPromote(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the character can be promoted to a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the character can be promoted, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetAvailablePromotions(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets a list of possible classes that the character can prmote to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to check&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
A lua table of PromoteBranch objects&lt;br /&gt;
&lt;br /&gt;
== GAME:PromoteCharacter(RogueEssence.Dungeon.Character,RogueEssence.Data.PromoteBranch,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Promotes a character ot a new class.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;character&amp;lt;/code&amp;gt;: The character to promote&lt;br /&gt;
* &amp;lt;code&amp;gt;branch&amp;lt;/code&amp;gt;: The PromoteBranch to promote with&lt;br /&gt;
* &amp;lt;code&amp;gt;bypassItem&amp;lt;/code&amp;gt;: An exception item that can bypass checks for promotion&lt;br /&gt;
&lt;br /&gt;
== GAME:FindPlayerItem(System.String,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finds an item in the player&#039;s team and returns its slot within the inventory or among its team&#039;s equips.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The item ID to search for.&lt;br /&gt;
* &amp;lt;code&amp;gt;held&amp;lt;/code&amp;gt;: Check equipped items.&lt;br /&gt;
* &amp;lt;code&amp;gt;inv&amp;lt;/code&amp;gt;: Check inventory items.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The InvSlot of the item. Invalid if the item could not be found.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items equipped by players.  Does not include guests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the number of items in the bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagLimit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the maximum amount of item the player&#039;s team can carry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The number of items.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The team slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the equipped item for the character in the specified guest slot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The guest slot of the character to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The character&#039;s equipped item&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the item found at the specified slot of the player&#039;s bag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The item found in the slot&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerBagItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove an item from player inventory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen member of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:TakeGuestEquippedItem(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remove the equipped item from a chosen guest of the team&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;slot&amp;lt;/code&amp;gt;: The slot of the character on the team&#039;s guest list from which to remove the item&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageCount ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of items in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerStorageItemCount(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the amount of a specific item in the player&#039;s storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: ID of the item ot check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of copies currently in storage&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(RogueEssence.Dungeon.InvItem) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt;: The item to give&lt;br /&gt;
&lt;br /&gt;
== GAME:GivePlayerStorageItem(System.String,System.Int32,System.Boolean,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gives an item and adds it to the player team&#039;s storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: The amount to give. Default 1&lt;br /&gt;
* &amp;lt;code&amp;gt;cursed&amp;lt;/code&amp;gt;: Whether the item is cursed. Default false.&lt;br /&gt;
* &amp;lt;code&amp;gt;hiddenval&amp;lt;/code&amp;gt;: The hidden value of the item. Default empty string.&lt;br /&gt;
&lt;br /&gt;
== GAME:TakePlayerStorageItem(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes an item from the storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: The ID of the item to take&lt;br /&gt;
&lt;br /&gt;
== GAME:DepositAll ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Takes all items in the player team&#039;s bag and equipped items, and deposits them in storage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoney ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money the player currently has on hand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoney(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetPlayerMoneyBank ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the amount of money in the player&#039;s bank&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The amount of money.&lt;br /&gt;
&lt;br /&gt;
== GAME:AddToPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds money to the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toadd&amp;lt;/code&amp;gt;: The amount of money to add.&lt;br /&gt;
&lt;br /&gt;
== GAME:RemoveFromPlayerMoneyBank(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes money from the player&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;toremove&amp;lt;/code&amp;gt;: The amount of money to remove.&lt;br /&gt;
&lt;br /&gt;
== GAME:IsKeyDown(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a player is making a certain input.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keyid&amp;lt;/code&amp;gt;: The ID of the input&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if the button is currently pressed.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:CutsceneMode(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the game in cutscene mode. This prevents characters from taking idle action and hides certain UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bon&amp;lt;/code&amp;gt;: If set to true, turns cutscene mode on. If set to false, turns it off.&lt;br /&gt;
&lt;br /&gt;
== GAME:GetDailySeed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the random seed for the current adventure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current adventure&#039;s seed.&lt;br /&gt;
&lt;br /&gt;
== GAME:UnlockDungeon(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unlocks a specified dungeon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to unlock.&lt;br /&gt;
&lt;br /&gt;
== GAME:DungeonUnlocked(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if a dungeon is unlocked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dungeonid&amp;lt;/code&amp;gt;: ID of the dungeon to check&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if unlocked, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:InRogueMode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks if the current game is in rogue mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if in rogue mode, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:HasServerSet ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GAME:GetRescueAllowed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Checks to see if rescue is allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
True if rescues are allowed, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetRescueAllowed(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the value in the player&#039;s save file to determine if they can be rescued or not.&lt;br /&gt;
If rescue is possible on the Save File level, it can still be prevented by the map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;allowed&amp;lt;/code&amp;gt;: Set to true to allow the player to be rescued.  False otherwise.&lt;br /&gt;
&lt;br /&gt;
== GAME:QueueLeaderEvent(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares an event to execute on the next frame.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GAME:WaitFrames ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for a specified number of frames before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;frames&amp;lt;/code&amp;gt;: The number of frames ot wait.  Each frame is 1/60th of a second.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GAME:WaitFrames(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(RogueElements.Loc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turns a vector (preferably a unit vector) into a cardinal or diagonal direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;: The vector.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:VectorToDirection(System.Double,System.Double) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenience function to get a vector&#039;s components from lua numbers(doubles)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;: The X value of the vector&lt;br /&gt;
* &amp;lt;code&amp;gt;Y&amp;lt;/code&amp;gt;: The Y value of the vector&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The direction the vector points to as one of 8 values.&lt;br /&gt;
&lt;br /&gt;
== GAME:RandomDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generates a random direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
An 8-directional direction.&lt;br /&gt;
&lt;br /&gt;
== GAME:SetupLuaFunctions(RogueEssence.Script.LuaEngine) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setups any extra functionalities for this object written on the lua side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:Hide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to hide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:Unhide(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unhides an entity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;entityname&amp;lt;/code&amp;gt;: The name of the entity to unhide.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateObject(System.String,System.String,System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;objtype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacter(System.String,System.String,System.Int32,System.Int32,System.String,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO: WIP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chartype&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;actionfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;thinkfun&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveObject(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes an object from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveCharacter(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deletes a character from the ground map, identified by its instance name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name of the object.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
Returns true if succeeded, false otherwise.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CreateCharacterFromCharData(System.String,RogueEssence.Dungeon.Character,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creates a ground character, given a dungeon character.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;instancename&amp;lt;/code&amp;gt;: The instance name to give the character&lt;br /&gt;
* &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt;: Character data to create from&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the character&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction the character will face, defaults to Dir8.Down&lt;br /&gt;
&lt;br /&gt;
== GROUND:RefreshPlayer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reloads the controllable player&#039;s character data to be the current team&#039;s leader.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GROUND:SetPlayer(RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the controllable player to use new character data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;charData&amp;lt;/code&amp;gt;: The new character data&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerDoSpawn(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make the specified spawner run its spawn method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The ground character spawned.&lt;br /&gt;
&lt;br /&gt;
== GROUND:SpawnerSetSpawn(System.String,RogueEssence.Dungeon.CharData) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the character to the specified spawner&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnername&amp;lt;/code&amp;gt;: The spawner to set the character to, by name&lt;br /&gt;
* &amp;lt;code&amp;gt;spawnChar&amp;lt;/code&amp;gt;: The character to spawn.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToChar(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character turn to face another character instantly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;turnchar&amp;lt;/code&amp;gt;: The character that is turning.&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: The character to turn to.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharTurnToCharAnimated ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face another character over the specified time.&lt;br /&gt;
Clockwise or counter-clockwise are chosen based on the closest direction.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;curch&amp;lt;/code&amp;gt;: Character that is turning&lt;br /&gt;
* &amp;lt;code&amp;gt;turnto&amp;lt;/code&amp;gt;: Character to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: Time spent on each direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, charTo, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:EntTurn(RogueEssence.Ground.GroundEntity,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a ground entity turn to face a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity.  Can be a character or object.&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to face.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurn ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Must specify clockwise or counter-clockwise.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;ccw&amp;lt;/code&amp;gt;: false if clockwise, true if counter-clockwise&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3, true)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharAnimateTurnTo ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes a character do an animated turn to face a chosen direction over the specified time.&lt;br /&gt;
Waits until the operation is completed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ch&amp;lt;/code&amp;gt;: The character to turn&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to turn to&lt;br /&gt;
* &amp;lt;code&amp;gt;framedur&amp;lt;/code&amp;gt;: The time spent in each intermediate direction, in frames&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CharTurnToCharAnimated(charFrom, Dir8.Left, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:TeleportTo(RogueEssence.Ground.GroundEntity,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Repositions the ground entity in a specified location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: The ground entity to reposition&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: The direction to point the entity.  Defaults to Dir8.None, which leaves it untouched.&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move in a direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, Dir8.Down, 24, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveToMarker ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground character move to a ground marker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;mark&amp;lt;/code&amp;gt;: GroundMarker object ot move to&lt;br /&gt;
* &amp;lt;code&amp;gt;run&amp;lt;/code&amp;gt;: True if using a running animation, false otherwise&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, marker, false, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveObjectToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make ground object move to a position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Ground Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y  coordinate of destination&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:MoveInDirection(player, 200, 240, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateInDirection ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground character move in a direction with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;direction&amp;lt;/code&amp;gt;: Direction to move in&lt;br /&gt;
* &amp;lt;code&amp;gt;duration&amp;lt;/code&amp;gt;: Duration of movement, in frames&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateInDirection(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 24, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:AnimateToPosition ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a ground entity move to a position with custom animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity to move&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;animDir&amp;lt;/code&amp;gt;: Direction of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y coordinate of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;animSpeed&amp;lt;/code&amp;gt;: Speed of animation, where 1.0 represents normal speed&lt;br /&gt;
* &amp;lt;code&amp;gt;speed&amp;lt;/code&amp;gt;: Speed movement, in pixels per frame&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:AnimateToPosition(player, &amp;quot;Hurt&amp;quot;, Dir8.Down, 200, 240, 0.5, 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetEmote(RogueEssence.Ground.GroundChar,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Make a character emote on the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to emote&lt;br /&gt;
* &amp;lt;code&amp;gt;emoteid&amp;lt;/code&amp;gt;: ID of the emote&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to play the emote.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndDrawEffect(RogueEssence.Ground.GroundChar,RogueEssence.Dungeon.DrawEffect) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the ground character&#039;s draw effect to become invisible, shaking, still, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Target ground character.&lt;br /&gt;
* &amp;lt;code&amp;gt;effect&amp;lt;/code&amp;gt;: The draw effect.&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAnim(RogueEssence.Ground.GroundChar,System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt;: Whether to loop the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharEndAnim(RogueEssence.Ground.GroundChar) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a character&#039;s current animation, reverting them to default idle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to stop animating&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAnim ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an animation and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: Animation to play&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAnim(player, &amp;quot;Hurt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharSetAction(RogueEssence.Ground.GroundChar,RogueEssence.Ground.GroundAction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set a character&#039;s action.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to perfomr the action&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: The action to perform&lt;br /&gt;
&lt;br /&gt;
== GROUND:CharWaitAction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the character perform an action and waits until it&#039;s over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Character to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt;: Action to perform&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:CharWaitAction(player, action)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetAnim(RogueEssence.Ground.GroundObject,System.Int32,System.Int32,System.Int32,RogueElements.Dir8,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s animation.  After it finishes, it will return to the default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;cycles&amp;lt;/code&amp;gt;: The number of times to repeat the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectSetDefaultAnim(RogueEssence.Ground.GroundObject,System.String,System.Int32,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets a ground object&#039;s default animation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object to animate&lt;br /&gt;
* &amp;lt;code&amp;gt;animName&amp;lt;/code&amp;gt;: The name of the animation&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: The duration of each frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;startFrame&amp;lt;/code&amp;gt;: The start frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;endFrame&amp;lt;/code&amp;gt;: The end frame of animation&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: The direction of the animation&lt;br /&gt;
&lt;br /&gt;
== GROUND:ObjectWaitAnimFrame ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the object to reach a specific frame before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The object ot wait on&lt;br /&gt;
* &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;: The frame of animation to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GROUND:WaitObjectAnim(fountain, 3)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local chara = CH(&#039;PLAYER&#039;)&lt;br /&gt;
local emitter = RogueEssence.Content.FlashEmitter()&lt;br /&gt;
emitter.FadeInTime = 2&lt;br /&gt;
emitter.HoldTime = 4&lt;br /&gt;
emitter.FadeOutTime = 2&lt;br /&gt;
emitter.StartColor = Color(0, 0, 0, 0)&lt;br /&gt;
emitter.Layer = DrawLayer.Top&lt;br /&gt;
emitter.Anim = RogueEssence.Content.BGAnimData(&amp;quot;White&amp;quot;, 0)&lt;br /&gt;
GROUND:PlayVFX(emitter, chara.MapLoc.X, chara.MapLoc.Y)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFX(RogueEssence.Content.FiniteEmitter,System.Int32,System.Int32,RogueElements.Dir8,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX that has a start position and an end position.  It uses a finite emitter that generates BaseAnims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emitter&amp;lt;/code&amp;gt;: The VFX emitter&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: Start X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Start Y Position&lt;br /&gt;
* &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;: Direction to orient the VFX, defaults to Down.&lt;br /&gt;
* &amp;lt;code&amp;gt;xTo&amp;lt;/code&amp;gt;: End X position&lt;br /&gt;
* &amp;lt;code&amp;gt;yTo&amp;lt;/code&amp;gt;: End Y position&lt;br /&gt;
&lt;br /&gt;
== GROUND:PlayVFXAnim(RogueEssence.Content.BaseAnim,RogueEssence.Content.DrawLayer) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a VFX using just a BaseAnim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;anim&amp;lt;/code&amp;gt;: The animation to play&lt;br /&gt;
* &amp;lt;code&amp;gt;layer&amp;lt;/code&amp;gt;: The layer to put it on&lt;br /&gt;
&lt;br /&gt;
== GROUND:MoveScreen(RogueEssence.Content.ScreenMover) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a screen-moving effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mover&amp;lt;/code&amp;gt;: The screen mover.&lt;br /&gt;
&lt;br /&gt;
== GROUND:AddMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adds a mapstatus to the ground map.  Map statuses only have an aesthetic effect in ground maps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status&lt;br /&gt;
&lt;br /&gt;
== GROUND:RemoveMapStatus(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes a map status from the ground map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;statusIdx&amp;lt;/code&amp;gt;: The ID of the Map Status to remove.&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlaySE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect specifically from the Battle/ subdirectory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitSE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect, and waits for it to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitSE(&amp;quot;Battle/Hit&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:LoopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBattleSE(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeInBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a continuous sound effect, fading in over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade in&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBattleSE(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops a continuous sound effect, fading out over a specified amount of time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE/Battle folder&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: Time in frames for the sound to fade out&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayFanfare(System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Sound file name, relative to the Content/SE folder&lt;br /&gt;
&lt;br /&gt;
== SOUND:WaitFanfare ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a sound effect that temporarily mutes the music for its duration.&lt;br /&gt;
This function waits for the sound to complete before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SOUND:WaitFanfare(&amp;quot;Battle/LevelUp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SOUND:PlayBGM(System.String,System.Boolean,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plays a song, replacing the current one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: The file name of the song, relative to the Content/Music folder.&lt;br /&gt;
* &amp;lt;code&amp;gt;fade&amp;lt;/code&amp;gt;: Whether to fade the old song out, or start a new one.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the old song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:StopBGM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Stops playing the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SOUND:FadeOutBGM(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeTime&amp;lt;/code&amp;gt;: The amount of time, in frames, to fade out the song.&lt;br /&gt;
&lt;br /&gt;
== SOUND:SetBGMVolume(System.Single) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current volume of the song.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;: A float value between 0 and 1&lt;br /&gt;
&lt;br /&gt;
== SOUND:GetCurrentSong ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the currently playing song.  If the current song is fading out, gets the next song to be played.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The filename of the song, relative to the Content/Music folder&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocaleCode ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the current language setting of the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The current language, represented by a locale code.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:Format(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: String to format.&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: Arguments&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The formatted string.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:FormatKey(System.String,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Formats a string given a string key.  Will unescape escaped characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fmt&amp;lt;/code&amp;gt;: The string key to format&lt;br /&gt;
* &amp;lt;code&amp;gt;para&amp;lt;/code&amp;gt;: string arguments&lt;br /&gt;
&lt;br /&gt;
== STRINGS:LocalKeyString(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gets the string representing a button or key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt;: The input type of the input.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The string representing the button o key the input maps to.&lt;br /&gt;
&lt;br /&gt;
== STRINGS:CreateList(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Builds a single string of comma separated elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;listStrings&amp;lt;/code&amp;gt;: LuaTable of strings containing the elements to build the list from.&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The combined string containing all elements.&lt;br /&gt;
&lt;br /&gt;
== TASK:StartEntityTask(RogueEssence.Ground.GroundEntity,NLua.LuaFunction) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to make an entity run the specified task.&lt;br /&gt;
Will not replace a running task!&lt;br /&gt;
Tasks are run interlocked with the script processing and game processing, and characters cannot run multiple tasks at the same time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
== TASK:StopEntityTask(RogueEssence.Ground.GroundEntity) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helper function to force stop an entity&#039;s current task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity running the task to stop.&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitStartEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes an entity run a specified task, and waits for it to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which will run the task.&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: Task coroutine.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitEntityTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the specified entity to finish its task.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ent&amp;lt;/code&amp;gt;: Entity which task we&#039;ll wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitEntityTask(player)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:WaitTask ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Runs a task and waits for it to complete.&lt;br /&gt;
Most methods that do not expose themselves to script need to be wrapped with this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:WaitTask(_DUNGEON:AddMapStatus(&amp;quot;rain&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:StartScriptLocalCoroutine(NLua.LuaFunction,System.Object[]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A wrapper around the StartCoroutine method of the GameManager, so lua coroutines can be executed locally to the script context.&lt;br /&gt;
AKA, it will block the script execution while its executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;: None&lt;br /&gt;
* &amp;lt;code&amp;gt;args&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== TASK:BranchCoroutine(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Starts a new coroutine to run parallel to the current execution.&lt;br /&gt;
Useful for performing multiple actions at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: The task to run in parallel&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
local coro1 = TASK:BranchCoroutine(GAME:_FadeIn(60))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TASK:JoinCoroutines ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for all specified coroutines to finish before continuing execution.&lt;br /&gt;
Often used for coroutines created using TASK:BranchCoroutine()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;coroTable&amp;lt;/code&amp;gt;: A table of coroutines to wait on.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TASK:JoinCoroutines({coro1})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitInput ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waits for the player to press a button before continuing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowDialogue(System.String, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the player completes it.&lt;br /&gt;
Takes a string as an argument and optional LuaTable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Hello World!&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function exclaim()&lt;br /&gt;
  SOUND:PlayBattleSE(&amp;quot;EVT_Emote_Exclaim_2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowDialogue(&amp;quot;Exclaim [script=0]sound!&amp;quot;, { exclaim })&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTimedDialogue(System.String, System.Int32, NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a dialogue box with text, waiting until the specified time has expired. Can take an optional LuaTable containing script calls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
* &amp;lt;code&amp;gt;scripts&amp;lt;/code&amp;gt;: LuaTable of scripts to call from, starting from index 0&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTimedDialogue(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextDialogue(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current dialogue text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;waitTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowVoiceOver ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a voice over, waiting until the player completes it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowVoiceOver(&amp;quot;Hello World!&amp;quot;, 120)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextVoiceOver(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the current voice-over text to be shown.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen. Pass -1 to wait for layer input.&lt;br /&gt;
&lt;br /&gt;
== UI:PopUp(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes text pop up in the bottom-left corner. Displays concurrently with any other process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;expireTime&amp;lt;/code&amp;gt;: The time for the textbox to remain on screen.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a title text, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowTitle(&amp;quot;Hello World!&amp;quot;, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextShowTitle(System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shows text in the format of a title drop.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;: The text to display.&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideTitle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the currently displayed title, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideTitle(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:TextFadeTitle(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the text set in a title drop.  Requires WaitDialog to actually fade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: The time for the text to fade in.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitShowBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades in a chosen background image, with a chosen framerate, at a certain fade time, waiting until the fade-in is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitShowBG(&amp;quot;TestBG&amp;quot;, 3, 60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ShowBG(System.String,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets an image to display.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt;: The background to show, from the list of BG textures.&lt;br /&gt;
* &amp;lt;code&amp;gt;frameTime&amp;lt;/code&amp;gt;: Framerate of the image animation.&lt;br /&gt;
* &amp;lt;code&amp;gt;fadeInTime&amp;lt;/code&amp;gt;: Time taken to fade in the image.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitHideBG ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fades out the current background image, waiting until the fade-out is complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitHideBG(60)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:FadeBG(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prepares a fade-out of the current image.  Requires WaitDialog to actually display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;time&amp;lt;/code&amp;gt;: Time taken to fade out the image.&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeaker(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clears the current speaker, so none is displayed the next time TextDialogue is called.&lt;br /&gt;
This also resets any custom dialogue box positions, portrait positions, and choice positions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: If turned on, the text from the dialogue boxes make sounds.  Default is on.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(System.String,System.Boolean,System.String,System.Int32,System.String,RogueEssence.Data.Gender) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Speaker name.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
* &amp;lt;code&amp;gt;specie&amp;lt;/code&amp;gt;: Species of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt;: Form of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;skin&amp;lt;/code&amp;gt;: Skin of the speaker&lt;br /&gt;
* &amp;lt;code&amp;gt;gender&amp;lt;/code&amp;gt;: Gender of the speaker&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Ground.GroundChar,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a ground map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeaker(RogueEssence.Dungeon.Character,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the speaker to be displayed during the following calls to the TextDialogue functions.  It resets speaker emotion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: Character to set as speaker. This is a character in a dungeon map.&lt;br /&gt;
* &amp;lt;code&amp;gt;keysound&amp;lt;/code&amp;gt;: Plays sounds when text appears.&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerReverse(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reverses the speaker orientation to face left instead of right.  This depends on the boolean passed in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetChoiceLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetChoiceLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the choices for a question dialog back to default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetBounds(System.Int32,System.Int32,System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the box&lt;br /&gt;
* &amp;lt;code&amp;gt;height&amp;lt;/code&amp;gt;: Height of the box&lt;br /&gt;
&lt;br /&gt;
== UI:ResetBounds ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position and size of the dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerLoc(System.Int32,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: The X position&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: The Y position&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSpeakerLoc ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resets the position of the speaker in a dialogue box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SetSe(System.String, System.Int32) == &lt;br /&gt;
&lt;br /&gt;
Sets the speaker sound effect and the amount of frames in between each sound effect &lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;newSe&amp;lt;/code&amp;gt;: The path to the new sound effect&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect, optional&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:SetSe(&amp;quot;Battle/_UNK_DUN_Water_Drop&amp;quot;, 10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ResetSe ==&lt;br /&gt;
 &lt;br /&gt;
Resets the default speaker sound effect and speak frames&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerTime(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
Sets the amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;speakFrames&amp;lt;/code&amp;gt;: The amount of frames in between each sound effect&lt;br /&gt;
&lt;br /&gt;
== UI:SetSpeakerEmotion(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
Sets the emotion of the speaker in the dialogue box.&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;emo&amp;lt;/code&amp;gt;: Emotion to display&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse&amp;lt;/code&amp;gt;: Faces right if false, left if true.&lt;br /&gt;
&lt;br /&gt;
== UI:SetCenter(System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sets the centering of the text in the textbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;centerH&amp;lt;/code&amp;gt;: Horizontal centering&lt;br /&gt;
* &amp;lt;code&amp;gt;centerV&amp;lt;/code&amp;gt;: Vertical centering&lt;br /&gt;
&lt;br /&gt;
== UI:SetAutoFinish(System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Makes the text automatically finish when it shows up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;autoFinish&amp;lt;/code&amp;gt;: Auto-finishes text if true.&lt;br /&gt;
&lt;br /&gt;
== UI:WaitDialog ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set dialogue box and waits for the player to complete it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitDialog()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:_DummyWait ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instantly break. Used as default/invalid value when returning a yieldable value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceMenuYesNo(System.String,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask a question answered by yes or no via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: Question to be asked to the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;bdefaultstono&amp;lt;/code&amp;gt;: Whether the cursor starts on no by default&lt;br /&gt;
&lt;br /&gt;
== UI:NameMenu(System.String,System.String,System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the name input box.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The text to show above the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;desc&amp;lt;/code&amp;gt;: The text to show below the input line.&lt;br /&gt;
* &amp;lt;code&amp;gt;maxLength&amp;lt;/code&amp;gt;: The length of the text in pixels.&lt;br /&gt;
&lt;br /&gt;
== UI:AssemblyMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a menu for replacing party members with the assembly.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the boolean value indicating whether the team composition was changed or not, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShopMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Shop menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;goods&amp;lt;/code&amp;gt;: A table of items to be sold.  The format is { Item=InvItem, Price=int } for each item.&lt;br /&gt;
&lt;br /&gt;
== UI:SellMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Sell menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items to sell, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:StorageMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to exchange items in the inventory with.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:WithdrawMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Storage menu for which to withdraw from.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BankMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Bank menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SpoilsMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Spoils menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;appraisalMap&amp;lt;/code&amp;gt;: A table of mappings from containers to items, in the format of { Box=InvItem , Item=InvItem }&lt;br /&gt;
&lt;br /&gt;
== UI:AppraiseMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Appraisal menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the table indicating the indices of items chosen, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TutorTeamMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Tutor Team menu.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team member, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:RelearnMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Relearn menu for a character.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:LearnMenu(RogueEssence.Dungeon.Character,System.String) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Learn menu for a character to replace an existing skill with a new one.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
* &amp;lt;code&amp;gt;skillNum&amp;lt;/code&amp;gt;: The new skill&lt;br /&gt;
&lt;br /&gt;
== UI:ForgetMenu(RogueEssence.Dungeon.Character) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Forget menu for a character to forget a skill.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen skill, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;chara&amp;lt;/code&amp;gt;: The character to relearn skills&lt;br /&gt;
&lt;br /&gt;
== UI:ShowPromoteMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Promote menu to choose a team member to promote.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer representing the chosen team slot, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CanSwapMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SwapMenu(NLua.LuaTable,NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:TributeMenu(System.Int32) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowMusicMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the Music menu to browse music for the game.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string representing the chosen song, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;spoilerUnlocks&amp;lt;/code&amp;gt;: A lua table of strings representing progression flags that have been completed.&lt;br /&gt;
            Any ogg file that uses this tag as a spoiler tag will display in the menu only if the flag has been passed.&lt;br /&gt;
&lt;br /&gt;
== UI:DungeonChoice(System.String,RogueEssence.Dungeon.ZoneLoc) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ask to enter a destintion via character dialogue to the player.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
The Yes/No menu returns 1 for yes, and 0 for no.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;: Name of the destination&lt;br /&gt;
* &amp;lt;code&amp;gt;dest&amp;lt;/code&amp;gt;: The ZoneLoc location of the destination.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UI:DungeonChoice(&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0) )&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local choice = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DungeonChoice&lt;br /&gt;
&lt;br /&gt;
== UI:DestinationMenu(NLua.LuaTable) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing destinations, showing a preview of restrictions and requirements for dungeons.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the ZoneLoc indicating the chosen destination, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;destinations&amp;lt;/code&amp;gt;: A lua table representing the list of destinations with each element in the format of { Name=string, Dest=ZoneLoc }&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  local all_dests = { { Name=&amp;quot;[color=#00FFFF]&amp;quot;..&amp;quot;Guildmaster Trail&amp;quot;..&amp;quot;[color]&amp;quot;, Dest=RogueEssence.Dungeon.ZoneLoc(&amp;quot;guildmaster_trail&amp;quot;, 0, 0, 0)} }&lt;br /&gt;
&lt;br /&gt;
  UI:DestinationMenu(all_dests)&lt;br /&gt;
  UI:WaitForChoice()&lt;br /&gt;
  local dest = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that you use COMMON.ShowDestinationMenu instead of calling UI:DestinationMenu&lt;br /&gt;
&lt;br /&gt;
== UI:ServersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ContactsMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:SOSMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:AOKMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:PeersMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ShowConnectMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:CurrentActivityMenu ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:ChooseMonsterMenu(System.String,NLua.LuaTable,System.Boolean,System.Boolean) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a choice menu for choosing monsters, showing a preview of their appearances via portrait.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the string indicating the chosen species, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: The title of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choices&amp;lt;/code&amp;gt;: A lua table of choices with each element being a MonsterID.&lt;br /&gt;
* &amp;lt;code&amp;gt;canMenu&amp;lt;/code&amp;gt;: If set to true, the Menu Button exits the menu if pressed.&lt;br /&gt;
* &amp;lt;code&amp;gt;canCancel&amp;lt;/code&amp;gt;: If set to true, the Cancel Button exits the menu if pressed.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;bulbasaur&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;charmander&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless),&lt;br /&gt;
  RogueEssence.Dungeon.MonsterID(&amp;quot;squirtle&amp;quot;, 0, &amp;quot;normal&amp;quot;, Gender.Genderless)&lt;br /&gt;
}&lt;br /&gt;
UI:ChooseMonsterMenu(&amp;quot;Starter?&amp;quot;, choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local result = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:SetCustomMenu(RogueEssence.Menu.InteractableMenu) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays a custom menu of the caller&#039;s choice.&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the menu is exited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UI:BeginChoiceMenu(System.String,NLua.LuaTable,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message&amp;lt;/code&amp;gt;: The question to ask the user.&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local color_choices = {&#039;Red&#039;, &#039;Yellow&#039;, &amp;quot;Green&amp;quot;}&lt;br /&gt;
UI:BeginChoiceMenu(&amp;quot;Which color do you like the most?&amp;quot;, color_choices, 1, 1)&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
local color = UI:ChoiceResult()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:BeginMultiPageMenu(System.Int32,System.Int32,System.Int32,System.String,NLua.LuaTable,System.Int32,System.Object,System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Marks the start of a multi-paged choice menu.&lt;br /&gt;
UI:WaitForChoice() must be called afterwards for the menu to be actually displayed,&lt;br /&gt;
and for execution to suspend until the choice is returned.&lt;br /&gt;
Then to recover the integer value indicating the result of the menu, UI:ChoiceResult() must be called.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;: X position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;y&amp;lt;/code&amp;gt;: Y position of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;width&amp;lt;/code&amp;gt;: Width of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt;: Height of the menu&lt;br /&gt;
* &amp;lt;code&amp;gt;choicesPairs&amp;lt;/code&amp;gt;: A table of choices.  Each choice can be either a string, or { string, bool } representing the text and enabled status.&lt;br /&gt;
* &amp;lt;code&amp;gt;linesPerPage&amp;lt;/code&amp;gt;: Number of choices per page&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultChoice&amp;lt;/code&amp;gt;: The cursor starts on this choice.&lt;br /&gt;
* &amp;lt;code&amp;gt;cancelChoice&amp;lt;/code&amp;gt;: This choice is chosen if the player presses the cancel button.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local choices = {&#039;Choice 1&#039;, &amp;quot;Choice 2&amp;quot;, &amp;quot;Choice 3&amp;quot; }&lt;br /&gt;
UI:BeginMultiPageMenu(24, 24, 196, &amp;quot;All Choices&amp;quot;, choices, 8, 1, #choices)&lt;br /&gt;
UI:WaitForChoice()	&lt;br /&gt;
local entry = choices[UI:ChoiceResult()]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UI:ChoiceResult ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the result of the last choice menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Returns ===&lt;br /&gt;
&lt;br /&gt;
The result of the choice&lt;br /&gt;
&lt;br /&gt;
== UI:GetChoiceAction(System.Object) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s complicated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Arguments ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;obj&amp;lt;/code&amp;gt;: None&lt;br /&gt;
&lt;br /&gt;
== UI:WaitForChoice ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Displays the currently set choice menu and waits for the player&#039;s selection to complete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UI:WaitForChoice()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;br /&gt;
[[Category:Quick Reference]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Trio</name></author>
	</entry>
</feed>