<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.skytemple.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Happylappy</id>
	<title>SkyTemple - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.skytemple.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Happylappy"/>
	<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php/Special:Contributions/Happylappy"/>
	<updated>2026-04-08T08:56:23Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1463</id>
		<title>List of Script Variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1463"/>
		<updated>2026-02-15T22:03:08Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the variables available on the scripting engine. They can be read or written to from scripts.&lt;br /&gt;
&lt;br /&gt;
Some variables store a single value, whereas others can store multiple bitflags.&lt;br /&gt;
&lt;br /&gt;
== List of variables ==&lt;br /&gt;
&lt;br /&gt;
=== 0x0 - VERSION ===&lt;br /&gt;
Seems to be used to keep track of save file versions. It&#039;s stored in the save file when the game is saved. When loading a save file, if the version value in it doesn&#039;t match the value of this variable, the save file is deleted.&lt;br /&gt;
&lt;br /&gt;
=== 0x1 - CONDITION ===&lt;br /&gt;
Completely unused. Purpose unknown...&lt;br /&gt;
&lt;br /&gt;
=== 0x2 - SCENARIO_SELECT ===&lt;br /&gt;
Two indexed values determined via the Top Menu. These are referenced by Unionall for general control flow.&lt;br /&gt;
&lt;br /&gt;
To be a bit more specific, the first coroutine run after the Top Menu is EVENT_DIVIDE, which checks for these indexed values. In doing so, the game knows when to load scripts from maingame, a Special Episode, or Rescue mode.&lt;br /&gt;
&lt;br /&gt;
During mission rewards, the second index is used to track the index of the mission being processed in the job list.&lt;br /&gt;
&lt;br /&gt;
=== 0x3 - SCENARIO_MAIN ===&lt;br /&gt;
Stores game progress. The first value correlates with the MAIN value (mostly aligns with the story chapter), while the second is generally used to track progress within that MAIN. For the page detailing what these values mean, please see the [[Scenario Main Values]] article. &lt;br /&gt;
&lt;br /&gt;
=== 0x4 - SCENARIO_SIDE ===&lt;br /&gt;
Like SCENARIO_MAIN, but for special episode progress.&lt;br /&gt;
&lt;br /&gt;
=== 0x5 - SCENARIO_SUB1 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x6 - SCENARIO_SUB2 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x7 - SCENARIO_SUB3 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x8 - SCENARIO_SUB4 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x9 - SCENARIO_SUB5 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xa - SCENARIO_SUB6 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xb - SCENARIO_SUB7 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xc - SCENARIO_SUB8 ===&lt;br /&gt;
As far as is currently known, SCENARIO_SUB1 through SCENARIO_SUB8 are completely unused by the base-game! Perhaps they were intended to store side-quest progress of some sort?&lt;br /&gt;
&lt;br /&gt;
=== 0xd - SIDE02_TALK ===&lt;br /&gt;
Three bit flags that keeps track of the neighbors Igglybuff talked to in Special Episode 2&lt;br /&gt;
&lt;br /&gt;
=== 0xe - SIDE06_ROOM ===&lt;br /&gt;
Three bit flags that keeps track of the Limestone Cavern paths Team Charm visited in Special Episode 4&lt;br /&gt;
&lt;br /&gt;
=== 0xf - SIDE08_BOSS2ND ===&lt;br /&gt;
True if the player lose against Sableyes in Barren Valley Clearing in Special Episode 5&lt;br /&gt;
&lt;br /&gt;
=== 0x10 - SIDE01_BOSS2ND ===&lt;br /&gt;
True if Snover has betrayed bidoof in Special Episode 1. Used to determine whether Snover will be an ally in Star Cave or not.&lt;br /&gt;
&lt;br /&gt;
=== 0x11 - SCENARIO_MAIN_BIT_FLAG ===&lt;br /&gt;
Has many purposes, sometimes have hardcoded or technical effects, but not always.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Number&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Gets set to 1 right after waking up in the guild. Used for the game to determine when partner dialogue should be changed to just &amp;quot;Good morning, [hero]...&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Will end the current day if EVENT_DIVIDE is run.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Similar to 3. Seems to be related to missions&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Gets set to 1 if the player decides to go the wrong way during an expedition.&lt;br /&gt;
|-&lt;br /&gt;
|6, 7, 8&lt;br /&gt;
|Used to remember how the game was saved last.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Used in G01P04A/um07. When it&#039;s not set, the game spawns triggers. Upon walkng to them, Croagunk calls hero and partner to tell that the Croagunk Swap Shop is now opened.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do jobs.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do sentry duty. &lt;br /&gt;
|-&lt;br /&gt;
|12, 13&lt;br /&gt;
|Marowak Dojo First Entry/ Final Maze Opening&lt;br /&gt;
|-&lt;br /&gt;
|14-23&lt;br /&gt;
|Used in Marowak&#039;s Dojo. If none of them are set, the player finished all the dojo dungeons.&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|Gets set when the player finishes all dojo dungeons. Used to only show a cutscene about the full dojo completion once. &lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|Gets set to 0 before the check whether it&#039;s set to 1 or not during a cutscene after finishing the Final Maze.&lt;br /&gt;
|-&lt;br /&gt;
|26, 27&lt;br /&gt;
|Unused&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Gets set to 1 when the player finishes Final Maze. Used to give another cutscene if the Final Maze gets finished again. &lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|Gets set to 1 if the player decides to go back to the previous location(or back to the town) from the checkpoint.&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Seems to be used in TITLE_TEST to distinguish between Time and Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Gets set to 1 when the player presses Go Rescue for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Gets set to 1 when the player presses Standby Adventure for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|33-39&lt;br /&gt;
|Used after collecting one of the seven treasures. If none of them are set, the game gives a Seven Treasures collection checkmark.&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|Gets set if the player interacts with anything on the Pelipper Island. If set, the game will save upon leaving the island.&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Gets set to 1 when Chimecho tells hero and partner that they&#039;re now able to change team leader. Used to only show this cutscene once.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|Gets set to 1 when the partner says good morning to hero in Sharpedo Bluff, while $SCENARIO_MAIN is 29, 92. Used to only show this cutscene once, as it&#039;s called in coroutine EVENT_DIVIDE_AFTER, that is called really often.&lt;br /&gt;
|-&lt;br /&gt;
|43-45&lt;br /&gt;
|Aegis Cave&#039;s ice, rock and steel puzzles completion.&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|Gets set to 1 if the player Drifblim&#039;s Gondola. Used to show a cutscene where Drifblim thanks hero and partner for using his service.&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|Gets set to 1 when player talks with Ampharos about Sneasel&#039;s Sky Gift.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Gets set to 1 when the player gets Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|Gets set to 1 when the player leaves the station clearing after getting Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|50-60&lt;br /&gt;
|Sky Gift had been sent to Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk and partner respectively.&lt;br /&gt;
|-&lt;br /&gt;
|61&lt;br /&gt;
|Gets set to 1 when the player gives an item to Happiny.&lt;br /&gt;
|-&lt;br /&gt;
|62-73&lt;br /&gt;
|Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk, partner and Happiny respectively sent a Sky Gift to hero.&lt;br /&gt;
|-&lt;br /&gt;
|74-77&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station Clearing respectively. Happiny will always spawn on the 1st station if ITEM_BACKUP_GET = ITEM_BACKUP_TAKE.&lt;br /&gt;
|-&lt;br /&gt;
|78-81&lt;br /&gt;
|Used to decide whether Numel will appear on the 1st/3rd/5th/7th Station Clearing respectively. &lt;br /&gt;
|-&lt;br /&gt;
|82&lt;br /&gt;
|Gets set to 1 if the player already swapped items with Numel in the current attempt to climb to Sky Peak Summit.&lt;br /&gt;
|-&lt;br /&gt;
|83-87&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station/Summit Clearing respectively.&lt;br /&gt;
|-&lt;br /&gt;
|88&lt;br /&gt;
|Gets set to 1 when the player claims Jumpluff&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|89&lt;br /&gt;
|Used to decide whether Delibird should appear on the 9th Station Clearing. The chance of it being set is 50% each climbing attempt.&lt;br /&gt;
|-&lt;br /&gt;
|90&lt;br /&gt;
|Gets set to 1 when the player claims Delibird&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|91&lt;br /&gt;
|Gets set to 1 if the player gives an item to Heracross.&lt;br /&gt;
|-&lt;br /&gt;
|92&lt;br /&gt;
|Used to decide if a bottle should appear on the beach. The chance of it being set is 10%&lt;br /&gt;
|-&lt;br /&gt;
|93&lt;br /&gt;
|Used to decide if a client should appear in the cafe. The chance of it being set is 80%&lt;br /&gt;
|-&lt;br /&gt;
|94&lt;br /&gt;
|Gets set to 1 if the player receives a Gracidea.&lt;br /&gt;
|-&lt;br /&gt;
|95&lt;br /&gt;
|Gets set to 1 when Ursaring says that hero and partner can evolve.&lt;br /&gt;
|-&lt;br /&gt;
|96&lt;br /&gt;
|Gets set to 1 when Krabby says that bottles can appear on the beach.&lt;br /&gt;
|-&lt;br /&gt;
|97&lt;br /&gt;
|Gets set to 1 when Chimecho asks hero if recruits can stay at the cafe.&lt;br /&gt;
|-&lt;br /&gt;
|98&lt;br /&gt;
|Gets set to 1 in m00a01a. Doesn&#039;t seem to be used anywhere else.&lt;br /&gt;
|-&lt;br /&gt;
|99-127&lt;br /&gt;
|Unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12 - SCENARIO_TALK_BIT_FLAG ===&lt;br /&gt;
Up through [140] are in use, and they primarily exist to remember if the player has already talked with an NPC (therefore playing modified or shorter dialogue the second time around). For example, every merchant in treasure town comments on the player&#039;s accomplishments (like defeating Darkrai) the first time you talk to them. Whether that conversation has happened yet is tracked with SCENARIO_TALK_BIT_FLAG.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Number&lt;br /&gt;
!Used By&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Cafe Client&lt;br /&gt;
|P01P04A\enter11.ssb&lt;br /&gt;
|Used by the Cafe Client for the Gabite Mission, and the 7-Treasures Missions. In both Mission types, it&#039;s used to skip the lengthy exposition for the mission if the player declined the job earlier in the day. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Spoink&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Spoink&#039;s talk scripts. Used to remember if Spoink has given the player their helpful exploration tip about enemies not moving unless you do.&lt;br /&gt;
|-&lt;br /&gt;
|3-22&lt;br /&gt;
|Chimecho&lt;br /&gt;
|G01P03A&lt;br /&gt;
|Used in all of Chimecho&#039;s talk scripts. Flag 18 is unused!&lt;br /&gt;
|-&lt;br /&gt;
|23, 24, 26&lt;br /&gt;
|Dugtrio&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Dugtrio&#039;s talk scripts. Flag 25 is unused! Likely related to triggering CORO_EVENT_M00_04.&lt;br /&gt;
|-&lt;br /&gt;
|27, 28&lt;br /&gt;
|Pink Celebi&lt;br /&gt;
|D23P11A\um19&lt;br /&gt;
|Used in both Celebi talk scripts for the player to probe deeper about her not minding that she gets to spend more time with Grovyle.&lt;br /&gt;
|-&lt;br /&gt;
|29-40&lt;br /&gt;
|Croagunk&lt;br /&gt;
|G01P04A\enter05.ssb&lt;br /&gt;
|Flags 36 and 38 are unused! By mistake, 37 and 39 are used two separate times for Croagunk&#039;s dialogue!&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Cresselia&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Cresselia&#039;s talk scripts. Used to remember if the player has rejected recruiting her to the team. Intended to only appear in H01P99A.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|-&lt;br /&gt;
|43-47&lt;br /&gt;
|Lapras&lt;br /&gt;
|D01P01A&lt;br /&gt;
|Used in all of Lapras&#039; talk scripts.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Vigoroth&lt;br /&gt;
|T01P02A&lt;br /&gt;
|Used for Vigoroth to give a shortened advertisement for the Marowak Dojo. Apparently he&#039;s &amp;quot;sponsored&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|49, 50&lt;br /&gt;
|Chatot&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Chatot&#039;s talk scripts. Used for dialogue relating to the player going to Amp Plains. Intended to only appear in G01P04A.&lt;br /&gt;
|-&lt;br /&gt;
|51-59&lt;br /&gt;
|Electivire&lt;br /&gt;
|T01P01A\enter06.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|60-62&lt;br /&gt;
|Marowak (Main Story)&lt;br /&gt;
|T01P03A\enter07.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|63-71&lt;br /&gt;
|Kangaskhan&lt;br /&gt;
|T01P02A\enter10.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|72-83&lt;br /&gt;
|Green Kecleon&lt;br /&gt;
|T01P02A\enter12.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|84-95&lt;br /&gt;
|Purple Kecleon&lt;br /&gt;
|T01P02A\enter11.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|96-102&lt;br /&gt;
|Xatu&lt;br /&gt;
|T01P02A\enter09.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|103-109&lt;br /&gt;
|Chansey&lt;br /&gt;
|T01P01A\enter07.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|110-118&lt;br /&gt;
|Duskull&lt;br /&gt;
|T01P01A\enter05.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|119&lt;br /&gt;
|Pelipper (Rescue)&lt;br /&gt;
|S01P02A\enter02.ssb&lt;br /&gt;
|Used to remember if the player has ever been &amp;quot;welcomed&amp;quot; to Pelipper Island before after selecting &amp;quot;Go Rescue&amp;quot; on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
|120&lt;br /&gt;
|Pelipper (Explore)&lt;br /&gt;
|S01P02A\enter07.ssb&lt;br /&gt;
|Used to remember if the player has ever been &amp;quot;welcomed&amp;quot; to Pelipper Island before after selecting &amp;quot;Standby Adventure&amp;quot; on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
|121&lt;br /&gt;
|Partner&lt;br /&gt;
|Various&lt;br /&gt;
|Used during the main story (Main 22, before Brine Cave) to remember if the partner has told the hero they want to check back on Sharpedo Bluff for Grovyle. If enabled, this flag will activate related R-button partner dialogue and prevent the player from triggering the same &amp;quot;Let&#039;s go check out Sharpedo Bluff!&amp;quot; dialogue in T01P02A if it has already been triggered in T01P01A.&lt;br /&gt;
|-&lt;br /&gt;
|122&lt;br /&gt;
|Shaymin (Guide)&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Shaymin&#039;s talk scripts throughout the mountain. Remembers if the player has rejected recruiting them to the team. Likely only intended to appear at the summit?&lt;br /&gt;
|-&lt;br /&gt;
|123&lt;br /&gt;
|Shaymin (Sky Gift)&lt;br /&gt;
|D73P11A&lt;br /&gt;
|Used to remember if Shaymin has told the player about Sky Gift delivery.&lt;br /&gt;
|-&lt;br /&gt;
|124&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|-&lt;br /&gt;
|125&lt;br /&gt;
|Pachirisu&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Pachirisu&#039;s talk scripts. Remembers if the player has received a Sky Gift from Pachirisu or not. Likely intended to be used somewhere on the mountain.&lt;br /&gt;
|-&lt;br /&gt;
|126&lt;br /&gt;
|Marowak (Bidoof) &lt;br /&gt;
|T01P03A\enter08.ssb&lt;br /&gt;
|Used to remember if Bidoof has claimed Marowak&#039;s Reviver Seed in the special episode. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|127&lt;br /&gt;
|Kangakshan (Bidoof) &lt;br /&gt;
|T01P02A\un0103.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Kangaskhan in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|128&lt;br /&gt;
|Duskull (Bidoof)&lt;br /&gt;
|T01P01A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Duskull in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|129&lt;br /&gt;
|Green Kecleon (Bidoof)&lt;br /&gt;
|T01P02A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Green Kecleon in the episode before. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|130&lt;br /&gt;
|Purple Kecleon (Bidoof)&lt;br /&gt;
|T01P02A\un0102.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Purple Kecleon in the episode before.  Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|131&lt;br /&gt;
|Wigglytuff (Bidoof)&lt;br /&gt;
|G01P05A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Wigglytuff after unlocking Deep Star Cave in the episode before. Runs CORO_EVENT_N00_01 if not.  &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|132&lt;br /&gt;
|Bidoof (Sunflora)&lt;br /&gt;
|G01P03A\un0401.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Bidoof in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|133&lt;br /&gt;
|Chimecho (Sunflora)&lt;br /&gt;
|G01P03A\un0402.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Chimecho in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|134&lt;br /&gt;
|Dugtrio (Sunflora)&lt;br /&gt;
|H01P99A\un0401.ssb&lt;br /&gt;
|Used to remeber if Sunflora has talked with Dugtrio in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|135&lt;br /&gt;
|Kangaskhan (Sunflora)&lt;br /&gt;
|T01P02A\un0404.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Kangaskhan in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|136&lt;br /&gt;
|Green Kecleon (Sunflora)&lt;br /&gt;
|T01P02A\un0406.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Green Kecleon in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|137&lt;br /&gt;
|Purple Kecleon (Sunflora)&lt;br /&gt;
|T01P02A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Purple Kecleon in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|138&lt;br /&gt;
|Vigoroth (Sunflora)&lt;br /&gt;
|T01P01A\un0404.ssb&lt;br /&gt;
|Used to remember if Sunflora was advertised to by Vigoroth in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|139&lt;br /&gt;
|Team Flame (Sunflora)&lt;br /&gt;
|G01P03A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora talked with Bellsprout of Team Flame in the episode before. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|140&lt;br /&gt;
|Duskull (Sunflora)&lt;br /&gt;
|T01P01A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora talked with Duskull in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|141+&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13 - SCENARIO_BALANCE_FLAG ===&lt;br /&gt;
Starts at 0 and gets increased as the player completes certain story events. Controls bag size, Wynaut/Spinda dungeon unlocks, and the spawn threshold value of pokémon, which restricts spawning of some species until this variable reaches a certain value. Is also used as a general game progression marker by other things, restriction certain mission types, the croagunk swap shop being able to contain a water float, and other things like that. &lt;br /&gt;
&lt;br /&gt;
==== Value changes ====&lt;br /&gt;
This table lists the exact story spots where the value of the flag is increased.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Story chapter&lt;br /&gt;
!Story event&lt;br /&gt;
!Scene&lt;br /&gt;
!Script&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|Start of a new game&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|3&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V03P12A&lt;br /&gt;
|m03a1314.ssb&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|6&lt;br /&gt;
|Expedition members are announced&lt;br /&gt;
|G01P04A&lt;br /&gt;
|m08a0301.ssb&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|9&lt;br /&gt;
|End of chapter&lt;br /&gt;
|P04P01C&lt;br /&gt;
|m10a1213.ssb&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|13&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V16P02A&lt;br /&gt;
|m16a0702.ssb&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|15&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V19P06A&lt;br /&gt;
|m19b1014.ssb&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Post-game 1&lt;br /&gt;
|After graduating and moving to Sharpedo Bluff&lt;br /&gt;
|H02P99A&lt;br /&gt;
|s01p1103.ssb&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Game complete&lt;br /&gt;
|The Ursarings tell Hero and Partner they can evolve&lt;br /&gt;
(After unlocking Marine Resort) &lt;br /&gt;
|T01P01A&lt;br /&gt;
|m00p1401.ssb&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Bag size ====&lt;br /&gt;
This table lists the maximum bag size depending on the current value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Bag size&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|48&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|48&lt;br /&gt;
|}&lt;br /&gt;
Values higher than 7 will read garbage data and cause crashes.&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;PERFORMANCE_PROGRESS_LIST[2]&amp;lt;/code&amp;gt; is 0, the bag will only have 1 slot, regardless of the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x14 - SCENARIO_BALANCE_DEBUG ===&lt;br /&gt;
If &amp;gt;= 0, overrides the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x15 - CRYSTAL_COLOR_01 ===&lt;br /&gt;
Used to keep track of the current color of the first crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x16 - CRYSTAL_COLOR_02 ===&lt;br /&gt;
Used to keep track of the current color of the second crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x17 - CRYSTAL_COLOR_03 ===&lt;br /&gt;
Used to keep track of the current color of the third crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
Outside of this puzzle, these 3 variables are completely unused by the base game!&lt;br /&gt;
&lt;br /&gt;
=== 0x18 - COMPULSORY_SAVE_POINT ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in the main story.&lt;br /&gt;
&lt;br /&gt;
=== 0x19 - COMPULSORY_SAVE_POINT_SIDE ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in special episode.&lt;br /&gt;
&lt;br /&gt;
=== 0x1a - SCENARIO_SELECT_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x1b - SCENARIO_MAIN_BIT_FLAG_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused, and is a huge list of flags that can be used locally, or in places the player is unable to save!&lt;br /&gt;
&lt;br /&gt;
=== 0x1c - GROUND_ENTER ===&lt;br /&gt;
The map ID the player is currently in the enter scene for.&lt;br /&gt;
&lt;br /&gt;
=== 0x1d - GROUND_ENTER_LINK ===&lt;br /&gt;
Set to zero by EVENT_FORMATION. Purpose Unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x1e - GROUND_GETOUT ===&lt;br /&gt;
The map ID of the enter scene the player was on before the current one. Usually used to decide where the player should enter from on the next map. &lt;br /&gt;
&lt;br /&gt;
=== 0x1f - GROUND_MAP ===&lt;br /&gt;
The map ID of the map currently rendered. Usually this is identical to GROUND_ENTER, unless the map that was loaded changes (Such as P01P01A changing to P01P03A when the cafe is unlocked). &lt;br /&gt;
&lt;br /&gt;
=== 0x20 - GROUND_PLACE ===&lt;br /&gt;
Determines the index for the map marker on the top-screen world map.&lt;br /&gt;
&lt;br /&gt;
=== 0x21 - GROUND_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x22 - GROUND_ENTER_LINK_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER_LINK used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x23 - GROUND_GETOUT_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_GETOUT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x24 - GROUND_MAP_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_MAP used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x25 - GROUND_PLACE_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_PLACE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x26 - DUNGEON_SELECT ===&lt;br /&gt;
The dungeon ID selected by the crossroads. Possibly reused elsewhere. &lt;br /&gt;
&lt;br /&gt;
=== 0x27 - DUNGEON_ENTER ===&lt;br /&gt;
Stores the dungeon ID the player enters, but only in DMODE_OPEN or DMODE_CLOSED. Otherwise, may be set to 214 or 215.  &lt;br /&gt;
&lt;br /&gt;
DUNGEON_ENTER_INDEX is a more reliable tracker of the dungeon ID.  &lt;br /&gt;
&lt;br /&gt;
If not 215, PROCESS_SPECIAL_DUNGEON_HAD_REQUEST_DONE will assume no missions were completed without checking DUNGEON_ENTER_INDEX.  &lt;br /&gt;
&lt;br /&gt;
=== 0x28 - DUNGEON_ENTER_MODE ===&lt;br /&gt;
Seems to be the DMODE of the dungeon being entered. &lt;br /&gt;
&lt;br /&gt;
=== 0x29 - DUNGEON_ENTER_INDEX ===&lt;br /&gt;
Is written on selecting a dungeon from the crossroads (and probably elsewhere). Generally used by the base game to remember the dungeon ID that the player is about to enter or has just exited. &lt;br /&gt;
&lt;br /&gt;
=== 0x2a - DUNGEON_ENTER_FREQUENCY ===&lt;br /&gt;
A running total of how many times the player has entered any dungeon. &lt;br /&gt;
&lt;br /&gt;
=== 0x2b - DUNGEON_RESULT ===&lt;br /&gt;
Stores how the dungeon was exited. Typically GROUND_START_MODE also stores this information, though that has other uses in ground mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Dungeon was cleared&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Escape Orb Used (Or mission cleared and left mid-dungeon)&lt;br /&gt;
|-&lt;br /&gt;
|Other&lt;br /&gt;
|Defeated in Dungeon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x2c - GROUND_START_MODE ===&lt;br /&gt;
The &amp;quot;mode&amp;quot; the game is in when it enters Ground Mode. Uses the same values as DUNGEON_RESULT when exiting a dungeon, but other values appear to be present. coroutine EVENT_FORMATION assigns it to 3, for unknown reasons.&lt;br /&gt;
&lt;br /&gt;
=== 0x2d - DUNGEON_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2e - DUNGEON_ENTER_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2f - DUNGEON_ENTER_INDEX_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_INDEX used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x30 - DUNGEON_ENTER_FREQUENCY_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_FREQUENCY used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x31 - DUNGEON_RESULT_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_RESULT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x32 - GROUND_START_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_START_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x33 - REQUEST_CLEAR_COUNT ===&lt;br /&gt;
Stores the number of jobs the player has completed at certain points in the story to determine when the next story event will occur. Will never increment above 100 in the base game.&lt;br /&gt;
&lt;br /&gt;
=== 0x34 - PLAYER_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_PLAYER when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ACTOR_ATTENDANT_BIPPA&lt;br /&gt;
|Bidoof&lt;br /&gt;
|Special Episode 1&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|ACTOR_ATTENDANT_PUPURIN&lt;br /&gt;
|Igglybuff&lt;br /&gt;
|Special Episode 2&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ACTOR_ATTENDANT_KIMAWARI&lt;br /&gt;
|Sunflora&lt;br /&gt;
|Special Episode 3&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ACTOR_ATTENDANT_FUTURE&lt;br /&gt;
|Grovyle&lt;br /&gt;
|Special Episode 5&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ACTOR_ATTENDANT_CHARMS&lt;br /&gt;
|Lopunny&lt;br /&gt;
|Special Episode 4&lt;br /&gt;
|-&lt;br /&gt;
|9+&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x35 - ATTENDANT1_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT1 (and possibly other related actors) when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5-9&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ACTOR_ATTENDANT_MANAFI&lt;br /&gt;
|Manaphy&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x36 - ATTENDANT2_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT2 when displayed.&lt;br /&gt;
&lt;br /&gt;
Will be &amp;quot;Nothing&amp;quot; unless it is 10, in which case Manaphy will slowly follow ATTENDANT1_KIND&lt;br /&gt;
&lt;br /&gt;
=== 0x37 - PLAYER_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of PLAYER_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x38 - ATTENDANT1_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT1_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x39 - ATTENDANT2_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT2_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x3a - FRIEND_SUM ===&lt;br /&gt;
When called by LoadScriptVariableValue(), will always return 1. Seems unused outside of this.&lt;br /&gt;
&lt;br /&gt;
=== 0x3b - UNIT_SUM ===&lt;br /&gt;
In a switch case, will return the number of pokemon in the active team. Cannot be written to, only read. Skytemple&#039;s Variable reader will mistakenly read this as zero, as the script variable slot itself is unused, and the number of team members is a hardcoded return from LoadScriptVariable. &lt;br /&gt;
&lt;br /&gt;
=== 0x3c - CARRY_GOLD ===&lt;br /&gt;
Stores the current amount of money carried by the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x3d - BANK_GOLD ===&lt;br /&gt;
Stores the current amount of money stored in Duskull&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
=== 0x3e - HERO_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial hero starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x3f - HERO_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial hero starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x40 - PARTNER_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial partner starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x41 - PARTNER_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial partner starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x42 - HERO_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the hero will use. In base game, only 4 and 5 are used for HERO_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Hero Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Male Pokemon&lt;br /&gt;
|Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Female/Genderless Pokemon&lt;br /&gt;
|Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x43 - PARTNER_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the partner will use. In base game, only 1, 2, and 3 are used for PARTNER_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Partner Species&lt;br /&gt;
!Use Case&lt;br /&gt;
!Example Dialogue Use&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Squirtle, Totodile, Chimchar, Meowth or Munchlax&lt;br /&gt;
|More &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|No more wimping out. I have to be brave today.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|All other Male Species&lt;br /&gt;
|Less &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. I have to steel my courage today.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|All female Species&lt;br /&gt;
|Least &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. Today I’m going to be brave.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x44 - RANDOM_REQUEST_NPC03_KIND ===&lt;br /&gt;
Determines the species of ACTOR_RANDOM_REQUEST_NPC03, or the Spinda Cafe client Pokémon. It is either a random Pokémon, Magnemite, or Togetic, depending on the mission.&lt;br /&gt;
&lt;br /&gt;
=== 0x45 - CONFIG_COLOR_KIND ===&lt;br /&gt;
The aura bow color determined by the personality quiz at the beginning of the game. Only ever used by Wigglytuff to determine the color of the aura bow given to the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x46 - ROM_VARIATION ===&lt;br /&gt;
Unknown, but hardcoded to zero.&lt;br /&gt;
&lt;br /&gt;
=== 0x47 - LANGUAGE_TYPE ===&lt;br /&gt;
Stores the language from DS Firmware. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Language&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Japanese&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|English&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|French&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|German&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Italian&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Spanish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x48 - GAME_MODE ===&lt;br /&gt;
Keeps track of the current game mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!ID&lt;br /&gt;
!Mode&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Top menu&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Normal play, including overworld and dungeons&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Special episode&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Rescue&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
There might be more valid values.&lt;br /&gt;
&lt;br /&gt;
=== 0x49 - EXECUTE_SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active. The base-game prefers this variable over SPECIAL_EPISODE_TYPE, though it is unknown if they differ at all.&lt;br /&gt;
&lt;br /&gt;
=== 0x4a - SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active, just like EXECUTE_SPECIAL_EPISODE_TYPE.&lt;br /&gt;
&lt;br /&gt;
=== 0x4b - SPECIAL_EPISODE_OPEN ===&lt;br /&gt;
Keeps track of what Special Episodes are unlocked.&lt;br /&gt;
&lt;br /&gt;
The following is the list of scripts where the Special Episodes are unlocked in the base-game:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[0] (Bidoof&#039;s Wish): V03P12A - m03a1314&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[1] (Igglybuff the Prodigy): P04P01C - m10a1213&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[2] (Today&#039;s Oh My Gosh): G01P04A - m16a0105&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[3] (Here Comes Team Charm!): D01P11A - m20a0101&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[4] (In the Future of Darkness): H02P99A - s01p1103&lt;br /&gt;
&lt;br /&gt;
=== 0x4c - SPECIAL_EPISODE_OPEN_OLD ===&lt;br /&gt;
Keeps track of what Special Episodes were started. Used to show an exclamation mark if the episode is opened but wasn&#039;t started.&lt;br /&gt;
&lt;br /&gt;
=== 0x4d - SPECIAL_EPISODE_CONQUEST ===&lt;br /&gt;
Keeps track of what Special Episodes did the player finished. Also unlocks the Special Episode&#039;s respective Clear Icons.&lt;br /&gt;
&lt;br /&gt;
Note: This specific script variable is not in any script. It is actually triggered by an &#039;&#039;&#039;adventure_log&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
The following is the list of the &#039;&#039;&#039;adventure_log&#039;&#039;&#039; that triggers this Script Variable and its location for each Special Episode:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[0] (Bidoof&#039;s Wish): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1000; in S04P01A - n03a3103&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[1] (Igglybuff the Prodigy): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1001; in S04P01A - n03a1704&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[2] (Today&#039;s Oh My Gosh): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1002; in S04P01A - n04a2606&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[3] (Here Comes Team Charm!): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1003; in S04P01A - n06a3909&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[4] (In the Future of Darkness): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1004; in S04P01A - n09a2212&lt;br /&gt;
&lt;br /&gt;
=== 0x4e - PERFORMANCE_PROGRESS_LIST ===&lt;br /&gt;
List of flags used to keep track of unlocked features and achievements. See [[Performance Progress Flags]] for the full list.&lt;br /&gt;
&lt;br /&gt;
=== 0x4f - DUNGEON_OPEN_LIST ===&lt;br /&gt;
List of unlocked dungeons. One bit per dungeon ID. If true, and the dungeon isn&#039;t on some blacklist, you can enter this dungeon from the crossroads/dojo/igglybuff&#039;s house/pelipper standby adventure. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_OPEN or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
=== 0x50 - DUNGEON_ENTER_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. This is checked at [NA]0x204CEE0, but never assigned. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x51 - DUNGEON_ARRIVE_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x52 - DUNGEON_CONQUEST_LIST ===&lt;br /&gt;
List of completed dungeons. One bit per dungeon ID. Automatically set on clearing any dungeon. &lt;br /&gt;
&lt;br /&gt;
In many cases, this bitfield renders other flags or variables redundant in a vanilla setting, especially certain $PERFORMANCE_PROGRESS_LIST flags that are always enabled after clearing certain dungeons for the first time. &lt;br /&gt;
&lt;br /&gt;
=== 0x53 - DUNGEON_PRESENT_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x54 - DUNGEON_REQUEST_LIST ===&lt;br /&gt;
List of dungeons that no longer have story progression. On completing a dungeon with this bit enabled, the player will enter [INSERT THE RIGHT COROUTINE HERE] in unionall. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_REQUEST or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
Contrary to the name, this field alone is insufficient for missions to show up on the job board! Only dungeon in DMODE_OPEN_AND_REQUEST can have missions, and other (hardcoded) conditions must be met. &lt;br /&gt;
&lt;br /&gt;
=== 0x55 - WORLD_MAP_MARK_LIST_NORMAL ===&lt;br /&gt;
Is adequately sized for the number of World Map Markers. Presumed Unused.&lt;br /&gt;
&lt;br /&gt;
=== 0x56 - WORLD_MAP_MARK_LIST_SPECIAL ===&lt;br /&gt;
Is adequately sized for the number of World Map Markers. Presumed Unused.&lt;br /&gt;
&lt;br /&gt;
=== 0x57 - WORLD_MAP_LEVEL ===&lt;br /&gt;
Seems to be used to track the area covered by clouds on the world map. &lt;br /&gt;
&lt;br /&gt;
=== 0x58 - POSITION_X ===&lt;br /&gt;
Stores the X-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x59 - POSITION_Y ===&lt;br /&gt;
Stores the Y-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5a - POSITION_HEIGHT ===&lt;br /&gt;
Stores the Z-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5b - POSITION_DIRECTION ===&lt;br /&gt;
Stores the direction an entity is facing when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5c - EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game, and is reset between acting scripts.&lt;br /&gt;
&lt;br /&gt;
=== 0x5d - DUNGEON_EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game (possibly while within dungeons?), and is reset between scripts. &lt;br /&gt;
&lt;br /&gt;
=== 0x5e - STATION_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x5f - STATION_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x60 - DELIVER_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x61 - DELIVER_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x62 - BIT_FUWARANTE_LOCAL ===&lt;br /&gt;
Keeps track of the Sky Peak stations the player visited. Used in the script for Drifblim&#039;s Gondola.&lt;br /&gt;
&lt;br /&gt;
=== 0x63 - LOTTERY_RESULT ===&lt;br /&gt;
Used to track what result should occur during the Recycle Shop Prize Ticket Lottery. Has no other use.&lt;br /&gt;
&lt;br /&gt;
=== 0x64 - ITEM_BACKUP ===&lt;br /&gt;
Unlikely to be a backup flag. Conveniently sized for item_GetVariable to extract the item ID and metadata.&lt;br /&gt;
&lt;br /&gt;
Used exclusively by the debug town. Unused in the context of vanilla EoS.&lt;br /&gt;
&lt;br /&gt;
=== 0x65 - ITEM_BACKUP_KUREKURE ===&lt;br /&gt;
Happiny requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x66 - ITEM_BACKUP_TAKE ===&lt;br /&gt;
Numel requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x67 - ITEM_BACKUP_GET ===&lt;br /&gt;
Numel gives this item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x68 - REQUEST_THANKS_RESULT_KIND ===&lt;br /&gt;
Stores the mission type of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x69 - REQUEST_THANKS_RESULT_VARIATION ===&lt;br /&gt;
Stores the mission subtype of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x6a - SUB30_TREASURE_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a treasure was found. &lt;br /&gt;
&lt;br /&gt;
=== 0x6b - SUB30_SPOT_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a new unexplored area was discovered. &lt;br /&gt;
&lt;br /&gt;
=== 0x6c - RECYCLE_COUNT ===&lt;br /&gt;
Stores the number of recycles the player has done. Is only updated by the base-game at the end of each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x6d - SUB30_SPOT_LEVEL ===&lt;br /&gt;
Keeps track of what dungeon was discovered by Project P. &lt;br /&gt;
&lt;br /&gt;
=== 0x6e - TEAM_RANK_EVENT_LEVEL ===&lt;br /&gt;
Updated by message_Menu(76) to the current guild rank. In vanilla, this only seems to happen on clearing a mission.  &lt;br /&gt;
&lt;br /&gt;
=== 0x6f - PLAY_OLD_GAME ===&lt;br /&gt;
True if the player answered yes to the question on the personality quiz that asks if you played Explorers of Time or Darkness. Increases the recruit rate of certain pokémon if you haven&#039;t recruited them yet.&lt;br /&gt;
&lt;br /&gt;
=== 0x70 - NOTE_MODIFY_FLAG ===&lt;br /&gt;
If true, the player will be forced to save on leaving Pelipper island. Likely indicative of whether a rescue has been attempted?&lt;br /&gt;
&lt;br /&gt;
=== 0x71 - SUB30_PROJECTP ===&lt;br /&gt;
If true, the player has viewed the Project P cutscene, and the recycle shop is capable of being upgraded.&lt;br /&gt;
&lt;br /&gt;
=== 0x72 - SUM ===&lt;br /&gt;
Seems to be a marker of the end of &amp;quot;normal&amp;quot; script variables.&lt;br /&gt;
&lt;br /&gt;
=== 0x400 - LOCAL0 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL0 in def 0 is distinct from $LOCAL0 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x401 - LOCAL1 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL1 indef 0 is distinct from $LOCAL1 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x402 - LOCAL2 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
=== 0x403 - LOCAL3 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
== Variable Lengths ==&lt;br /&gt;
Not all variables can store the same sized values! Some were allocated to be different sizes than others. Besides the standard sizes, there are 2 unusual variable sizes worth mentioning. &amp;quot;special&amp;quot; variable sizes are not stored in the same place as every other variable, and instead read some other value, such as the number of money the player currently has, or the current language of the ROM. &amp;quot;None&amp;quot; size is only used by the &amp;quot;SUM&amp;quot; variable, and has no allocated space at all. Below are a list of variables, their sizes, and how many there are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Variable&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Size&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Count&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|VERSION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONDITION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB1&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB2&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB3&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB4&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB5&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB6&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB7&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB8&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE02_TALK&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE06_ROOM&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE08_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE01_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x80 (128)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_TALK_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_FLAG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_DEBUG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_01&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_02&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_03&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG_BACKUP&lt;br /&gt;
|bit&lt;br /&gt;
|0x200 (512)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_SELECT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY&lt;br /&gt;
|uint16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY_BACKUP&lt;br /&gt;
|uint16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_CLEAR_COUNT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|FRIEND_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|UNIT_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CARRY_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|BANK_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RANDOM_REQUEST_NPC03_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_COLOR_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ROM_VARIATION&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LANGUAGE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GAME_MODE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|EXECUTE_SPECIAL_EPISODE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_TYPE&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN_OLD&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_CONQUEST&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|PERFORMANCE_PROGRESS_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x40 (64)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_OPEN_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ARRIVE_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_CONQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_PRESENT_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_REQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_NORMAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_SPECIAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_X&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_Y&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_HEIGHT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_DIRECTION&lt;br /&gt;
|int8&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|BIT_FUWARANTE_LOCAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|LOTTERY_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_KUREKURE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_TAKE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_GET&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_VARIATION&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_TREASURE_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RECYCLE_COUNT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|TEAM_RANK_EVENT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAY_OLD_GAME&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|NOTE_MODIFY_FLAG&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_PROJECTP&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUM&lt;br /&gt;
|none&lt;br /&gt;
|0x0 (0)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL0&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL1&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL2&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL3&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Opcodes&amp;diff=1420</id>
		<title>List of Opcodes</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Opcodes&amp;diff=1420"/>
		<updated>2026-02-06T21:51:00Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: World Map Mode documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The scripting engine used in Explorers of Sky has different opcodes. [[ExplorerScript]] translates most of them literally, preserving the same parameters and functionality. However, some opcodes are translated to [[ExplorerScript]] constructs, such as if statements.&lt;br /&gt;
&lt;br /&gt;
This article documents the different opcodes, their purpose and parameters. The purpose of unkX parameters is unknown.&lt;br /&gt;
&lt;br /&gt;
== What is an opcode? ==&lt;br /&gt;
An opcode is an instruction to the machine (it tells the machine to &#039;do&#039; something). In modern programming, it would be most similar to a [https://en.wikipedia.org/wiki/Function_(computer_programming) function]. For a more technical description, see [https://en.wikipedia.org/wiki/Opcode here].&lt;br /&gt;
&lt;br /&gt;
== Types of parameters ==&lt;br /&gt;
* uint: An unsigned integer (a number without decimals). It cannot be negative. It is possible that in the game&#039;s code, there are only signed integers and no unsigned integers, but not enough research has been done on the matter. For the most part, it shouldn&#039;t matter.&lt;br /&gt;
* sint: A signed integer (a number without decimals). It can be either positive or negative.&lt;br /&gt;
* bitfield: A bitfield is uint where each bits (0 or 1) are treated independantly. They are used to store multiple binary (boolean) values efficiently. Opcodes that use it usually come in the &amp;lt;code&amp;gt;Set&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Reset&amp;lt;/code&amp;gt; variant. The &amp;lt;code&amp;gt;Set&amp;lt;/code&amp;gt; variant define to true the values which are 1 in the input bitfield (while leaving the others untouched), and &amp;lt;code&amp;gt;Reset&amp;lt;/code&amp;gt; define to false the values which are 1 in the input bitfield (while also leaving the others untouched).&lt;br /&gt;
* String: Text (i.e dialogue). There should always be a quotation mark (&amp;quot;) at the beginning and end.&lt;br /&gt;
* ConstString: Same as String.&lt;br /&gt;
* Routine: Any of the 701 coroutines from [[Unionall]]. Always begins with &amp;quot;CORO_&amp;quot;&lt;br /&gt;
* Entity: An actor, performer. (not an object!)&lt;br /&gt;
* Object: An object in a scene. (not an actor or perfomer!)&lt;br /&gt;
* Level: Any level from the [[Script Engine|Level List]]. Will always begin with &amp;quot;LEVEL_&amp;quot;.&lt;br /&gt;
* Bgm: Any music in the game. Will always begin with &amp;quot;BGM_&amp;quot;. (example: BGM_CRAGGY_COAST)&lt;br /&gt;
* PositionMark: A position. Will be written as &amp;quot;Position&amp;lt;&#039;MarkName&#039;, x, y&amp;gt;&amp;quot;. Once a position mark is written in a script, SkyTemple will show an option to place it visually in the scene.&lt;br /&gt;
* Face: A portrait expression. Will always begin with &amp;quot;FACE_&amp;quot;. (examples: FACE_NORMAL, FACE_HAPPY, FACE_PAIN)&lt;br /&gt;
* FaceMode: A portrait position. Will always begin with &amp;quot;FACE_MODE_&amp;quot;.&lt;br /&gt;
* Direction: A direction for an entity to move in or turn to. Will always begin with &amp;quot;DIR_&amp;quot;. (examples: DIR_UP, DIR_RIGHT)&lt;br /&gt;
* ProcessSpecial: One of the games special processes. Can be referred to by its number, or name.&lt;br /&gt;
* Effect: A graphical effect.&lt;br /&gt;
* GameVar: Any of the game&#039;s [[List of Script Variables|Script Variables]]. Will always begin with &amp;quot;$&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Relevant Opcodes ==&lt;br /&gt;
These opcodes can be directly called from ExplorerScript.&lt;br /&gt;
&lt;br /&gt;
=== 0x0 - Null ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x1 - back_ChangeGround ===&lt;br /&gt;
Sets the Map Background from a Level without changing the chunks from the currently loaded Map Background. Entities such as actors, objects, and performers will not be deleted when this opcode is executed. &lt;br /&gt;
&lt;br /&gt;
This has very few uses in the game—a notable use is how Wigglytuff&#039;s Chamber has its door open, as seen via LEVEL_G01P04A and LEVEL_G01P04A2. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List. This opcode will pull from the Level&#039;s Map Background.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2 - back_SetBackEffect ===&lt;br /&gt;
Performs various effects related to the currently loaded Animation Palettes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|effect&lt;br /&gt;
|&lt;br /&gt;
# The default state of the Animation Palette.&lt;br /&gt;
# Plays the Animation Palette in a loop.&lt;br /&gt;
# Plays the Animation Palette once.&lt;br /&gt;
# Freezes the Animation Palette at its current frame.&lt;br /&gt;
# Resumes the Animation Palette.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3 - back_SetBackScrollOffset ===&lt;br /&gt;
Shifts the background by a certain number of pixels, without affecting entities such as actors, objects, or performers. Backgrounds used with this opcode will display a &amp;quot;loop&amp;quot; effect, i.e., it has the appearance of scrolling forever.&lt;br /&gt;
&lt;br /&gt;
This opcode seems to only work for only a few Levels, such as LEVEL_P13P01A, LEVEL_S13P06A, and LEVEL_V03P11A.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|offset0&lt;br /&gt;
|The number of pixels to shift either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 X-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 1 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level is hardcoded.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|offset1&lt;br /&gt;
|The number of pixels to shift either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 Y-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 2 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level is hardcoded.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x4 - back_SetBackScrollSpeed ===&lt;br /&gt;
Continuously scrolls the background at a certain speed, without affecting entities such as actors, objects, or performers. Backgrounds used with this opcode will display a &amp;quot;loop&amp;quot; effect, i.e., it has the appearance of scrolling forever.&lt;br /&gt;
&lt;br /&gt;
This opcode seems to only work for only a few Levels, such as LEVEL_P13P01A, LEVEL_S13P06A, and LEVEL_V03P11A.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint16&lt;br /&gt;
|speed0&lt;br /&gt;
|The speed to scroll either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 X-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 1 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint16&lt;br /&gt;
|speed1&lt;br /&gt;
|The speed to scroll either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 Y-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 2 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5 - back_SetBanner ===&lt;br /&gt;
Displays broken text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|chapter_number&lt;br /&gt;
|The chapter number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6 - back_SetBanner2 ===&lt;br /&gt;
Displays text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode is typically used for chapter introductions, which includes chapter text and a subtitle displayed over a Map Background. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|An entry in the Level List. This opcode will pull from the Level&#039;s Map Background.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown. Typically, the game uses 0 for this parameter, but it seems to have no effect.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position the camera will center the Map Background on its X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position the camera will center the Map Background on its Y-axis.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|sint&lt;br /&gt;
|chapter_number&lt;br /&gt;
|The chapter number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title of the chapter, e.g., &amp;quot;A Storm At Sea&amp;quot; for Chapter 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7 - back_SetEffect ===&lt;br /&gt;
Performs various effects related to the current Map Background&#039;s layers across a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|effect&lt;br /&gt;
|&lt;br /&gt;
* Transitions from Layer 2 to Layer 1.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Transitions from Layer 2 to Layer 1.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Transitions from Layer 1 to Layer 2.&lt;br /&gt;
* Fades out Layer 1 to total darkness.&lt;br /&gt;
* Merges Layer 1 onto Layer 2, but fades in Layer 1 from total darkness.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Merges Layer onto Layer 2, but fades out Layer 1 to total darkness.&lt;br /&gt;
* Fades out Layer 1 to total darkness.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to play a given effect.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8 - back_SetDungeonBanner ===&lt;br /&gt;
Displays a specific string using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. The text chosen is defined in Dungeons tab as a dungeon&#039;s &amp;lt;code&amp;gt;back_SetDungeonBanner&amp;lt;/code&amp;gt; string. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|dungeon_id&lt;br /&gt;
|The ID of a dungeon, as listed in the Dungeons tab of SkyTemple.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown. Does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9 - back_SetGround ===&lt;br /&gt;
Sets the Map Background from a Level. Upon using this opcode, the variable &amp;lt;code&amp;gt;$GROUND_MAP&amp;lt;/code&amp;gt; will be updated to match the ID of the chosen Level. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List. This opcode will pull from the Level&#039;s Map Background.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa - back_SetSpecialEpisodeBanner ===&lt;br /&gt;
Displays text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode is used for Special Episodes 1-3. This opcode plays a short animation of a green line shooting across the screen, followed by text scrolling across the screen horizontally from opposite directions. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|episode_number&lt;br /&gt;
|The episode number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title of the episode, e.g., &amp;quot;Bidoof&#039;s Wish&amp;quot; for Special Episode 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb - back_SetSpecialEpisodeBanner2 ===&lt;br /&gt;
Displays text using the &amp;lt;code&amp;gt;FONT/banner_c.bin:FONT/b_pal_r.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode is only used for Special Episode 4. This opcode features an elaborate animation featuring hearts and sparkles, along with text scrolling across the screen horizontally from opposite directions. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|episode_number&lt;br /&gt;
|The episode number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title of the episode, e.g., &amp;quot;Bidoof&#039;s Wish&amp;quot; for Special Episode 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc - back_SetSpecialEpisodeBanner3 ===&lt;br /&gt;
Displays text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode is only used for Special Episode 5. This opcode features no animation, but the end result is similar to the opcode &amp;lt;code&amp;gt;back_SetSpecialEpisodeBanner&amp;lt;/code&amp;gt;. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|episode_number&lt;br /&gt;
|The episode number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title of the episode, e.g., &amp;quot;Bidoof&#039;s Wish&amp;quot; for Special Episode 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd - back_SetTitleBanner ===&lt;br /&gt;
Displays user-defined text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The Y-axis pixel position of the title.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe - back_SetWeather ===&lt;br /&gt;
Displays a weather effect that overlays the current Map Background.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|weather_id&lt;br /&gt;
|Values of 0 and below mean no weather effect is to be displayed.&lt;br /&gt;
&lt;br /&gt;
# Dark, unmoving clouds.&lt;br /&gt;
# Dark, unmoving clouds.&lt;br /&gt;
# Clouds.&lt;br /&gt;
# No weather.&lt;br /&gt;
# Clouds.&lt;br /&gt;
# Unknown; seems to either softlock the game or drastically change the current Map Background.&lt;br /&gt;
# Fog.&lt;br /&gt;
# No weather.&lt;br /&gt;
# Unknown; does not seem to have a visible effect, but it loads something into memory.&lt;br /&gt;
# Unknown; seems to either softlock the game or drastically change the current Map Background.&lt;br /&gt;
# Purple smog.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf - back_SetWeatherEffect ===&lt;br /&gt;
Currently unknown. The only values this opcode accepts seems to be 1, 2, and 3. Value 3 was previously used in S02P01A/m00a01a.ssb in Time/Darkness, for its iteration of the personality test. In Sky, its only use is in V00P02/m01a04a.ssb, which is a leftover test script used by the developers to test the visuals of the Time/Darkness iteration of the aura test.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x10 - back_SetWeatherScrollOffset ===&lt;br /&gt;
Currently unknown. This opcode is not used in the base game.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11 - back_SetWeatherScrollSpeed ===&lt;br /&gt;
Currently unknown. This opcode is not used in the base game.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x12 - back2_SetBackEffect ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetBackEffect&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|effect_id&lt;br /&gt;
|&lt;br /&gt;
# The default state of the Animation Palette.&lt;br /&gt;
# Plays the Animation Palette in a loop.&lt;br /&gt;
# Plays the Animation Palette once.&lt;br /&gt;
# Freezes the Animation Palette at its current frame.&lt;br /&gt;
# Resumes the Animation Palette.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x13 - back2_SetBackScrollOffset ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetBackScrollOffset&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|offset0&lt;br /&gt;
|The number of pixels to shift either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 X-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 1 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|offset1&lt;br /&gt;
|The number of pixels to shift either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 Y-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 2 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x14 - back2_SetBackScrollSpeed ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetBackScrollSpeed&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|speed0&lt;br /&gt;
|The speed to scroll either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 X-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 1 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|speed1&lt;br /&gt;
|The speed to scroll either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 Y-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 2 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x15 - back2_SetData ===&lt;br /&gt;
Currently unknown. This opcode is not used in the base game.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x16 - back2_SetEffect ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetEffect&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|effect&lt;br /&gt;
|&lt;br /&gt;
* Transitions from Layer 2 to Layer 1.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Transitions from Layer 2 to Layer 1.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Transitions from Layer 1 to Layer 2.&lt;br /&gt;
* Fades out Layer 1 to total darkness.&lt;br /&gt;
* Merges Layer 1 onto Layer 2, but fades in Layer 1 from total darkness.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Merges Layer onto Layer 2, but fades out Layer 1 to total darkness.&lt;br /&gt;
* Fades out Layer 1 to total darkness.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to play a given effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17 - back2_SetGround ===&lt;br /&gt;
Mostly the same as &amp;lt;code&amp;gt;back_SetGround&amp;lt;/code&amp;gt;, but for the Top Screen. This opcode only works if &amp;lt;code&amp;gt;back2_SetMode(4);&amp;lt;/code&amp;gt; is used prior to this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List. This opcode will pull from the Level&#039;s Map Background.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x18 - back2_SetMode ===&lt;br /&gt;
Determines a hardcoded status of the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|mode&lt;br /&gt;
|A value of 0 is no mode. A negative value seems to set the Top Screen to the overworld&#039;s current Top Screen setting.&lt;br /&gt;
&lt;br /&gt;
# Fades out the Top Screen.&lt;br /&gt;
# Team Stats.&lt;br /&gt;
# The Map Background S01P01A with the hero idling on a World Map Marker.&lt;br /&gt;
# Allows for the Top Screen to display a Map Background from a Level using the &amp;lt;code&amp;gt;back2_SetGround&amp;lt;/code&amp;gt; opcode.&lt;br /&gt;
# Splits the Map Background used in the Level defined by &amp;lt;code&amp;gt;back_SetGround&amp;lt;/code&amp;gt; equally between the Top and Touch Screen.&lt;br /&gt;
#Splits the Map Background used in the Level defined by &amp;lt;code&amp;gt;back_SetGround&amp;lt;/code&amp;gt; between the Top and Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x19 - back2_SetSpecialActing ===&lt;br /&gt;
Currently unknown.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1a - back2_SetWeather ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetWeather&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|weather_id&lt;br /&gt;
|Values of 0 and below mean no weather effect is to be displayed.&lt;br /&gt;
&lt;br /&gt;
# Dark, unmoving clouds.&lt;br /&gt;
# Dark, unmoving clouds.&lt;br /&gt;
# Clouds.&lt;br /&gt;
# No weather.&lt;br /&gt;
# Clouds.&lt;br /&gt;
# Unknown; seems to either softlock the game or drastically change the current Map Background.&lt;br /&gt;
# Fog.&lt;br /&gt;
# No weather.&lt;br /&gt;
# Unknown; does not seem to have a visible effect, but it loads something into memory.&lt;br /&gt;
# Unknown; seems to either softlock the game or drastically change the current Map Background.&lt;br /&gt;
# Purple smog.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x1b - back2_SetWeatherEffect ===&lt;br /&gt;
Currently unknown. Potentially has similar functionality as &amp;lt;code&amp;gt;back_SetWeatherEffect&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1c - back2_SetWeatherScrollOffset ===&lt;br /&gt;
Currently unknown. Potentially has similar functionality as &amp;lt;code&amp;gt;back_SetWeatherScrollOffset&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1d - back2_SetWeatherScrollSpeed ===&lt;br /&gt;
Currently unknown. Potentially has similar functionality as &amp;lt;code&amp;gt;back_SetWeatherScrollSpeed&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1e - bgm_FadeOut ===&lt;br /&gt;
Fades out the BGM that is currently playing over a certain period of time on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out and silence a given BGM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1f - bgm_Play ===&lt;br /&gt;
Instantly plays a BGM on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A music track defined in SOUND/BGM of the ROM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x20 - bgm_PlayFadeIn ===&lt;br /&gt;
Starts playing a BGM over a certain period of time and at a certain volume on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A music track defined in SOUND/BGM of the ROM.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade in the BGM.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x21 - bgm_Stop ===&lt;br /&gt;
Instantly stops the BGM that is currently playing on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x22 - bgm_ChangeVolume ===&lt;br /&gt;
Changes the volume of the BGM that is currently playing on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the BGM&#039;s volume.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x23 - bgm2_FadeOut ===&lt;br /&gt;
Fades out the BGM that is currently playing over a certain period of time on the second BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out and silence a given BGM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x24 - bgm2_Play ===&lt;br /&gt;
Instantly plays a BGM on the second BGM track.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A music track defined in SOUND/BGM of the ROM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x25 - bgm2_PlayFadeIn ===&lt;br /&gt;
Starts playing a BGM over a certain period of time and at a certain volume on the second BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A music track defined in SOUND/BGM of the ROM.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade in the BGM.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x26 - bgm2_Stop ===&lt;br /&gt;
Instantly stops the BGM that is currently playing on the second BGM track.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x27 - bgm2_ChangeVolume ===&lt;br /&gt;
Changes the volume of the BGM that is currently playing on the second BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames to change the BGM&#039;s volume.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x38 - CallCommon ===&lt;br /&gt;
Jumps to the specified Unionall Coroutine, runs its code, and returns to the line of code in which this opcode was used (only if &amp;lt;code&amp;gt;return;&amp;lt;/code&amp;gt; was used in the Coroutine). This opcode can be used in any script, no matter the type (Common, Enter, Acting, or Sub).&lt;br /&gt;
&lt;br /&gt;
If used in the context of an actor/object/performer, this should not be used in with-statements.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|One of the 701 possible Unionall Coroutines.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x39 - camera_Move2Default ===&lt;br /&gt;
Moves the camera toward an active Type 1 actor (e.g., ACTOR_PLAYER) without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3a - camera_Move2MyPosition ===&lt;br /&gt;
Moves the camera toward a specific entity&#039;s position (i.e., an actor, object, or performer) without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3b - camera_Move2Myself ===&lt;br /&gt;
Moves the camera toward a specific entity (i.e., an actor, object, or performer) without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3c - camera_Move2PositionMark ===&lt;br /&gt;
Moves the camera to one or more Position Marks without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3d - camera_Move2PositionMark ===&lt;br /&gt;
Moves the camera to a Position Mark without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3e - camera_Move3Default ===&lt;br /&gt;
Moves the camera toward an active Type 1 actor (e.g., ACTOR_PLAYER) in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3f - camera_Move3MyPosition ===&lt;br /&gt;
Moves the camera toward a specific entity&#039;s position (i.e., an actor, object, or performer) in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x40 - camera_Move3Myself ===&lt;br /&gt;
Moves the camera toward a specific entity (i.e., an actor, object, or performer) in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x41 - camera_Move3PositionMark ===&lt;br /&gt;
Moves the camera to one or more Position Marks in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x42 - camera_Move3PositionMark ===&lt;br /&gt;
Moves the camera to a Position Mark without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x43 - camera_MoveDefault ===&lt;br /&gt;
Moves the camera toward an active Type 1 actor (e.g., ACTOR_PLAYER) while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x44 - camera_MoveMyPosition ===&lt;br /&gt;
Moves the camera toward a specific entity&#039;s position (i.e., an actor, object, or performer) while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x45 - camera_MoveMyself ===&lt;br /&gt;
Moves the camera toward a specific entity (i.e., an actor, object, or performer) while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x46 - camera_MovePositionMark ===&lt;br /&gt;
Moves the camera to one or more Position Marks while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x47 - camera_MovePositionMark ===&lt;br /&gt;
Moves the camera to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x48 - camera_SetDefault ===&lt;br /&gt;
Instantly sets the camera to a Type 1 actor (e.g., ACTOR_PLAYER).&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x49 - camera_SetEffect ===&lt;br /&gt;
Continuously shakes the camera at specified intensities. Entities will be affected by the camera shaking, but not textboxes and portraits. The camera will continue to shake even if it is moved using another opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Values of 0 or 3+ mean the camera will not shake.&lt;br /&gt;
&lt;br /&gt;
# Erratic, jerky shaking.&lt;br /&gt;
# Subdued, smoother shaking.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|intensity&lt;br /&gt;
|The intensity of the shake. Higher values will result in a more intense shake.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a slower speed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x4a - camera_SetMyPosition ===&lt;br /&gt;
Instantly sets the camera toward a specific entity&#039;s position (i.e., an actor, object, or performer).&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x4b - camera_SetMyself ===&lt;br /&gt;
Instantly sets the camera to a specific entity (i.e., an actor, object, or performer). Once performed, the camera will now follow the entity wherever it moves.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x4c - camera_SetPositionMark ===&lt;br /&gt;
Instantly sets the camera to a Position Mark.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x4d - camera2_Move2Default ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2Default&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x4e - camera2_Move2MyPosition ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2MyPosition&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x4f - camera2_Move2Myself ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2Myself&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x50 - camera2_Move2PositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2PositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x51 - camera2_Move2PositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2PositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x52 - camera2_Move3Default ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3Default&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x53 - camera2_Move3MyPosition ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3MyPosition&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x54 - camera2_Move3Myself ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3Myself&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x55 - camera2_Move3PositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3PositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x56 - camera2_Move3PositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3PositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x57 - camera2_MoveDefault ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MoveDefault&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x58 - camera2_MoveMyPosition ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MoveMyPosition&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x59 - camera2_MoveMyself ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MoveMyself&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5a - camera2_MovePositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MovePositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5b - camera2_MovePositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MovePositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5c - camera2_SetDefault ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetDefault&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x5d - camera2_SetEffect ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetEffect&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Values of 0 or 3+ mean the camera will not shake.&lt;br /&gt;
&lt;br /&gt;
# Erratic, jerky shaking.&lt;br /&gt;
# Subdued, smoother shaking.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|intensity&lt;br /&gt;
|The intensity of the shake. Higher values will result in a more intense shake.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a slower speed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5e - camera2_SetMyPosition ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetMyPosition&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x5f - camera2_SetMyself ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetMyself&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x60 - camera2_SetPositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetPositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x61 - CancelCut ===&lt;br /&gt;
Reverses the effects of the opcode &amp;lt;code&amp;gt;CancelRecoverCommon&amp;lt;/code&amp;gt;, i.e., disallows the game from reloading Unionall at a Coroutine by pressing the Start button.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x62 - CancelRecoverCommon ===&lt;br /&gt;
Allows reloading Unionall at a specified Coroutine by pressing the Start button. This can be done in a cutscene and the overworld.&lt;br /&gt;
&lt;br /&gt;
Once the Start button is pressed, the game will stop the current script, fade out the entire screen, and reload Unionall and begin running code at the specified Coroutine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|One of the 701 possible Unionall Coroutines.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6a - debug_Assert ===&lt;br /&gt;
Does nothing in the final game.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6b - debug_Print ===&lt;br /&gt;
Does nothing in the final game.&lt;br /&gt;
&lt;br /&gt;
If the script is running using SkyTemple&#039;s debugger and the &amp;quot;Script Debug&amp;quot; checkbox is ticked, the specified string will be printed to the Debug Log.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ConstString&lt;br /&gt;
|txt&lt;br /&gt;
|A string to be printed to the Debug Log.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6c - debug_PrintFlag ===&lt;br /&gt;
Does nothing in the final game.&lt;br /&gt;
&lt;br /&gt;
If the script is running using SkyTemple&#039;s debugger and the &amp;quot;Script Debug&amp;quot; checkbox is ticked, the specified string will be printed to the Debug Log, along with the value of the specified script variable.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|One of the 115 possible script variables. Indexed variables are not encouraged to use, since the Debug Log will only read from the first index.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|txt&lt;br /&gt;
|A string to be printed to the Debug Log.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6d - debug_PrintScenario ===&lt;br /&gt;
If the script is running using SkyTemple&#039;s debugger and the &amp;quot;Script Debug&amp;quot; checkbox is ticked, the specified string will be printed to the Debug Log, along with two indices of the specified script variable.&lt;br /&gt;
&lt;br /&gt;
This opcode&#039;s Debug Log implementation currently seems broken, as it prints the first index of the specified variable twice.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|One of the 115 possible script variables. A two-indexed variable (e.g., &amp;lt;code&amp;gt;$SCENARIO_MAIN&amp;lt;/code&amp;gt;) is encouraged to use.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|txt&lt;br /&gt;
|A string to be printed to the Debug Log.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6f - Destroy ===&lt;br /&gt;
Instantly removes an active entity (i.e., an actor, object, or performer) from memory.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x71 - EndAnimation ===&lt;br /&gt;
Stops an actor or object&#039;s looping animation once it reaches the end of its animation frames.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x72 - ExecuteActing ===&lt;br /&gt;
Currently unknown.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x73 - ExecuteCommon ===&lt;br /&gt;
Jumps to a Unionall Coroutine, runs its code, and returns to the line in which this opcode was called. This opcode should be called if the specified Coroutine ends with &amp;lt;code&amp;gt;hold;&amp;lt;/code&amp;gt;. Typically, the base game uses this command with Coroutines whose names end with &amp;quot;FUNC_SERIES&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|One of the 701 possible Unionall Coroutines.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x81 - Flash ===&lt;br /&gt;
Zeroes-out the return address used by the &amp;lt;code&amp;gt;Return&amp;lt;/code&amp;gt; opcode. This opcode is not used in the base game.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x83 - item_GetVariable ===&lt;br /&gt;
Saves the value in a specific item slot (set by &amp;lt;code&amp;gt;item_Set&amp;lt;/code&amp;gt;) to a script variable.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|slot&lt;br /&gt;
|An item slot used by many &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|One of the indexed variables. Non-indexed values causes the IndexError.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x84 - item_Set ===&lt;br /&gt;
Sets an item into an item slot, which can be used by other various &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
&lt;br /&gt;
Items in slot 0 may also be added to the player&#039;s bag and storage with hardcoded menus, such as &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM);&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM2);&amp;lt;/code&amp;gt;, respectively. Additionally, the text tag &amp;lt;code&amp;gt;[s_item:X]&amp;lt;/code&amp;gt; will display the item&#039;s name, where X is the item slot number.&lt;br /&gt;
&lt;br /&gt;
Item slots 0-3 are safe to use, but item slots 4 and beyond will begin to overwrite other memory!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|slot&lt;br /&gt;
|An item slot used by many &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|item_id&lt;br /&gt;
|The ID of the item, where all are listed in the Items tab of SkyTemple. &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|item_stack&lt;br /&gt;
|The stack count of an item, if it belongs to a Thrown category. Treasure Boxes will also use this as the item earned when opening the box at Xatu&#039;s Appraisal.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x85 - item_SetTableData ===&lt;br /&gt;
Sets a random item from predefined tables into an item slot, which can be used by other various &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes. This opcode is used mainly in Spinda&#039;s Cafe, for redeeming a random Recycle Shop prize and for receiving items from Treasure Town NPCs after giving them Sky Gifts.&lt;br /&gt;
&lt;br /&gt;
Items in slot 0 may also be added to the player&#039;s bag and storage with hardcoded menus, such as &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM);&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM2);&amp;lt;/code&amp;gt;, respectively. Additionally, the text tag &amp;lt;code&amp;gt;[s_item:X]&amp;lt;/code&amp;gt; will display the item&#039;s name, where X is the item slot number.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|slot&lt;br /&gt;
|An item slot used by many &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|table_ID&lt;br /&gt;
|Some item tables related to Spinda&#039;s Cafe.&lt;br /&gt;
|}&lt;br /&gt;
The table IDs themselves are as follows. Values above 15 are currently unknown and untested. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!#&lt;br /&gt;
!Description&lt;br /&gt;
!#&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Sky Gift Item Pool&lt;br /&gt;
|8&lt;br /&gt;
|Silver Ticket Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Numel &amp;quot;Give&amp;quot; Item Pool&lt;br /&gt;
|9&lt;br /&gt;
|Silver Ticket Big Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Numel &amp;quot;Recieve&amp;quot; Item Pool&lt;br /&gt;
|10&lt;br /&gt;
|Gold Ticket Loss Pool&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Happiny Lost Item Pool&lt;br /&gt;
|11&lt;br /&gt;
|Gold Ticket Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Prize Ticket Loss Pool&lt;br /&gt;
|12&lt;br /&gt;
|Gold Ticket Big Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Prize Ticket Win Pool&lt;br /&gt;
|13&lt;br /&gt;
|Prism Ticket Loss Pool&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Prize Ticket Big Win Pool&lt;br /&gt;
|14&lt;br /&gt;
|Prism Ticket Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Silver Ticket Loss Pool&lt;br /&gt;
|15&lt;br /&gt;
|Prism Ticket Big Win Pool&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x86 - item_SetVariable ===&lt;br /&gt;
Saves the value of a script variable to an item slot. Items in slot 0 may also be added to the player&#039;s bag and storage with hardcoded menus, such as &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM);&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM2);&amp;lt;/code&amp;gt;, respectively. Additionally, the text tag &amp;lt;code&amp;gt;[s_item:X]&amp;lt;/code&amp;gt; will display the item&#039;s name, where X is the item slot number.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|slot&lt;br /&gt;
|An item slot used by many &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|One of the 115 possible script variables.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x88 - JumpCommon ===&lt;br /&gt;
Jumps to the specified Unionall Coroutine and runs its code, without returning to the line in which this opcode was first used. This opcode can be used in any script, no matter the type (Common, Enter, Acting, or Sub), but is mostly used by the base game in Unionall.&lt;br /&gt;
&lt;br /&gt;
If attempting to execute a Unionall Coroutine from inside an Enter, Acting, or Sub script to play Acting scripts, use &amp;lt;code&amp;gt;supervision_ExecuteCommon&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|One of the 701 possible Unionall Coroutines.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8a - LoadPosition ===&lt;br /&gt;
Sets various attributes of an entity (i.e., an actor, object, or performer) to the values of all indexed &amp;lt;code&amp;gt;$POSITION_&amp;lt;/code&amp;gt; script variables. These include changing the entity&#039;s X and Y coordinates, height, and direction.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|Index used by all &amp;lt;code&amp;gt;$POSITION_&amp;lt;/code&amp;gt; script variables, ranged from 0-2 (inclusive).&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8b - Lock ===&lt;br /&gt;
Suspends the current routine until the opcode &amp;lt;code&amp;gt;Unlock&amp;lt;/code&amp;gt; is called with the same &#039;&#039;lock_id&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|The ID of a Lock, ranged from 0-19 (inclusive).&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8c - main_EnterAdventure ===&lt;br /&gt;
Performs various functions related to entering a dungeon using the crossroads menu.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|mode&lt;br /&gt;
|Most modes are not known, but:&lt;br /&gt;
&lt;br /&gt;
* 32767 opens the dungeon selection menu.&lt;br /&gt;
* 251 stops the current script to reload Unionall starting from the Coroutine CORO_MOVE_WORLD_MAP.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8d - main_EnterDungeon ===&lt;br /&gt;
Attempts to exit ground mode and begins dungeon mode at a specific dungeon.&lt;br /&gt;
&lt;br /&gt;
If attempting to run this opcode before selecting any option from the Top Menu, the game will not enter any dungeon and instead attempt to load a DEMO Unionall coroutine or the Top Menu.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|dungeon_id&lt;br /&gt;
|The dungeon ID to enter, which are all listed in the Dungeons tab of SkyTemple. A value of -1 actually enters dungeon mode—it is insufficient to use this opcode a single time to enter a specific dungeon.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out the screens.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8e - main_EnterGround ===&lt;br /&gt;
Stops the current script to reload Unionall starting from the Coroutine CORO_EVENT_DIVIDE. This opcode also updates the following script variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt;: This opcode&#039;s &#039;&#039;level_id_enter&#039;&#039; parameter.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER_LINK&amp;lt;/code&amp;gt;: Set to 0.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_GETOUT&amp;lt;/code&amp;gt;: The value of &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt; prior to using this opcode.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_MAP&amp;lt;/code&amp;gt;: The Level ID used to display the Map Background.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_PLACE&amp;lt;/code&amp;gt;: The World Map Marker ID that determines where the player appears on the Top Screen when selecting &amp;quot;Map and team&amp;quot; in the overworld.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_START_MODE&amp;lt;/code&amp;gt;: Set to 3.&lt;br /&gt;
&lt;br /&gt;
In the base game, using this opcode allows for transitioning between Levels in the Overworld, as the game will eventually run the &amp;lt;code&amp;gt;supervision_ExecuteEnter&amp;lt;/code&amp;gt; opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List. Ideally, this opcode would load the specified Level&#039;s Enter00 script.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out the screens.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8f - main_EnterGroundMulti ===&lt;br /&gt;
Stops the current script to reload Unionall starting from the Coroutine CORO_EVENT_DIVIDE. This opcode also updates the following script variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt;: This opcode&#039;s &#039;&#039;level_id_enter&#039;&#039; parameter.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER_LINK&amp;lt;/code&amp;gt;: This opcode&#039;s &#039;&#039;level_id_link&#039;&#039; parameter.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_GETOUT&amp;lt;/code&amp;gt;: The value of &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt; prior to using this opcode.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_MAP&amp;lt;/code&amp;gt;: The Level ID used to display the Map Background.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_PLACE&amp;lt;/code&amp;gt;: The World Map Marker ID that determines where the player appears on the Top Screen when selecting &amp;quot;Map and team&amp;quot; in the overworld.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_START_MODE&amp;lt;/code&amp;gt;: Set to 3.&lt;br /&gt;
&lt;br /&gt;
In the base game, using this opcode allows for transitioning between Levels in the Overworld, as the game will eventually run the &amp;lt;code&amp;gt;supervision_ExecuteEnter&amp;lt;/code&amp;gt; opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id_enter&lt;br /&gt;
|An entry in the Level List. Ideally, this opcode would load the specified Level&#039;s Enter00 script.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out the screens.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Level&lt;br /&gt;
|level_id_link&lt;br /&gt;
|An entry in the Level List. Used to update &amp;lt;code&amp;gt;$GROUND_ENTER_LINK&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x90 - main_EnterRescueUser ===&lt;br /&gt;
Exits ground mode and begins dungeon mode while taking an SOS Mail. Dungeon selection seems to be determined by the SOS Mail chosen via &amp;lt;code&amp;gt;message_Menu(MENU_S_O_S_MAIL_PICKER);&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out the screens.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x91 - main_EnterTraining ===&lt;br /&gt;
Performs various functions related to entering a dungeon using Marowak Dojo.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Most modes are not known, but:&lt;br /&gt;
&lt;br /&gt;
* 32767 opens the generic dojo selection menu&lt;br /&gt;
* 251 goes to the Coroutine CORO_GOTO_TRAINING_DUNGEON, which later stops the current script to reload Unionall starting from the Coroutine CORO_ENTER_TRAINING_DUNGEON.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x92 - main_EnterTraining2 ===&lt;br /&gt;
Performs various functions related to entering a dungeon using Marowak Dojo&#039;s Final Maze.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Most modes are not known, but:&lt;br /&gt;
&lt;br /&gt;
* 32767 opens a dojo selection menu that only involves Final Maze.&lt;br /&gt;
* 251 goes to the Coroutine CORO_GOTO_TRAINING_DUNGEON, which later stops the current script to reload Unionall starting from the Coroutine CORO_ENTER_TRAINING_DUNGEON.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x93 - main_SetGround ===&lt;br /&gt;
Updates the following variables&#039; values to be this opcode&#039;s &#039;&#039;level_id&#039;&#039; parameter:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_GETOUT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x94 - me_Play ===&lt;br /&gt;
Instantly plays a special [[sound effect]] that can seamlessly interrupt any BGM tracks that are currently playing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|me_id&lt;br /&gt;
|A sound effect defined in SOUND/ME of the ROM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x95 - me_Stop ===&lt;br /&gt;
Instantly stops the currently-playing special [[sound effect]] called with &amp;lt;code&amp;gt;me_Play&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x96 - message_Close ===&lt;br /&gt;
Suspends the current routine and allows for closing an active textbox (and portrait, if active) set by one of the following opcodes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message_ImitationSound&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Mail&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Notice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_SpecialTalk&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By pressing the A Button, B Button, or tapping the textbox via the Touch Screen. Once the textbox is closed, the current routine resumes.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x97 - message_CloseEnforce ===&lt;br /&gt;
Instantly closes an active textbox (and portrait, if active) once the game finishes displaying a string set by one of the following opcodes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message_ImitationSound&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Mail&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Notice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_SpecialTalk&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x98 - message_Explanation ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter centered in the middle of the Touch Screen. The string will appear without any frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple). This opcode does not need &amp;lt;code&amp;gt;message_Close&amp;lt;/code&amp;gt; to suspend the routine.&lt;br /&gt;
&lt;br /&gt;
This opcode does not support displaying a portrait. No sound will emit from the text scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x99 - message_FacePositionOffset ===&lt;br /&gt;
Offsets the active portrait in pixels by multiples of 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|The offset to shift the portrait box across the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|The offset to shift the portrait box across the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9a - message_ImitationSound ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple).&lt;br /&gt;
&lt;br /&gt;
This opcode does not support displaying a portrait. No sound will emit from the text scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9b - message_KeyWait ===&lt;br /&gt;
If an active textbox has finished displaying its string and was created by one of the following opcodes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message_ImitationSound&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Mail&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Notice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_SpecialTalk&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This opcode suspends the current routine until the A Button, B Button or textbox is pressed (via the Touch Screen). Once done so, the textbox will not close, but the current routine will resume.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x9c - message_Mail ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple).&lt;br /&gt;
&lt;br /&gt;
This opcode does not support displaying a portrait. No sound will emit from the text scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9d - message_Menu ===&lt;br /&gt;
Executes various hardcoded &amp;quot;menu&amp;quot; functionalities given a certain ID. Some IDs result in an actual menu, while others simply perform a silent task.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Menu&lt;br /&gt;
|menu_id&lt;br /&gt;
|The ID of a menu, the list of which can be seen by typing &amp;lt;code&amp;gt;MENU_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9e - message_Monologue ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple).&lt;br /&gt;
&lt;br /&gt;
This opcode supports displaying a portrait. No sound will emit from the text scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9f - message_Narration ===&lt;br /&gt;
Fades in the screen and instantly displays the string defined in the &#039;&#039;txt&#039;&#039; parameter centered in the middle of the Touch Screen. The string will appear without any frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple). This opcode does not need &amp;lt;code&amp;gt;message_Close&amp;lt;/code&amp;gt; to suspend the routine. Once the routine is resumed (by pressing the A Button, B Button, or text via the Touch Screen), the screen will fade out, including the string.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade in/out the Touch Screen.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa0 - message_Notice ===&lt;br /&gt;
Instantly displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple).&lt;br /&gt;
&lt;br /&gt;
This opcode does not support displaying a portrait.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa1 - message_EmptyActor ===&lt;br /&gt;
Disallows a portrait from appearing alongside a textbox, along with disallowing a name to appear in the textbox if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0xa2 - message_ResetActor ===&lt;br /&gt;
Disallows a portrait from appearing alongside a textbox, along with setting a speech bubble (the text tag [M:T1]) to the start of next script string if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0xa3 - message_SetActor ===&lt;br /&gt;
Sets the specified actor&#039;s name to the start of the next script string if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa4 - message_SetFace ===&lt;br /&gt;
Sets the specified actor&#039;s name to the start of the next script string if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode. Will also display a portrait of the actor&#039;s species at a specified position if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt; follow this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Face&lt;br /&gt;
|face_id&lt;br /&gt;
|The ID of a portrait, the list of which can be seen by typing FACE_ in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|FaceMode&lt;br /&gt;
|face_mode&lt;br /&gt;
|The position of a portrait, the list of which can be seen by typing &amp;lt;code&amp;gt;FACE_POS_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa5 - message_SetFaceEmpty ===&lt;br /&gt;
Displays a portrait of the actor&#039;s species at a specified position if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt; follow this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Face&lt;br /&gt;
|face_id&lt;br /&gt;
|The ID of a portrait, the list of which can be seen by typing FACE_ in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|FaceMode&lt;br /&gt;
|face_mode&lt;br /&gt;
|The position of a portrait, the list of which can be seen by typing &amp;lt;code&amp;gt;FACE_POS_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa6 - message_SetFaceOnly ===&lt;br /&gt;
Sets a speech bubble (the text tag [M:T1]) to the start of the next script string if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode. Will also display a portrait of the actor&#039;s species at a specified position if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt; follow this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Face&lt;br /&gt;
|face_id&lt;br /&gt;
|The ID of a portrait, the list of which can be seen by typing FACE_ in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|FaceMode&lt;br /&gt;
|face_mode&lt;br /&gt;
|The position of a portrait, the list of which can be seen by typing &amp;lt;code&amp;gt;FACE_POS_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa7 - message_SetFacePosition ===&lt;br /&gt;
Re-positions an actor&#039;s portrait.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|FaceMode&lt;br /&gt;
|face_mode&lt;br /&gt;
|The position of a portrait, the list of which can be seen by typing &amp;lt;code&amp;gt;FACE_POS_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa8 - message_SetWaitMode ===&lt;br /&gt;
Makes strings displayed with a &amp;lt;code&amp;gt;message_&amp;lt;/code&amp;gt; opcode auto-scroll. For both parameters, a value of -1 means the auto-scroll will stop.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|duration0&lt;br /&gt;
|Sets the frame count for a textbox auto-advancing, once the end of the string has been displayed and the following opcode is &amp;lt;code&amp;gt;message_KeyWait();&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|duration1&lt;br /&gt;
|Sets the frame count for text tags such as [K] auto-advancing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa9 - message_SpecialTalk ===&lt;br /&gt;
Displays a random Text String based off of the actor ACTOR_TALK_SUB&#039;s Talk Group.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|category&lt;br /&gt;
|A category of Text String.&lt;br /&gt;
&lt;br /&gt;
* 0 seems to use Text Strings while not in a dungeon (e.g., teammates waiting at Spinda&#039;s Cafe).&lt;br /&gt;
* 1 seems to be use Text Strings while mid-dungeon (e.g., teammates at Amp Plains).&lt;br /&gt;
|}&lt;br /&gt;
=== 0xae - message_Talk ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple). &lt;br /&gt;
&lt;br /&gt;
This opcode supports displaying a portrait. The [[sound effect]] 16133 will emit from the each character scrolling in the text.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xaf - Move2Position ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a specific pixel position without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position on the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position on the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb0 - Move2PositionLives ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb1 - Move2PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to one or more Position Marks without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0xb2 - Move2PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb3 - Move2PositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x, y&lt;br /&gt;
|The pixel offset to shift the entity across the X or Y-axis.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb4 - Move2PositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel offset to shift the entity across the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel offset to shift the entity across the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb5 - Move2PositionOffsetRandom ===&lt;br /&gt;
Continuously and randomly offsets an entity (i.e., an actor, object, or performer) from its current position across both axes without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|Determines something about the random pixel value chosen to apply to the X-axis; somewhat unknown.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|Determines something about the random pixel value chosen to apply to the Y-axis; somewhat unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb6 - Move3Position ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a specific pixel position in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position on the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position on the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb7 - Move3PositionLives ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb8 - Move3PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb9 - Move3PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xba - Move3PositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x, y&lt;br /&gt;
|The pixel offset to shift the entity across the X or Y-axis.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbb - Move3PositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel offset to shift the entity across the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel offset to shift the entity across the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbc - Move3PositionOffsetRandom ===&lt;br /&gt;
Continuously and randomly offsets an entity (i.e., an actor, object, or performer) from its current position across both axes in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|Determines something about the random pixel value chosen to apply to the X-axis; somewhat unknown.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|Determines something about the random pixel value chosen to apply to the Y-axis; somewhat unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbd - MoveDirection ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) by a certain number of pixels based on a given direction. Movement is performed while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|offset&lt;br /&gt;
|The pixel offset to shift the entity relative to the entity&#039;s direction.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|The type of direction, the list of which can be seen by typing &amp;lt;code&amp;gt;DIR_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbe - MoveHeight ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a certain pixel height, displacing it from its shadow. When used, the entity&#039;s animation and direction will not change.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|height&lt;br /&gt;
|The pixel height to set the entity relative to their shadow.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbf - MovePosition ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a specific pixel position while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position on the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position on the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc0 - MovePositionLives ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc1 - MovePositionLivesTime ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor while restricting movement by eight angles—as if movement was performed using the D-Pad. Movement will end once either the entity reaches the actor or after a certain number of frames have passed—whichever comes first.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to move the entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc2 - MovePositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc3 - MovePositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc4 - MovePositionMarkTime ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad. Movement will end once either the entity reaches the Position Mark or after a certain number of frames have passed—whichever comes first.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to move the entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc5 - MovePositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x, y&lt;br /&gt;
|The pixel offset to shift the entity across the X or Y-axis.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc6 - MovePositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel offset to shift the entity across the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel offset to shift the entity across the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc7 - MoveSpecial ===&lt;br /&gt;
Currently unknown. Seems to move an entity (i.e., an actor, object, or performer) based on some hardcoded behaviors.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Determines the kind of action.&lt;br /&gt;
&lt;br /&gt;
# Spin and move in a circular motion.&lt;br /&gt;
# Spin and move in a circular motion.&lt;br /&gt;
# Currently unknown.&lt;br /&gt;
# Currently unknown.&lt;br /&gt;
# Currently unknown. Seems to be the most commonly-used value, as a part of the Unionall Coroutine CORO_LIVES_REPLY_NOMRAL.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown. Seems to affect how far the entity will move?&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc8 - MoveTurn ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) based on a certain pattern. Unlike other &amp;lt;code&amp;gt;Move&amp;lt;/code&amp;gt; opcodes, this opcode will make the entity interact with the currently loaded Map Background&#039;s collision (i.e., the entity stops when hitting a wall).&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|distance&lt;br /&gt;
|How far the entity will move. Higher values result in greater distance being covered.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
&lt;br /&gt;
This parameter also seems to affect the distance traveled.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|pattern&lt;br /&gt;
|A hardcoded pattern to move in.&lt;br /&gt;
&lt;br /&gt;
# Moves in a circle clockwise.&lt;br /&gt;
# Moves in a circle counterclockwise.&lt;br /&gt;
# Moves in a square clockwise.&lt;br /&gt;
# Moves in a square counterclockwise.&lt;br /&gt;
# Zig-zags back and forth.&lt;br /&gt;
&lt;br /&gt;
Values 6 and above seem to be variations of random movement.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xca - PauseEffect ===&lt;br /&gt;
Instantly pauses the current graphical effect of an entity (i.e., an actor, object, or performer). The effect will freeze mid-frame.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Effect&lt;br /&gt;
|effect_id&lt;br /&gt;
|A graphical effect to display relative to an entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xcc - ProcessSpecial ===&lt;br /&gt;
Executes one of the game&#039;s Special Processes. The return value of a Special Process can be checked by encasing this opcode in a &amp;lt;code&amp;gt;switch&amp;lt;/code&amp;gt; statement. A negative return value is not acceptable and will cause the game to suspend indefinitely.&lt;br /&gt;
&lt;br /&gt;
This opcode cannot be used in targeted routines.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ProcessSpecial&lt;br /&gt;
|process_id&lt;br /&gt;
|One of the game&#039;s Special Processes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|process_param1&lt;br /&gt;
|The first parameter used by the Special Process.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|process_param2&lt;br /&gt;
|The first parameter used by the Special Process.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xcd - PursueTurnLives ===&lt;br /&gt;
Causes an entity (i.e., an actor, object, or performer) to continuously turn toward an actor for a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to make the entity turn. A value of 0 will make the entity turn forever.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Turning speed. Higher values result in a slower speed.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|The actor to turn toward.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|rotation&lt;br /&gt;
|&lt;br /&gt;
# Clockwise.&lt;br /&gt;
# Counterclockwise.&lt;br /&gt;
&lt;br /&gt;
A value of 10 will make the entity choose the nearest rotation.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xce - PursueTurnLives2 ===&lt;br /&gt;
Causes an entity (i.e., an actor, object, or performer) to continuously turn toward an actor for a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to make the entity turn. A value of 0 will make the entity turn forever.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Turning speed. Higher values result in a slower speed.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|The actor to turn toward.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|rotation&lt;br /&gt;
|&lt;br /&gt;
# Clockwise.&lt;br /&gt;
# Counterclockwise.&lt;br /&gt;
&lt;br /&gt;
A value of 10 will make the entity choose the nearest rotation.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xcf - ResetAttribute ===&lt;br /&gt;
Currently unknown. Seems to get ignored when parsed in the scripting engine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd0 - ResetFunctionAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;function&amp;quot; attribute to 0.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|function_bitfield&lt;br /&gt;
|Most bits&#039; purposes are unknown. Bit 1 appears to be the bit used for allowing an entity to follow a Type 1 actor, like the actor ACTOR_ATTENDANT1 in the overworld.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd1 - ResetHitAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;hit&amp;quot; attribute to 0.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|hit_bitfield&lt;br /&gt;
|Most bits&#039; purposes are unknown.&lt;br /&gt;
&lt;br /&gt;
* 2: Entity collision.&lt;br /&gt;
* 6: Talk Script upon collision.&lt;br /&gt;
* 7: Talk Script upon pressing the A Button near the entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd2 - ResetOutputAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;output&amp;quot; attribute to 0.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|output_bitfield&lt;br /&gt;
|&lt;br /&gt;
# Underlay below entities.&lt;br /&gt;
# Overlay above entities.&lt;br /&gt;
# Overlay above the current Map Background&#039;s Layer 2.&lt;br /&gt;
# Overlay above the game&#039;s canvas system, which includes the textbox, portrait, and some &amp;lt;code&amp;gt;screen_&amp;lt;/code&amp;gt; commands that do not end in &amp;lt;code&amp;gt;All&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Flicker.&lt;br /&gt;
# Transparency.&lt;br /&gt;
# Invisibility.&lt;br /&gt;
# Displays shadow.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd3 - ResetReplyAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;reply&amp;quot; attribute to 0.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|reply_bitfield&lt;br /&gt;
|Most bits&#039; purposes are unknown.&lt;br /&gt;
&lt;br /&gt;
* 1: Talk Script upon collision.&lt;br /&gt;
* 2: Talk Script upon pressing the A Button near the entity.&lt;br /&gt;
* 6: Underlay below entities.&lt;br /&gt;
* 7: Overlay above entities.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd4 - ResumeEffect ===&lt;br /&gt;
Resumes the current graphical effect of an entity (i.e., an actor, object, or performer) that has been paused with &amp;lt;code&amp;gt;PauseEffect&amp;lt;/code&amp;gt; prior to using this opcode.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Effect&lt;br /&gt;
|effect_id&lt;br /&gt;
|A graphical effect to display relative to an entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd6 - SavePosition ===&lt;br /&gt;
Saves various attributes of an entity (i.e., an actor, object, or performer) to the following script variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$POSITION_X&amp;lt;/code&amp;gt;: The pixel position of the entity on the X-axis multiplied by 256.&lt;br /&gt;
* &amp;lt;code&amp;gt;$POSITION_Y&amp;lt;/code&amp;gt;: The pixel position of the entity on the Y-axis multiplied by 256.&lt;br /&gt;
* &amp;lt;code&amp;gt;$POSITION_HEIGHT&amp;lt;/code&amp;gt;: The pixel height (i.e., displacement of the entity from their shadow) of the entity multiplied by 256.&lt;br /&gt;
* &amp;lt;code&amp;gt;$POSITION_DIRECTION&amp;lt;/code&amp;gt;: The direction the entity is facing.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|Index used by all &amp;lt;code&amp;gt;$POSITION_&amp;lt;/code&amp;gt; script variables, ranged from 0-2 (inclusive).&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd7 - screen_FadeChange ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and 1 is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd8 - screen_FadeChangeAll ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd9 - screen_FadeIn ===&lt;br /&gt;
Changes the brightness of the screen to its default state across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xda - screen_FadeInAll ===&lt;br /&gt;
Changes the brightness of the screen to its default state across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xdb - screen_FadeOut ===&lt;br /&gt;
Changes the brightness of the screen to its minimum (i.e., a black screen) across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xdc - screen_FadeOutAll ===&lt;br /&gt;
Changes the brightness of the screen to its minimum (i.e., a black screen) across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xdd - screen_FlushChange ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|unk4&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|unk5&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|uint&lt;br /&gt;
|unk6&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|uint&lt;br /&gt;
|unk7&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0xde - screen_FlushIn ===&lt;br /&gt;
Changes the color of the screen from a specific state (given by the opcode&#039;s parameters, which affect the Touch Screen instantly) to its default state across a certain number of frames. This opcode will affect all entities (i.e., actors, objects, and performers) on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s color.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|&lt;br /&gt;
# Completely darkens the Touch Screen.&lt;br /&gt;
# Completely turns the Touch Screen to a certain color.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with a certain color.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: 144, 144, and 255.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: 255, 192, and 128.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.&lt;br /&gt;
# Instantly overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|r&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|g&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|b&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xdf - screen_FlushOut ===&lt;br /&gt;
Changes the color of the screen across a certain number of frames. This opcode will affect all entities (i.e., actors, objects, and performers) on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s color.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|&lt;br /&gt;
# Completely darkens the Touch Screen.&lt;br /&gt;
# Completely turns the Touch Screen to a certain color.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with a certain color.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: 144, 144, and 255.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: 255, 192, and 128.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.&lt;br /&gt;
# Instantly overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|r&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|g&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|b&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe0 - screen_WhiteChange ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and 1 is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe1 - screen_WhiteChangeAll ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe2 - screen_WhiteIn ===&lt;br /&gt;
Does nothing. Do not be deceived by this opcode&#039;s name: After using &amp;lt;code&amp;gt;screen_WhiteOut&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;screen_FadeIn&amp;lt;/code&amp;gt; to restore the Touch Screen&#039;s brightness level!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe3 - screen_WhiteInAll ===&lt;br /&gt;
Does nothing. Do not be deceived by this opcode&#039;s name: After using &amp;lt;code&amp;gt;screen_WhiteOutAll&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;screen_FadeInAll&amp;lt;/code&amp;gt; to restore the Touch Screen&#039;s brightness level!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe4 - screen_WhiteOut ===&lt;br /&gt;
Changes the brightness of the screen to its maximum (i.e., a white screen) across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe5 - screen_WhiteOutAll ===&lt;br /&gt;
Changes the brightness of the screen to its maximum (i.e., a white screen) across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe6 - screen2_FadeChange ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and 1 is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe7 - screen2_FadeChangeAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe8 - screen2_FadeIn ===&lt;br /&gt;
Changes the brightness of the screen to its default state across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe9 - screen2_FadeInAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xea - screen2_FadeOut ===&lt;br /&gt;
Changes the brightness of the screen to its minimum (i.e., a black screen) across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xeb - screen2_FadeOutAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xec - screen2_FlushChange ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|unk4&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|unk5&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|uint&lt;br /&gt;
|unk6&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|uint&lt;br /&gt;
|unk7&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xed - screen2_FlushIn ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;screen_FlushIn&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s color.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|&lt;br /&gt;
# Completely darkens the Top Screen.&lt;br /&gt;
# Completely turns the Top Screen to a certain color.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with a certain color.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: 144, 144, and 255.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: 255, 192, and 128.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: All 255. The Top Screen is not turned completely white.&lt;br /&gt;
# Instantly overlays the Top Screen with hardcoded color bytes: All 255. The Top Screen is not turned completely white.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|r&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|g&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|b&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xee - screen2_FlushOut ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;screen_FlushOut&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s color.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|&lt;br /&gt;
# Completely darkens the Top Screen.&lt;br /&gt;
# Completely turns the Top Screen to a certain color.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with a certain color.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: 144, 144, and 255.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: 255, 192, and 128.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: All 255. The Top Screen is not turned completely white.&lt;br /&gt;
# Instantly overlays the Top Screen with hardcoded color bytes: All 255. The Top Screen is not turned completely white.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|r&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|g&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|b&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xef - screen2_WhiteChange ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf0 - screen2_WhiteChangeAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf1 - screen2_WhiteIn ===&lt;br /&gt;
Does nothing. Do not be deceived by this opcode&#039;s name: After using &amp;lt;code&amp;gt;screen2_WhiteOut&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;screen2_FadeIn&amp;lt;/code&amp;gt; to restore the Top Screen&#039;s brightness level!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf2 - screen2_WhiteInAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf3 - screen2_WhiteOut ===&lt;br /&gt;
Changes the brightness of the screen to its maximum (i.e., a white screen) across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf4 - screen2_WhiteOutAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf5 - se_ChangePan ===&lt;br /&gt;
Changes the panning of the currently-playing [[sound effect]] across a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the SE&#039;s panning.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|pan&lt;br /&gt;
|The panning of the SE. This parameter gets recalculated internally as  &amp;lt;code&amp;gt;((&#039;&#039;pan&#039;&#039; * 0x3f + ((&#039;&#039;pan&#039;&#039; * 0x3f &amp;gt;&amp;gt; 7) &amp;gt;&amp;gt; 0x18)) &amp;gt;&amp;gt; 8) + 0x40&amp;lt;/code&amp;gt;, which is eventually split up into two halfwords, then recalculated further into a signed byte.&lt;br /&gt;
What this means is that:&lt;br /&gt;
&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 260 will result in sound panning only to the right channel.&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 261 will result in sound panning only to the left channel.&lt;br /&gt;
&lt;br /&gt;
More research on this parameter may be needed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf6 - se_ChangeVolume ===&lt;br /&gt;
Changes the volume of the currently-playing [[sound effect]] across a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the SE&#039;s volume.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the SE will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf7 - se_FadeOut ===&lt;br /&gt;
Fades out the currently-playing [[sound effect]] across a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out and silence a given SE.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf8 - se_Play ===&lt;br /&gt;
Instantly plays a [[sound effect]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf9 - se_PlayFull ===&lt;br /&gt;
Instantly plays a [[sound effect]] at a specified volume and panning.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the SE will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|pan&lt;br /&gt;
|The panning of the SE. This parameter gets recalculated internally as  &amp;lt;code&amp;gt;((&#039;&#039;pan&#039;&#039; * 0x3f + ((&#039;&#039;pan&#039;&#039; * 0x3f &amp;gt;&amp;gt; 7) &amp;gt;&amp;gt; 0x18)) &amp;gt;&amp;gt; 8) + 0x40&amp;lt;/code&amp;gt;, which is eventually split up into two halfwords, then recalculated further into a signed byte.&lt;br /&gt;
What this means is that:&lt;br /&gt;
&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 260 will result in sound panning only to the right channel.&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 261 will result in sound panning only to the left channel.&lt;br /&gt;
&lt;br /&gt;
More research on this parameter may be needed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfa - se_PlayPan ===&lt;br /&gt;
Instantly plays a [[sound effect]] at a specified panning.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|pan&lt;br /&gt;
|The panning of the SE. This parameter gets recalculated internally as  &amp;lt;code&amp;gt;((&#039;&#039;pan&#039;&#039; * 0x3f + ((&#039;&#039;pan&#039;&#039; * 0x3f &amp;gt;&amp;gt; 7) &amp;gt;&amp;gt; 0x18)) &amp;gt;&amp;gt; 8) + 0x40&amp;lt;/code&amp;gt;, which is eventually split up into two halfwords, then recalculated further into a signed byte.&lt;br /&gt;
What this means is that:&lt;br /&gt;
&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 260 will result in sound panning only to the right channel.&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 261 will result in sound panning only to the left channel.&lt;br /&gt;
&lt;br /&gt;
More research on this parameter may be needed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfb - se_PlayVolume ===&lt;br /&gt;
Instantly plays a [[sound effect]] at a specified volume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the SE will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfc - se_Stop ===&lt;br /&gt;
Instantly stops a specified sound effect.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfd - SetAnimation ===&lt;br /&gt;
Plays a sprite&#039;s animation, optionally changing its speed and animation flags.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|id&lt;br /&gt;
|Animation table index. Converted to an [[Animation ID]] for the current sprite using the [https://docs.google.com/spreadsheets/d/11xHv80Def5mtF60ZsfI1lF1eNX0dBE2It837Q08AlRk/htmlview SetAnimation table].&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfe - SetAttribute ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xff - SetBlink ===&lt;br /&gt;
Sets a specific entity (i.e., an actor, object, or performer) to continuously flicker in and out of view at a certain interval.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|visible_interval&lt;br /&gt;
|The number of frames to wait for while the entity is visible. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|invisible_interval&lt;br /&gt;
|The number of frames to wait for while the entity is invisible. &lt;br /&gt;
|}&lt;br /&gt;
=== 0x100 - SetDirection ===&lt;br /&gt;
Instantly sets a specific entity (i.e., an actor, object, or performer) to a specified direction.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|The type of direction, the list of which can be seen by typing &amp;lt;code&amp;gt;DIR_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x101 - SetDirectionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x102 - SetEffect ===&lt;br /&gt;
Plays back an [[List of Effect Animations|effect animation]] assigned to an actor or performer.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Effect&lt;br /&gt;
|effect_id&lt;br /&gt;
|The ID of a given effect.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|position_marker_id?&lt;br /&gt;
|Set to one of the following character sprite offsets:&lt;br /&gt;
0: Head&amp;lt;br&amp;gt;1: Right Hand&amp;lt;br&amp;gt;2: Left Hand&amp;lt;br&amp;gt;3: Center&amp;lt;br&amp;gt;4: No offset (bottom of sprite)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x103 - SetFunctionAttribute ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x104 - SetHeight ===&lt;br /&gt;
Moves an actor &amp;quot;vertically&amp;quot; by distancing it from its shadow. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|number of pixels to move up or down by.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x105 - SetHitAttribute ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x106 - SetMoveRange ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|unk4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|unk5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x107 - SetOutputAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;output&amp;quot; attribute to 1.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|output_bitfield&lt;br /&gt;
|&lt;br /&gt;
# Underlay below entities.&lt;br /&gt;
# Overlay above entities.&lt;br /&gt;
# Overlay above the current Map Background&#039;s Layer 2.&lt;br /&gt;
# Overlay above the game&#039;s canvas system, which includes the textbox, portrait, and some &amp;lt;code&amp;gt;screen_&amp;lt;/code&amp;gt; commands that do not end in &amp;lt;code&amp;gt;All&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Flicker.&lt;br /&gt;
# Transparency.&lt;br /&gt;
# Invisibility.&lt;br /&gt;
# Displays shadow.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x108 - SetPosition ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x109 - SetPositionInitial ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x10a - SetPositionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10b - SetPositionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10c - SetPositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10d - SetPositionOffsetRandom ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10e - SetReplyAttribute ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10f - SetupOutputAttributeAndAnimation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x110 - Slide2Position ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a specific pixel position without animation. Must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position on the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position on the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x111 - Slide2PositionLives ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor without animation. Must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|actor_id&lt;br /&gt;
|The ID of the actor to move the entity to.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x112 - Slide2PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to one or more Position Marks without animation, and without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x113 - Slide2PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark without animation, and without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed.  Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_mark&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x114 - Slide2PositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |These two parameters may be repeated multiple times&lt;br /&gt;
|-&lt;br /&gt;
|3+&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|}&lt;br /&gt;
=== 0x115 - Slide2PositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x116 - Slide2PositionOffsetRandom ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x117 - Slide3Position ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x118 - Slide3PositionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|actor_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x119 - Slide3PositionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|This parameter may be repeated multiple times&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11a - Slide3PositionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11b - Slide3PositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |These two parameters may be repeated multiple times&lt;br /&gt;
|-&lt;br /&gt;
|3+&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11c - Slide3PositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11d - Slide3PositionOffsetRandom ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11e - SlideHeight ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11f - SlidePosition ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x120 - SlidePositionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x121 - SlidePositionLivesTime ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x122 - SlidePositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad. Unlike MovePositionMark, this will not turn the entity to face the direction they are moving in.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x123 - SlidePositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad. Unlike MovePositionMark, this will not turn the entity to face the direction they are moving in.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x124 - SlidePositionMarkTime ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x125 - SlidePositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|This parameter may be repeated multiple times&lt;br /&gt;
|}&lt;br /&gt;
=== 0x126 - SlidePositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x127 - sound_FadeOut ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x128 - sound_Stop ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x129 - StopAnimation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x12a - supervision_Acting ===&lt;br /&gt;
Loads a sector of the Acting scene.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to load.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12b - supervision_ActingInvisible ===&lt;br /&gt;
Loads a sector of the Acting scene. Actors and objects in this sector will be invisible. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to load.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12c - supervision_ExecuteActing ===&lt;br /&gt;
Loads a specified Acting script from the specified level from within Enter/Acting/Sub scripts. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|Map LEVEL the script should be located in.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|Name of the script itself, only the first 8 characters are read.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|script_sector&lt;br /&gt;
|The &amp;quot;sector&amp;quot; of the script, and the value &amp;lt;code&amp;gt;switch(sector())&amp;lt;/code&amp;gt; will return in def 0. Often used to determine whether a cutscene should be played as a flashback or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12d - supervision_ExecuteActingSub ===&lt;br /&gt;
Loads a specified Acting script from the specified level from within Unionall.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|Map LEVEL the script should be located in.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|Name of the script itself, only the first 8 characters are read.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|script_sector&lt;br /&gt;
|The &amp;quot;sector&amp;quot; of the script, and the value &amp;lt;code&amp;gt;switch(sector())&amp;lt;/code&amp;gt; will return in def 0. Often used to determine whether a cutscene should be played as a flashback or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12e - supervision_ExecuteCommon ===&lt;br /&gt;
Loads a specified Unionall coroutine from within Enter/Acting/Sub scripts. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12f - supervision_ExecuteEnter ===&lt;br /&gt;
Loads an Enter script from the specified level. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level list. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x130 - supervision_ExecuteStation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x131 - supervision_ExecuteStationCommon ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x132 - supervision_ExecuteStationCommonSub ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x133 - supervision_ExecuteStationSub ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x134 - supervision_ExecuteExport ===&lt;br /&gt;
Loads a specified Acting scene of the level S00P01A&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x135 - supervision_ExecuteExportSub ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ConstString&lt;br /&gt;
|const&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x136 - supervision_LoadStation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x137 - supervision_Remove ===&lt;br /&gt;
Unloads a sector of the Sub scene.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to unload.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x138 - supervision_RemoveActing ===&lt;br /&gt;
Unloads a sector of the Acting scene. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to unload.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x139 - supervision_RemoveCommon ===&lt;br /&gt;
Unloads a sector of the Enter scene. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to unload.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13a - supervision_SpecialActing ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x13b - supervision_Station ===&lt;br /&gt;
Loads a sector of the Sub scene.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|station_id&lt;br /&gt;
|The ID of the sector to load.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13c - supervision_StationCommon ===&lt;br /&gt;
Loads a sector of the Enter scene.&lt;br /&gt;
&lt;br /&gt;
Can be used to call sectors of an enter scene within acting scenes!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|station_id&lt;br /&gt;
|The ID of the sector to load.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13d - supervision_Suspend ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x13e - supervision2_SpecialActing ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x14c - Turn2Direction ===&lt;br /&gt;
Makes an actor rotate to a specified direction.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|How fast the actor turns. The higher the number, the slower the turn.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|rotationdirection&lt;br /&gt;
|The way that the actor will turn to face the specified direction. 1 = clockwise, 2 = counterclockwise, 10 = the most efficient direction to turn.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|The direction that the actor will turn to face.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x14d - Turn2DirectionLives ===&lt;br /&gt;
Makes an actor rotate to face another actor. Must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|How fast the actor turns. The higher the number, the slower the turn.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|rotationdirection&lt;br /&gt;
|The way that the actor will turn to face the specified direction. 1 = clockwise, 2 = counterclockwise, 10 = the most efficient direction to turn.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|The target actor that the actor will turn to face.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x14e - Turn2DirectionLives2 ===&lt;br /&gt;
Makes an actor rotate to face another actor. Must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|How fast the actor turns. The higher the number, the slower the turn.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|rotationdirection&lt;br /&gt;
|The way that the actor will turn to face the specified direction. 1 = clockwise, 2 = counterclockwise, 10 = the most efficient direction to turn.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|actor_id&lt;br /&gt;
|ID of the target actor from Level List that the actor will turn to face.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x14f - Turn2DirectionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|unk7&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x150 - Turn2DirectionTurn ===&lt;br /&gt;
Makes an actor turn at a certain angle. &lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|How fast the actor turns. The higher the number, the slower the turn.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|rotationdirection&lt;br /&gt;
|The way that the actor will turn to face the specified direction. 1 = clockwise, 2 = counterclockwise, 10 = the most efficient direction to turn.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|angle&lt;br /&gt;
|1: 45 degrees left, 2: 45 degrees right, 3: 90 degrees right, 4: 90 degrees left, 5: 180 degrees&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x151 - Turn3 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x152 - TurnDirection ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x153 - TurnDirectionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x154 - TurnDirectionLives2 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x155 - TurnDirectionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x156 - Unlock ===&lt;br /&gt;
Resumes the routine that was suspended when &amp;lt;code&amp;gt;Lock&amp;lt;/code&amp;gt; was called with the specified &#039;&#039;lock_id&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|The ID of a Lock, ranged from 0-19 (inclusive).&lt;br /&gt;
|}&lt;br /&gt;
=== 0x157 - Wait ===&lt;br /&gt;
Pauses the routine for a set number of frames. After the number of frames, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames that the routine will wait for before resuming.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x158 - WaitAnimation ===&lt;br /&gt;
Pauses the routine until the specified actor has finished its animation. After the actor finishes its animation, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
=== 0x159 - WaitBackEffect ===&lt;br /&gt;
Pauses the current routine until [[List of Opcodes#0x2 - back SetBackEffect|back_SetBackEffect]] is called.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x15a - WaitBack2Effect ===&lt;br /&gt;
Pauses the current routine until [[List of Opcodes#0x12 - back2 SetBackEffect|back2_SetBackEffect]] is called.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x15b - WaitBgm ===&lt;br /&gt;
Pauses the current routine until the specified BGM on the first BGM track has ended. After the BGM ends, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A non-looped music track defined in SOUND/BGM of the ROM. Looped music tracks softlocks the game. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x15c - WaitBgm2 ===&lt;br /&gt;
Pauses the current routine until the specified BGM on the second BGM track has ended. After the BGM ends, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A non-looped music track defined in SOUND/BGM of the ROM. Looped music tracks softlocks the game. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x15d - WaitBgmSignal ===&lt;br /&gt;
Pauses the routine until a DSE event with ID 0xF6 on the current BGM track is triggered. This can be used to sync certain parts of the scene to the background music.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x15e - WaitEffect ===&lt;br /&gt;
Pauses the routine until the effect on the specified actor/peformer has ended. After the effect ends, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
=== 0x15f - WaitEndAnimation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x160 - WaitExecuteLives ===&lt;br /&gt;
Pauses the routine until the specified actor has finished its action (Move2Position, Slide2Position, etc.). After the actor finishes its action, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|The actor that the routine will wait for.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x161 - WaitExecuteObject ===&lt;br /&gt;
Pauses the current routine until the specified object has finished its action (Move2Position, Slide2Position, etc.). After the object finishes its action, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Object&lt;br /&gt;
|object_id&lt;br /&gt;
|The ID of the object that the routine will wait for.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x162 - WaitExecutePerformer ===&lt;br /&gt;
Pauses the current routine until the specified performer has finished its current action (Move2Position, Slide2Position, etc.) After the performer has finished its action, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|performer_id&lt;br /&gt;
|The ID of the performer that the routine will wait for.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x163 - WaitFadeIn ===&lt;br /&gt;
Pauses the current routine and waits for the screen to fade in. After the screen fades in, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x164 - WaitLockLives ===&lt;br /&gt;
Pauses the current routine until a [[List of Opcodes#0x8b - Lock|Lock]] opcode with the specified &#039;&#039;lock_id&#039;&#039; is reached in the specified actor&#039;s targeted routine. After the lock is reached, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x165 - WaitLockObject ===&lt;br /&gt;
Pauses the current routine until a [[List of Opcodes#0x8b - Lock|Lock]] opcode with the specified &#039;&#039;lock_id&#039;&#039; is reached in the specified object&#039;s targeted routine. After the lock is reached, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Object&lt;br /&gt;
|object&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x166 - WaitLockPerformer ===&lt;br /&gt;
Pauses the current routine until a [[List of Opcodes#0x8b - Lock|Lock]] opcode with the specified &#039;&#039;lock_id&#039;&#039; is reached in the specified performer&#039;s targeted routine. After the lock is reached, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|performer&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x167 - WaitLockSupervision ===&lt;br /&gt;
Pauses the current routine until a [[List of Opcodes#0x8b - Lock|Lock]] opcode with the specified &#039;&#039;lock_id&#039;&#039; is reached in &amp;lt;code&amp;gt;def 0&amp;lt;/code&amp;gt;. After the lock is reached, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x168 - WaitMe ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x169 - WaitMoveCamera ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16a - WaitMoveCamera2 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16b - WaitRandom ===&lt;br /&gt;
Pauses the routine for a random number of frames. After the number of frames, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration_min&lt;br /&gt;
|Minimum number of frames that the routine will wait for before resuming.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration_max&lt;br /&gt;
|Maximum number of frames that the routine will wait for before resuming.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x16c - WaitScreenFade ===&lt;br /&gt;
Waits until screen_FadeIn finishes executing. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16d - WaitScreenFadeAll ===&lt;br /&gt;
Waits until screen_FadeInAll finishes executing. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16e - WaitScreen2Fade ===&lt;br /&gt;
Waits until screen2_FadeIn finishes executing. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16f - WaitSe ===&lt;br /&gt;
Pauses the current routine until the specified sound effect has ended. After the sound effect ends, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|The ID of the sound to wait for the end of before resuming the routine.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x170 - WaitSpecialActing ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x171 - WaitSubScreen ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x172 - WaitSubSpecialActing ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x173 - worldmap_BlinkMark ===&lt;br /&gt;
Shows a blinking world map marker. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x174 - worldmap_ChangeLevel ===&lt;br /&gt;
Causes the clouds parting animation on the world map, presumably hardcoded by vanilla use-case. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_level&lt;br /&gt;
|Level to transition the world map state to.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x175 - worldmap_DeleteArrow ===&lt;br /&gt;
Remove the yellow arrow from the world map. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x176 - worldmap_MoveCamera ===&lt;br /&gt;
Moves the camera to the specified world map marker. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|The world map id to move the camera to.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x177 - worldmap_OffMessage ===&lt;br /&gt;
Removes a textbox with the world map marker&#039;s name from the Top Screen&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x178 - worldmap_SetArrow ===&lt;br /&gt;
Shows an arrow pointing to a specified world map marker&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x179 - worldmap_SetCamera ===&lt;br /&gt;
Centers the world map camera on a specific world map marker.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|The world map id to set the camera to.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17a - worldmap_SetLevel ===&lt;br /&gt;
Sets the current world map state. Additionally updates $WORLD_MAP_LEVEL&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_level&lt;br /&gt;
|Level to assign the world map state to.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17b - worldmap_SetMark ===&lt;br /&gt;
Enables a yellow dot for the specified world map marker.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|The world map id to enable the yellow dot for.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17c - worldmap_SetMessage ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seemingly unused in vanilla.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17d - worldmap_SetMessagePlace ===&lt;br /&gt;
Shows a textbox on the Top Screen with the specified world map marker&#039;s name. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x17e - worldmap_SetMode ===&lt;br /&gt;
Sets the &amp;quot;mode&amp;quot; of the world map, to align with a particular purpose. &lt;br /&gt;
&lt;br /&gt;
Mode 1 seems to be for handling travel to a dungeon or area.&lt;br /&gt;
&lt;br /&gt;
Mode 2 is only used by debug scripts.&lt;br /&gt;
&lt;br /&gt;
Mode 3 is for handling moving clouds. &lt;br /&gt;
&lt;br /&gt;
Mode 4 is for cutscene use, or for showing where things are on a map. &lt;br /&gt;
&lt;br /&gt;
All other modes are unused. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_mode&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Opcodes ==&lt;br /&gt;
These opcodes cannot be directly called from ExplorerScript, since they are represented as higher-level constructs.&lt;br /&gt;
&lt;br /&gt;
=== 0x28 - Branch ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x29 - BranchBit ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2a - BranchDebug ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|param&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2b - BranchEdit ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|param&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2c - BranchExecuteSub ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2d - BranchPerformance ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2e - BranchScenarioNow ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2f - BranchScenarioNowAfter ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x30 - BranchScenarioNowBefore ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x31 - BranchScenarioAfter ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x32 - BranchScenarioBefore ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x33 - BranchSum ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x34 - BranchValue ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x35 - BranchVariable ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|GameVar&lt;br /&gt;
|cmp_var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x36 - BranchVariation ===&lt;br /&gt;
Used for demo cutscenes.&lt;br /&gt;
&lt;br /&gt;
Jumps to the specified address if the first parameter is 0. On the demo version of the game, jumps if the first parameter is 3.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|param&lt;br /&gt;
|Unknown. Always 3.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|Address to jump to.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x37 - Call ===&lt;br /&gt;
Jumps to the specified address, runs code, and returns to the line of code in which this opcode was used (only if &amp;lt;code&amp;gt;return;&amp;lt;/code&amp;gt; was used in the routine this opcode calls). Only one call can be stored at a time!&lt;br /&gt;
&lt;br /&gt;
Use within macros is ill-advised, as using &amp;lt;code&amp;gt;return;&amp;lt;/code&amp;gt; within a macro will just end the macro!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|The address to call, e.g., &amp;lt;code&amp;gt;call @label_0;&amp;lt;/code&amp;gt; if &amp;lt;code&amp;gt;§label_0;&amp;lt;/code&amp;gt; is defined in the script.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x63 - Case ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x64 - CaseMenu ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|choice&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x65 - CaseMenu2 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint?&lt;br /&gt;
|choice?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x66 - CaseScenario ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x67 - CaseText ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|display&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x68 - CaseValue ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x69 - CaseVariable ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6e - DefaultText ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x70 - End ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x74 - flag_CalcBit ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x75 - flag_CalcValue ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|calc_operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x76 - flag_CalcVariable ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|calc_operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|GameVar&lt;br /&gt;
|var_to_set_from&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x77 - flag_Clear ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x78 - flag_Initial ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x79 - flag_Set ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7a - flag_ResetDungeonResult ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x7b - flag_ResetScenario ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7c - flag_SetAdventureLog ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7d - flag_SetDungeonMode ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|dungeon_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|DungeonMode&lt;br /&gt;
|dungen_mode&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7e - flag_SetDungeonResult ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7f - flag_SetPerformance ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x80 - flag_SetScenario ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|scenario_value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|level_value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x82 - Hold ===&lt;br /&gt;
Will stall a script forever.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x87 - Jump ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x89 - lives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0xaa - message_SwitchMenu ===&lt;br /&gt;
Enclose within a switch case, and generates a dialogue prompt with the options present in subsequent &amp;quot;case menu(&amp;quot;text&amp;quot;):&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|cancel&lt;br /&gt;
|If player can use the B button to back out of a menu. 0 for false, 1 for true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|init&lt;br /&gt;
|Entry number to start the cursor at, starting at 1&lt;br /&gt;
|}&lt;br /&gt;
=== 0xab - message_SwitchMenu2 ===&lt;br /&gt;
Same as message_SwitchMenu, but it also takes an argument for a bitfield, and will only display dialogue options for which the corresponding bit is enabled (set to 1).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|cancel&lt;br /&gt;
|If player can use the B button to back out of a menu. 0 for false, 1 for true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|init&lt;br /&gt;
|Entry number to start the cursor at, starting at 1&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Bitfield $VAR&lt;br /&gt;
|}&lt;br /&gt;
=== 0xac - message_SwitchMonologue ===&lt;br /&gt;
Structured similarly to a switch statement. Typically uses &amp;lt;code&amp;gt;$HERO_TALK_KIND&amp;lt;/code&amp;gt; as an argument, and uses multiple cases to display certain dialogue strings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 4:&amp;lt;/code&amp;gt; used when the player is male or genderless&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 5:&amp;lt;/code&amp;gt; used when the player is female&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;default:&amp;lt;/code&amp;gt; used when &amp;lt;code&amp;gt;$HERO_TALK_KIND&amp;lt;/code&amp;gt;&#039;s Talk Group has a value other than 4 or 5&lt;br /&gt;
&lt;br /&gt;
This opcode supports displaying a portrait. No sound effect is used when text is scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&amp;lt;code&amp;gt;$x_TALK_KIND&amp;lt;/code&amp;gt;, contains Talk Group number&lt;br /&gt;
|}&lt;br /&gt;
=== 0xad - message_SwitchTalk ===&lt;br /&gt;
Same as _SwitchMonologue, but typically uses &amp;lt;code&amp;gt;$PARTNER_TALK_KIND&amp;lt;/code&amp;gt; as an argument, and the cases used vary.&lt;br /&gt;
&lt;br /&gt;
Of the vanilla game partner options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 1:&amp;lt;/code&amp;gt; used if Squirtle, Tododile, Chimchar, Meowth, or Munchlax&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 2:&amp;lt;/code&amp;gt; used for all other male partners&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 3:&amp;lt;/code&amp;gt; used for all female partners&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;default:&amp;lt;/code&amp;gt; used when &amp;lt;code&amp;gt;$PARTNER_TALK_KIND&amp;lt;/code&amp;gt;&#039;s Talk Group has a value other than 1, 2, or 3&lt;br /&gt;
&lt;br /&gt;
This opcode supports displaying a portrait. The [[sound effect]] 16133 will emit from the each character scrolling in the text.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&amp;lt;code&amp;gt;$x_TALK_KIND&amp;lt;/code&amp;gt;, contains Talk Group number&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc9 - object ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Object&lt;br /&gt;
|object_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0xcb - performer ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|performer_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd5 - Return ===&lt;br /&gt;
If run from within a macro, ends the macro.&lt;br /&gt;
&lt;br /&gt;
If run after the &amp;quot;call&amp;quot; opcode was used, will return to the address of the call opcode.&lt;br /&gt;
&lt;br /&gt;
If used within a script, ends the script. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x13f - Switch ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x140 - SwitchDirection ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x141 - SwitchDirectionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x142 - SwitchDirectionLives2 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x143 - SwitchDirectionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x144 - SwitchDungeonMode ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|dungeon_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x145 - SwitchLives ===&lt;br /&gt;
If inside a Switch Case, take the case equal to the species ID of the specified Actor!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x146 - SwitchRandom ===&lt;br /&gt;
To be used in a switch statement. Will switch to a case of a random number below the specified integer.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|max_value&lt;br /&gt;
|Largest random output, plus 1&lt;br /&gt;
|}&lt;br /&gt;
=== 0x147 - SwitchScenario ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x148 - SwitchScenarioLevel ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x149 - SwitchSector ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x14a - SwitchValue ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x14b - SwitchVariable ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Opcodes&amp;diff=1419</id>
		<title>List of Opcodes</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Opcodes&amp;diff=1419"/>
		<updated>2026-02-06T21:49:12Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: More World Map Opcode stuff&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The scripting engine used in Explorers of Sky has different opcodes. [[ExplorerScript]] translates most of them literally, preserving the same parameters and functionality. However, some opcodes are translated to [[ExplorerScript]] constructs, such as if statements.&lt;br /&gt;
&lt;br /&gt;
This article documents the different opcodes, their purpose and parameters. The purpose of unkX parameters is unknown.&lt;br /&gt;
&lt;br /&gt;
== What is an opcode? ==&lt;br /&gt;
An opcode is an instruction to the machine (it tells the machine to &#039;do&#039; something). In modern programming, it would be most similar to a [https://en.wikipedia.org/wiki/Function_(computer_programming) function]. For a more technical description, see [https://en.wikipedia.org/wiki/Opcode here].&lt;br /&gt;
&lt;br /&gt;
== Types of parameters ==&lt;br /&gt;
* uint: An unsigned integer (a number without decimals). It cannot be negative. It is possible that in the game&#039;s code, there are only signed integers and no unsigned integers, but not enough research has been done on the matter. For the most part, it shouldn&#039;t matter.&lt;br /&gt;
* sint: A signed integer (a number without decimals). It can be either positive or negative.&lt;br /&gt;
* bitfield: A bitfield is uint where each bits (0 or 1) are treated independantly. They are used to store multiple binary (boolean) values efficiently. Opcodes that use it usually come in the &amp;lt;code&amp;gt;Set&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Reset&amp;lt;/code&amp;gt; variant. The &amp;lt;code&amp;gt;Set&amp;lt;/code&amp;gt; variant define to true the values which are 1 in the input bitfield (while leaving the others untouched), and &amp;lt;code&amp;gt;Reset&amp;lt;/code&amp;gt; define to false the values which are 1 in the input bitfield (while also leaving the others untouched).&lt;br /&gt;
* String: Text (i.e dialogue). There should always be a quotation mark (&amp;quot;) at the beginning and end.&lt;br /&gt;
* ConstString: Same as String.&lt;br /&gt;
* Routine: Any of the 701 coroutines from [[Unionall]]. Always begins with &amp;quot;CORO_&amp;quot;&lt;br /&gt;
* Entity: An actor, performer. (not an object!)&lt;br /&gt;
* Object: An object in a scene. (not an actor or perfomer!)&lt;br /&gt;
* Level: Any level from the [[Script Engine|Level List]]. Will always begin with &amp;quot;LEVEL_&amp;quot;.&lt;br /&gt;
* Bgm: Any music in the game. Will always begin with &amp;quot;BGM_&amp;quot;. (example: BGM_CRAGGY_COAST)&lt;br /&gt;
* PositionMark: A position. Will be written as &amp;quot;Position&amp;lt;&#039;MarkName&#039;, x, y&amp;gt;&amp;quot;. Once a position mark is written in a script, SkyTemple will show an option to place it visually in the scene.&lt;br /&gt;
* Face: A portrait expression. Will always begin with &amp;quot;FACE_&amp;quot;. (examples: FACE_NORMAL, FACE_HAPPY, FACE_PAIN)&lt;br /&gt;
* FaceMode: A portrait position. Will always begin with &amp;quot;FACE_MODE_&amp;quot;.&lt;br /&gt;
* Direction: A direction for an entity to move in or turn to. Will always begin with &amp;quot;DIR_&amp;quot;. (examples: DIR_UP, DIR_RIGHT)&lt;br /&gt;
* ProcessSpecial: One of the games special processes. Can be referred to by its number, or name.&lt;br /&gt;
* Effect: A graphical effect.&lt;br /&gt;
* GameVar: Any of the game&#039;s [[List of Script Variables|Script Variables]]. Will always begin with &amp;quot;$&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Relevant Opcodes ==&lt;br /&gt;
These opcodes can be directly called from ExplorerScript.&lt;br /&gt;
&lt;br /&gt;
=== 0x0 - Null ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x1 - back_ChangeGround ===&lt;br /&gt;
Sets the Map Background from a Level without changing the chunks from the currently loaded Map Background. Entities such as actors, objects, and performers will not be deleted when this opcode is executed. &lt;br /&gt;
&lt;br /&gt;
This has very few uses in the game—a notable use is how Wigglytuff&#039;s Chamber has its door open, as seen via LEVEL_G01P04A and LEVEL_G01P04A2. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List. This opcode will pull from the Level&#039;s Map Background.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2 - back_SetBackEffect ===&lt;br /&gt;
Performs various effects related to the currently loaded Animation Palettes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|effect&lt;br /&gt;
|&lt;br /&gt;
# The default state of the Animation Palette.&lt;br /&gt;
# Plays the Animation Palette in a loop.&lt;br /&gt;
# Plays the Animation Palette once.&lt;br /&gt;
# Freezes the Animation Palette at its current frame.&lt;br /&gt;
# Resumes the Animation Palette.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3 - back_SetBackScrollOffset ===&lt;br /&gt;
Shifts the background by a certain number of pixels, without affecting entities such as actors, objects, or performers. Backgrounds used with this opcode will display a &amp;quot;loop&amp;quot; effect, i.e., it has the appearance of scrolling forever.&lt;br /&gt;
&lt;br /&gt;
This opcode seems to only work for only a few Levels, such as LEVEL_P13P01A, LEVEL_S13P06A, and LEVEL_V03P11A.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|offset0&lt;br /&gt;
|The number of pixels to shift either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 X-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 1 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level is hardcoded.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|offset1&lt;br /&gt;
|The number of pixels to shift either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 Y-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 2 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level is hardcoded.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x4 - back_SetBackScrollSpeed ===&lt;br /&gt;
Continuously scrolls the background at a certain speed, without affecting entities such as actors, objects, or performers. Backgrounds used with this opcode will display a &amp;quot;loop&amp;quot; effect, i.e., it has the appearance of scrolling forever.&lt;br /&gt;
&lt;br /&gt;
This opcode seems to only work for only a few Levels, such as LEVEL_P13P01A, LEVEL_S13P06A, and LEVEL_V03P11A.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint16&lt;br /&gt;
|speed0&lt;br /&gt;
|The speed to scroll either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 X-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 1 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint16&lt;br /&gt;
|speed1&lt;br /&gt;
|The speed to scroll either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 Y-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 2 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5 - back_SetBanner ===&lt;br /&gt;
Displays broken text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|chapter_number&lt;br /&gt;
|The chapter number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6 - back_SetBanner2 ===&lt;br /&gt;
Displays text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode is typically used for chapter introductions, which includes chapter text and a subtitle displayed over a Map Background. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|An entry in the Level List. This opcode will pull from the Level&#039;s Map Background.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown. Typically, the game uses 0 for this parameter, but it seems to have no effect.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position the camera will center the Map Background on its X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position the camera will center the Map Background on its Y-axis.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|sint&lt;br /&gt;
|chapter_number&lt;br /&gt;
|The chapter number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title of the chapter, e.g., &amp;quot;A Storm At Sea&amp;quot; for Chapter 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7 - back_SetEffect ===&lt;br /&gt;
Performs various effects related to the current Map Background&#039;s layers across a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|effect&lt;br /&gt;
|&lt;br /&gt;
* Transitions from Layer 2 to Layer 1.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Transitions from Layer 2 to Layer 1.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Transitions from Layer 1 to Layer 2.&lt;br /&gt;
* Fades out Layer 1 to total darkness.&lt;br /&gt;
* Merges Layer 1 onto Layer 2, but fades in Layer 1 from total darkness.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Merges Layer onto Layer 2, but fades out Layer 1 to total darkness.&lt;br /&gt;
* Fades out Layer 1 to total darkness.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to play a given effect.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8 - back_SetDungeonBanner ===&lt;br /&gt;
Displays a specific string using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. The text chosen is defined in Dungeons tab as a dungeon&#039;s &amp;lt;code&amp;gt;back_SetDungeonBanner&amp;lt;/code&amp;gt; string. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|dungeon_id&lt;br /&gt;
|The ID of a dungeon, as listed in the Dungeons tab of SkyTemple.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown. Does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9 - back_SetGround ===&lt;br /&gt;
Sets the Map Background from a Level. Upon using this opcode, the variable &amp;lt;code&amp;gt;$GROUND_MAP&amp;lt;/code&amp;gt; will be updated to match the ID of the chosen Level. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List. This opcode will pull from the Level&#039;s Map Background.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa - back_SetSpecialEpisodeBanner ===&lt;br /&gt;
Displays text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode is used for Special Episodes 1-3. This opcode plays a short animation of a green line shooting across the screen, followed by text scrolling across the screen horizontally from opposite directions. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|episode_number&lt;br /&gt;
|The episode number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title of the episode, e.g., &amp;quot;Bidoof&#039;s Wish&amp;quot; for Special Episode 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb - back_SetSpecialEpisodeBanner2 ===&lt;br /&gt;
Displays text using the &amp;lt;code&amp;gt;FONT/banner_c.bin:FONT/b_pal_r.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode is only used for Special Episode 4. This opcode features an elaborate animation featuring hearts and sparkles, along with text scrolling across the screen horizontally from opposite directions. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|episode_number&lt;br /&gt;
|The episode number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title of the episode, e.g., &amp;quot;Bidoof&#039;s Wish&amp;quot; for Special Episode 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc - back_SetSpecialEpisodeBanner3 ===&lt;br /&gt;
Displays text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode is only used for Special Episode 5. This opcode features no animation, but the end result is similar to the opcode &amp;lt;code&amp;gt;back_SetSpecialEpisodeBanner&amp;lt;/code&amp;gt;. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|episode_number&lt;br /&gt;
|The episode number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title of the episode, e.g., &amp;quot;Bidoof&#039;s Wish&amp;quot; for Special Episode 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd - back_SetTitleBanner ===&lt;br /&gt;
Displays user-defined text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The Y-axis pixel position of the title.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe - back_SetWeather ===&lt;br /&gt;
Displays a weather effect that overlays the current Map Background.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|weather_id&lt;br /&gt;
|Values of 0 and below mean no weather effect is to be displayed.&lt;br /&gt;
&lt;br /&gt;
# Dark, unmoving clouds.&lt;br /&gt;
# Dark, unmoving clouds.&lt;br /&gt;
# Clouds.&lt;br /&gt;
# No weather.&lt;br /&gt;
# Clouds.&lt;br /&gt;
# Unknown; seems to either softlock the game or drastically change the current Map Background.&lt;br /&gt;
# Fog.&lt;br /&gt;
# No weather.&lt;br /&gt;
# Unknown; does not seem to have a visible effect, but it loads something into memory.&lt;br /&gt;
# Unknown; seems to either softlock the game or drastically change the current Map Background.&lt;br /&gt;
# Purple smog.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf - back_SetWeatherEffect ===&lt;br /&gt;
Currently unknown. The only values this opcode accepts seems to be 1, 2, and 3. Value 3 was previously used in S02P01A/m00a01a.ssb in Time/Darkness, for its iteration of the personality test. In Sky, its only use is in V00P02/m01a04a.ssb, which is a leftover test script used by the developers to test the visuals of the Time/Darkness iteration of the aura test.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x10 - back_SetWeatherScrollOffset ===&lt;br /&gt;
Currently unknown. This opcode is not used in the base game.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11 - back_SetWeatherScrollSpeed ===&lt;br /&gt;
Currently unknown. This opcode is not used in the base game.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x12 - back2_SetBackEffect ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetBackEffect&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|effect_id&lt;br /&gt;
|&lt;br /&gt;
# The default state of the Animation Palette.&lt;br /&gt;
# Plays the Animation Palette in a loop.&lt;br /&gt;
# Plays the Animation Palette once.&lt;br /&gt;
# Freezes the Animation Palette at its current frame.&lt;br /&gt;
# Resumes the Animation Palette.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x13 - back2_SetBackScrollOffset ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetBackScrollOffset&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|offset0&lt;br /&gt;
|The number of pixels to shift either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 X-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 1 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|offset1&lt;br /&gt;
|The number of pixels to shift either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 Y-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 2 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x14 - back2_SetBackScrollSpeed ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetBackScrollSpeed&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|speed0&lt;br /&gt;
|The speed to scroll either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 X-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 1 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|speed1&lt;br /&gt;
|The speed to scroll either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 Y-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 2 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x15 - back2_SetData ===&lt;br /&gt;
Currently unknown. This opcode is not used in the base game.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x16 - back2_SetEffect ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetEffect&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|effect&lt;br /&gt;
|&lt;br /&gt;
* Transitions from Layer 2 to Layer 1.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Transitions from Layer 2 to Layer 1.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Transitions from Layer 1 to Layer 2.&lt;br /&gt;
* Fades out Layer 1 to total darkness.&lt;br /&gt;
* Merges Layer 1 onto Layer 2, but fades in Layer 1 from total darkness.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Merges Layer onto Layer 2, but fades out Layer 1 to total darkness.&lt;br /&gt;
* Fades out Layer 1 to total darkness.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to play a given effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17 - back2_SetGround ===&lt;br /&gt;
Mostly the same as &amp;lt;code&amp;gt;back_SetGround&amp;lt;/code&amp;gt;, but for the Top Screen. This opcode only works if &amp;lt;code&amp;gt;back2_SetMode(4);&amp;lt;/code&amp;gt; is used prior to this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List. This opcode will pull from the Level&#039;s Map Background.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x18 - back2_SetMode ===&lt;br /&gt;
Determines a hardcoded status of the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|mode&lt;br /&gt;
|A value of 0 is no mode. A negative value seems to set the Top Screen to the overworld&#039;s current Top Screen setting.&lt;br /&gt;
&lt;br /&gt;
# Fades out the Top Screen.&lt;br /&gt;
# Team Stats.&lt;br /&gt;
# The Map Background S01P01A with the hero idling on a World Map Marker.&lt;br /&gt;
# Allows for the Top Screen to display a Map Background from a Level using the &amp;lt;code&amp;gt;back2_SetGround&amp;lt;/code&amp;gt; opcode.&lt;br /&gt;
# Splits the Map Background used in the Level defined by &amp;lt;code&amp;gt;back_SetGround&amp;lt;/code&amp;gt; equally between the Top and Touch Screen.&lt;br /&gt;
#Splits the Map Background used in the Level defined by &amp;lt;code&amp;gt;back_SetGround&amp;lt;/code&amp;gt; between the Top and Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x19 - back2_SetSpecialActing ===&lt;br /&gt;
Currently unknown.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1a - back2_SetWeather ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetWeather&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|weather_id&lt;br /&gt;
|Values of 0 and below mean no weather effect is to be displayed.&lt;br /&gt;
&lt;br /&gt;
# Dark, unmoving clouds.&lt;br /&gt;
# Dark, unmoving clouds.&lt;br /&gt;
# Clouds.&lt;br /&gt;
# No weather.&lt;br /&gt;
# Clouds.&lt;br /&gt;
# Unknown; seems to either softlock the game or drastically change the current Map Background.&lt;br /&gt;
# Fog.&lt;br /&gt;
# No weather.&lt;br /&gt;
# Unknown; does not seem to have a visible effect, but it loads something into memory.&lt;br /&gt;
# Unknown; seems to either softlock the game or drastically change the current Map Background.&lt;br /&gt;
# Purple smog.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x1b - back2_SetWeatherEffect ===&lt;br /&gt;
Currently unknown. Potentially has similar functionality as &amp;lt;code&amp;gt;back_SetWeatherEffect&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1c - back2_SetWeatherScrollOffset ===&lt;br /&gt;
Currently unknown. Potentially has similar functionality as &amp;lt;code&amp;gt;back_SetWeatherScrollOffset&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1d - back2_SetWeatherScrollSpeed ===&lt;br /&gt;
Currently unknown. Potentially has similar functionality as &amp;lt;code&amp;gt;back_SetWeatherScrollSpeed&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1e - bgm_FadeOut ===&lt;br /&gt;
Fades out the BGM that is currently playing over a certain period of time on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out and silence a given BGM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1f - bgm_Play ===&lt;br /&gt;
Instantly plays a BGM on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A music track defined in SOUND/BGM of the ROM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x20 - bgm_PlayFadeIn ===&lt;br /&gt;
Starts playing a BGM over a certain period of time and at a certain volume on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A music track defined in SOUND/BGM of the ROM.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade in the BGM.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x21 - bgm_Stop ===&lt;br /&gt;
Instantly stops the BGM that is currently playing on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x22 - bgm_ChangeVolume ===&lt;br /&gt;
Changes the volume of the BGM that is currently playing on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the BGM&#039;s volume.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x23 - bgm2_FadeOut ===&lt;br /&gt;
Fades out the BGM that is currently playing over a certain period of time on the second BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out and silence a given BGM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x24 - bgm2_Play ===&lt;br /&gt;
Instantly plays a BGM on the second BGM track.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A music track defined in SOUND/BGM of the ROM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x25 - bgm2_PlayFadeIn ===&lt;br /&gt;
Starts playing a BGM over a certain period of time and at a certain volume on the second BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A music track defined in SOUND/BGM of the ROM.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade in the BGM.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x26 - bgm2_Stop ===&lt;br /&gt;
Instantly stops the BGM that is currently playing on the second BGM track.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x27 - bgm2_ChangeVolume ===&lt;br /&gt;
Changes the volume of the BGM that is currently playing on the second BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames to change the BGM&#039;s volume.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x38 - CallCommon ===&lt;br /&gt;
Jumps to the specified Unionall Coroutine, runs its code, and returns to the line of code in which this opcode was used (only if &amp;lt;code&amp;gt;return;&amp;lt;/code&amp;gt; was used in the Coroutine). This opcode can be used in any script, no matter the type (Common, Enter, Acting, or Sub).&lt;br /&gt;
&lt;br /&gt;
If used in the context of an actor/object/performer, this should not be used in with-statements.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|One of the 701 possible Unionall Coroutines.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x39 - camera_Move2Default ===&lt;br /&gt;
Moves the camera toward an active Type 1 actor (e.g., ACTOR_PLAYER) without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3a - camera_Move2MyPosition ===&lt;br /&gt;
Moves the camera toward a specific entity&#039;s position (i.e., an actor, object, or performer) without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3b - camera_Move2Myself ===&lt;br /&gt;
Moves the camera toward a specific entity (i.e., an actor, object, or performer) without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3c - camera_Move2PositionMark ===&lt;br /&gt;
Moves the camera to one or more Position Marks without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3d - camera_Move2PositionMark ===&lt;br /&gt;
Moves the camera to a Position Mark without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3e - camera_Move3Default ===&lt;br /&gt;
Moves the camera toward an active Type 1 actor (e.g., ACTOR_PLAYER) in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3f - camera_Move3MyPosition ===&lt;br /&gt;
Moves the camera toward a specific entity&#039;s position (i.e., an actor, object, or performer) in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x40 - camera_Move3Myself ===&lt;br /&gt;
Moves the camera toward a specific entity (i.e., an actor, object, or performer) in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x41 - camera_Move3PositionMark ===&lt;br /&gt;
Moves the camera to one or more Position Marks in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x42 - camera_Move3PositionMark ===&lt;br /&gt;
Moves the camera to a Position Mark without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x43 - camera_MoveDefault ===&lt;br /&gt;
Moves the camera toward an active Type 1 actor (e.g., ACTOR_PLAYER) while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x44 - camera_MoveMyPosition ===&lt;br /&gt;
Moves the camera toward a specific entity&#039;s position (i.e., an actor, object, or performer) while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x45 - camera_MoveMyself ===&lt;br /&gt;
Moves the camera toward a specific entity (i.e., an actor, object, or performer) while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x46 - camera_MovePositionMark ===&lt;br /&gt;
Moves the camera to one or more Position Marks while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x47 - camera_MovePositionMark ===&lt;br /&gt;
Moves the camera to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x48 - camera_SetDefault ===&lt;br /&gt;
Instantly sets the camera to a Type 1 actor (e.g., ACTOR_PLAYER).&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x49 - camera_SetEffect ===&lt;br /&gt;
Continuously shakes the camera at specified intensities. Entities will be affected by the camera shaking, but not textboxes and portraits. The camera will continue to shake even if it is moved using another opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Values of 0 or 3+ mean the camera will not shake.&lt;br /&gt;
&lt;br /&gt;
# Erratic, jerky shaking.&lt;br /&gt;
# Subdued, smoother shaking.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|intensity&lt;br /&gt;
|The intensity of the shake. Higher values will result in a more intense shake.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a slower speed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x4a - camera_SetMyPosition ===&lt;br /&gt;
Instantly sets the camera toward a specific entity&#039;s position (i.e., an actor, object, or performer).&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x4b - camera_SetMyself ===&lt;br /&gt;
Instantly sets the camera to a specific entity (i.e., an actor, object, or performer). Once performed, the camera will now follow the entity wherever it moves.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x4c - camera_SetPositionMark ===&lt;br /&gt;
Instantly sets the camera to a Position Mark.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x4d - camera2_Move2Default ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2Default&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x4e - camera2_Move2MyPosition ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2MyPosition&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x4f - camera2_Move2Myself ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2Myself&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x50 - camera2_Move2PositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2PositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x51 - camera2_Move2PositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2PositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x52 - camera2_Move3Default ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3Default&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x53 - camera2_Move3MyPosition ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3MyPosition&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x54 - camera2_Move3Myself ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3Myself&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x55 - camera2_Move3PositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3PositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x56 - camera2_Move3PositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3PositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x57 - camera2_MoveDefault ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MoveDefault&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x58 - camera2_MoveMyPosition ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MoveMyPosition&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x59 - camera2_MoveMyself ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MoveMyself&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5a - camera2_MovePositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MovePositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5b - camera2_MovePositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MovePositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5c - camera2_SetDefault ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetDefault&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x5d - camera2_SetEffect ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetEffect&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Values of 0 or 3+ mean the camera will not shake.&lt;br /&gt;
&lt;br /&gt;
# Erratic, jerky shaking.&lt;br /&gt;
# Subdued, smoother shaking.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|intensity&lt;br /&gt;
|The intensity of the shake. Higher values will result in a more intense shake.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a slower speed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5e - camera2_SetMyPosition ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetMyPosition&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x5f - camera2_SetMyself ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetMyself&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x60 - camera2_SetPositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetPositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x61 - CancelCut ===&lt;br /&gt;
Reverses the effects of the opcode &amp;lt;code&amp;gt;CancelRecoverCommon&amp;lt;/code&amp;gt;, i.e., disallows the game from reloading Unionall at a Coroutine by pressing the Start button.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x62 - CancelRecoverCommon ===&lt;br /&gt;
Allows reloading Unionall at a specified Coroutine by pressing the Start button. This can be done in a cutscene and the overworld.&lt;br /&gt;
&lt;br /&gt;
Once the Start button is pressed, the game will stop the current script, fade out the entire screen, and reload Unionall and begin running code at the specified Coroutine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|One of the 701 possible Unionall Coroutines.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6a - debug_Assert ===&lt;br /&gt;
Does nothing in the final game.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6b - debug_Print ===&lt;br /&gt;
Does nothing in the final game.&lt;br /&gt;
&lt;br /&gt;
If the script is running using SkyTemple&#039;s debugger and the &amp;quot;Script Debug&amp;quot; checkbox is ticked, the specified string will be printed to the Debug Log.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ConstString&lt;br /&gt;
|txt&lt;br /&gt;
|A string to be printed to the Debug Log.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6c - debug_PrintFlag ===&lt;br /&gt;
Does nothing in the final game.&lt;br /&gt;
&lt;br /&gt;
If the script is running using SkyTemple&#039;s debugger and the &amp;quot;Script Debug&amp;quot; checkbox is ticked, the specified string will be printed to the Debug Log, along with the value of the specified script variable.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|One of the 115 possible script variables. Indexed variables are not encouraged to use, since the Debug Log will only read from the first index.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|txt&lt;br /&gt;
|A string to be printed to the Debug Log.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6d - debug_PrintScenario ===&lt;br /&gt;
If the script is running using SkyTemple&#039;s debugger and the &amp;quot;Script Debug&amp;quot; checkbox is ticked, the specified string will be printed to the Debug Log, along with two indices of the specified script variable.&lt;br /&gt;
&lt;br /&gt;
This opcode&#039;s Debug Log implementation currently seems broken, as it prints the first index of the specified variable twice.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|One of the 115 possible script variables. A two-indexed variable (e.g., &amp;lt;code&amp;gt;$SCENARIO_MAIN&amp;lt;/code&amp;gt;) is encouraged to use.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|txt&lt;br /&gt;
|A string to be printed to the Debug Log.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6f - Destroy ===&lt;br /&gt;
Instantly removes an active entity (i.e., an actor, object, or performer) from memory.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x71 - EndAnimation ===&lt;br /&gt;
Stops an actor or object&#039;s looping animation once it reaches the end of its animation frames.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x72 - ExecuteActing ===&lt;br /&gt;
Currently unknown.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x73 - ExecuteCommon ===&lt;br /&gt;
Jumps to a Unionall Coroutine, runs its code, and returns to the line in which this opcode was called. This opcode should be called if the specified Coroutine ends with &amp;lt;code&amp;gt;hold;&amp;lt;/code&amp;gt;. Typically, the base game uses this command with Coroutines whose names end with &amp;quot;FUNC_SERIES&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|One of the 701 possible Unionall Coroutines.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x81 - Flash ===&lt;br /&gt;
Zeroes-out the return address used by the &amp;lt;code&amp;gt;Return&amp;lt;/code&amp;gt; opcode. This opcode is not used in the base game.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x83 - item_GetVariable ===&lt;br /&gt;
Saves the value in a specific item slot (set by &amp;lt;code&amp;gt;item_Set&amp;lt;/code&amp;gt;) to a script variable.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|slot&lt;br /&gt;
|An item slot used by many &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|One of the indexed variables. Non-indexed values causes the IndexError.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x84 - item_Set ===&lt;br /&gt;
Sets an item into an item slot, which can be used by other various &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
&lt;br /&gt;
Items in slot 0 may also be added to the player&#039;s bag and storage with hardcoded menus, such as &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM);&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM2);&amp;lt;/code&amp;gt;, respectively. Additionally, the text tag &amp;lt;code&amp;gt;[s_item:X]&amp;lt;/code&amp;gt; will display the item&#039;s name, where X is the item slot number.&lt;br /&gt;
&lt;br /&gt;
Item slots 0-3 are safe to use, but item slots 4 and beyond will begin to overwrite other memory!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|slot&lt;br /&gt;
|An item slot used by many &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|item_id&lt;br /&gt;
|The ID of the item, where all are listed in the Items tab of SkyTemple. &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|item_stack&lt;br /&gt;
|The stack count of an item, if it belongs to a Thrown category. Treasure Boxes will also use this as the item earned when opening the box at Xatu&#039;s Appraisal.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x85 - item_SetTableData ===&lt;br /&gt;
Sets a random item from predefined tables into an item slot, which can be used by other various &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes. This opcode is used mainly in Spinda&#039;s Cafe, for redeeming a random Recycle Shop prize and for receiving items from Treasure Town NPCs after giving them Sky Gifts.&lt;br /&gt;
&lt;br /&gt;
Items in slot 0 may also be added to the player&#039;s bag and storage with hardcoded menus, such as &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM);&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM2);&amp;lt;/code&amp;gt;, respectively. Additionally, the text tag &amp;lt;code&amp;gt;[s_item:X]&amp;lt;/code&amp;gt; will display the item&#039;s name, where X is the item slot number.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|slot&lt;br /&gt;
|An item slot used by many &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|table_ID&lt;br /&gt;
|Some item tables related to Spinda&#039;s Cafe.&lt;br /&gt;
|}&lt;br /&gt;
The table IDs themselves are as follows. Values above 15 are currently unknown and untested. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!#&lt;br /&gt;
!Description&lt;br /&gt;
!#&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Sky Gift Item Pool&lt;br /&gt;
|8&lt;br /&gt;
|Silver Ticket Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Numel &amp;quot;Give&amp;quot; Item Pool&lt;br /&gt;
|9&lt;br /&gt;
|Silver Ticket Big Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Numel &amp;quot;Recieve&amp;quot; Item Pool&lt;br /&gt;
|10&lt;br /&gt;
|Gold Ticket Loss Pool&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Happiny Lost Item Pool&lt;br /&gt;
|11&lt;br /&gt;
|Gold Ticket Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Prize Ticket Loss Pool&lt;br /&gt;
|12&lt;br /&gt;
|Gold Ticket Big Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Prize Ticket Win Pool&lt;br /&gt;
|13&lt;br /&gt;
|Prism Ticket Loss Pool&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Prize Ticket Big Win Pool&lt;br /&gt;
|14&lt;br /&gt;
|Prism Ticket Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Silver Ticket Loss Pool&lt;br /&gt;
|15&lt;br /&gt;
|Prism Ticket Big Win Pool&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x86 - item_SetVariable ===&lt;br /&gt;
Saves the value of a script variable to an item slot. Items in slot 0 may also be added to the player&#039;s bag and storage with hardcoded menus, such as &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM);&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM2);&amp;lt;/code&amp;gt;, respectively. Additionally, the text tag &amp;lt;code&amp;gt;[s_item:X]&amp;lt;/code&amp;gt; will display the item&#039;s name, where X is the item slot number.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|slot&lt;br /&gt;
|An item slot used by many &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|One of the 115 possible script variables.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x88 - JumpCommon ===&lt;br /&gt;
Jumps to the specified Unionall Coroutine and runs its code, without returning to the line in which this opcode was first used. This opcode can be used in any script, no matter the type (Common, Enter, Acting, or Sub), but is mostly used by the base game in Unionall.&lt;br /&gt;
&lt;br /&gt;
If attempting to execute a Unionall Coroutine from inside an Enter, Acting, or Sub script to play Acting scripts, use &amp;lt;code&amp;gt;supervision_ExecuteCommon&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|One of the 701 possible Unionall Coroutines.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8a - LoadPosition ===&lt;br /&gt;
Sets various attributes of an entity (i.e., an actor, object, or performer) to the values of all indexed &amp;lt;code&amp;gt;$POSITION_&amp;lt;/code&amp;gt; script variables. These include changing the entity&#039;s X and Y coordinates, height, and direction.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|Index used by all &amp;lt;code&amp;gt;$POSITION_&amp;lt;/code&amp;gt; script variables, ranged from 0-2 (inclusive).&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8b - Lock ===&lt;br /&gt;
Suspends the current routine until the opcode &amp;lt;code&amp;gt;Unlock&amp;lt;/code&amp;gt; is called with the same &#039;&#039;lock_id&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|The ID of a Lock, ranged from 0-19 (inclusive).&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8c - main_EnterAdventure ===&lt;br /&gt;
Performs various functions related to entering a dungeon using the crossroads menu.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|mode&lt;br /&gt;
|Most modes are not known, but:&lt;br /&gt;
&lt;br /&gt;
* 32767 opens the dungeon selection menu.&lt;br /&gt;
* 251 stops the current script to reload Unionall starting from the Coroutine CORO_MOVE_WORLD_MAP.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8d - main_EnterDungeon ===&lt;br /&gt;
Attempts to exit ground mode and begins dungeon mode at a specific dungeon.&lt;br /&gt;
&lt;br /&gt;
If attempting to run this opcode before selecting any option from the Top Menu, the game will not enter any dungeon and instead attempt to load a DEMO Unionall coroutine or the Top Menu.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|dungeon_id&lt;br /&gt;
|The dungeon ID to enter, which are all listed in the Dungeons tab of SkyTemple. A value of -1 actually enters dungeon mode—it is insufficient to use this opcode a single time to enter a specific dungeon.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out the screens.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8e - main_EnterGround ===&lt;br /&gt;
Stops the current script to reload Unionall starting from the Coroutine CORO_EVENT_DIVIDE. This opcode also updates the following script variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt;: This opcode&#039;s &#039;&#039;level_id_enter&#039;&#039; parameter.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER_LINK&amp;lt;/code&amp;gt;: Set to 0.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_GETOUT&amp;lt;/code&amp;gt;: The value of &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt; prior to using this opcode.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_MAP&amp;lt;/code&amp;gt;: The Level ID used to display the Map Background.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_PLACE&amp;lt;/code&amp;gt;: The World Map Marker ID that determines where the player appears on the Top Screen when selecting &amp;quot;Map and team&amp;quot; in the overworld.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_START_MODE&amp;lt;/code&amp;gt;: Set to 3.&lt;br /&gt;
&lt;br /&gt;
In the base game, using this opcode allows for transitioning between Levels in the Overworld, as the game will eventually run the &amp;lt;code&amp;gt;supervision_ExecuteEnter&amp;lt;/code&amp;gt; opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List. Ideally, this opcode would load the specified Level&#039;s Enter00 script.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out the screens.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8f - main_EnterGroundMulti ===&lt;br /&gt;
Stops the current script to reload Unionall starting from the Coroutine CORO_EVENT_DIVIDE. This opcode also updates the following script variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt;: This opcode&#039;s &#039;&#039;level_id_enter&#039;&#039; parameter.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER_LINK&amp;lt;/code&amp;gt;: This opcode&#039;s &#039;&#039;level_id_link&#039;&#039; parameter.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_GETOUT&amp;lt;/code&amp;gt;: The value of &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt; prior to using this opcode.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_MAP&amp;lt;/code&amp;gt;: The Level ID used to display the Map Background.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_PLACE&amp;lt;/code&amp;gt;: The World Map Marker ID that determines where the player appears on the Top Screen when selecting &amp;quot;Map and team&amp;quot; in the overworld.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_START_MODE&amp;lt;/code&amp;gt;: Set to 3.&lt;br /&gt;
&lt;br /&gt;
In the base game, using this opcode allows for transitioning between Levels in the Overworld, as the game will eventually run the &amp;lt;code&amp;gt;supervision_ExecuteEnter&amp;lt;/code&amp;gt; opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id_enter&lt;br /&gt;
|An entry in the Level List. Ideally, this opcode would load the specified Level&#039;s Enter00 script.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out the screens.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Level&lt;br /&gt;
|level_id_link&lt;br /&gt;
|An entry in the Level List. Used to update &amp;lt;code&amp;gt;$GROUND_ENTER_LINK&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x90 - main_EnterRescueUser ===&lt;br /&gt;
Exits ground mode and begins dungeon mode while taking an SOS Mail. Dungeon selection seems to be determined by the SOS Mail chosen via &amp;lt;code&amp;gt;message_Menu(MENU_S_O_S_MAIL_PICKER);&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out the screens.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x91 - main_EnterTraining ===&lt;br /&gt;
Performs various functions related to entering a dungeon using Marowak Dojo.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Most modes are not known, but:&lt;br /&gt;
&lt;br /&gt;
* 32767 opens the generic dojo selection menu&lt;br /&gt;
* 251 goes to the Coroutine CORO_GOTO_TRAINING_DUNGEON, which later stops the current script to reload Unionall starting from the Coroutine CORO_ENTER_TRAINING_DUNGEON.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x92 - main_EnterTraining2 ===&lt;br /&gt;
Performs various functions related to entering a dungeon using Marowak Dojo&#039;s Final Maze.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Most modes are not known, but:&lt;br /&gt;
&lt;br /&gt;
* 32767 opens a dojo selection menu that only involves Final Maze.&lt;br /&gt;
* 251 goes to the Coroutine CORO_GOTO_TRAINING_DUNGEON, which later stops the current script to reload Unionall starting from the Coroutine CORO_ENTER_TRAINING_DUNGEON.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x93 - main_SetGround ===&lt;br /&gt;
Updates the following variables&#039; values to be this opcode&#039;s &#039;&#039;level_id&#039;&#039; parameter:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_GETOUT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x94 - me_Play ===&lt;br /&gt;
Instantly plays a special [[sound effect]] that can seamlessly interrupt any BGM tracks that are currently playing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|me_id&lt;br /&gt;
|A sound effect defined in SOUND/ME of the ROM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x95 - me_Stop ===&lt;br /&gt;
Instantly stops the currently-playing special [[sound effect]] called with &amp;lt;code&amp;gt;me_Play&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x96 - message_Close ===&lt;br /&gt;
Suspends the current routine and allows for closing an active textbox (and portrait, if active) set by one of the following opcodes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message_ImitationSound&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Mail&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Notice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_SpecialTalk&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By pressing the A Button, B Button, or tapping the textbox via the Touch Screen. Once the textbox is closed, the current routine resumes.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x97 - message_CloseEnforce ===&lt;br /&gt;
Instantly closes an active textbox (and portrait, if active) once the game finishes displaying a string set by one of the following opcodes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message_ImitationSound&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Mail&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Notice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_SpecialTalk&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x98 - message_Explanation ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter centered in the middle of the Touch Screen. The string will appear without any frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple). This opcode does not need &amp;lt;code&amp;gt;message_Close&amp;lt;/code&amp;gt; to suspend the routine.&lt;br /&gt;
&lt;br /&gt;
This opcode does not support displaying a portrait. No sound will emit from the text scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x99 - message_FacePositionOffset ===&lt;br /&gt;
Offsets the active portrait in pixels by multiples of 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|The offset to shift the portrait box across the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|The offset to shift the portrait box across the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9a - message_ImitationSound ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple).&lt;br /&gt;
&lt;br /&gt;
This opcode does not support displaying a portrait. No sound will emit from the text scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9b - message_KeyWait ===&lt;br /&gt;
If an active textbox has finished displaying its string and was created by one of the following opcodes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message_ImitationSound&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Mail&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Notice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_SpecialTalk&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This opcode suspends the current routine until the A Button, B Button or textbox is pressed (via the Touch Screen). Once done so, the textbox will not close, but the current routine will resume.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x9c - message_Mail ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple).&lt;br /&gt;
&lt;br /&gt;
This opcode does not support displaying a portrait. No sound will emit from the text scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9d - message_Menu ===&lt;br /&gt;
Executes various hardcoded &amp;quot;menu&amp;quot; functionalities given a certain ID. Some IDs result in an actual menu, while others simply perform a silent task.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Menu&lt;br /&gt;
|menu_id&lt;br /&gt;
|The ID of a menu, the list of which can be seen by typing &amp;lt;code&amp;gt;MENU_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9e - message_Monologue ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple).&lt;br /&gt;
&lt;br /&gt;
This opcode supports displaying a portrait. No sound will emit from the text scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9f - message_Narration ===&lt;br /&gt;
Fades in the screen and instantly displays the string defined in the &#039;&#039;txt&#039;&#039; parameter centered in the middle of the Touch Screen. The string will appear without any frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple). This opcode does not need &amp;lt;code&amp;gt;message_Close&amp;lt;/code&amp;gt; to suspend the routine. Once the routine is resumed (by pressing the A Button, B Button, or text via the Touch Screen), the screen will fade out, including the string.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade in/out the Touch Screen.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa0 - message_Notice ===&lt;br /&gt;
Instantly displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple).&lt;br /&gt;
&lt;br /&gt;
This opcode does not support displaying a portrait.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa1 - message_EmptyActor ===&lt;br /&gt;
Disallows a portrait from appearing alongside a textbox, along with disallowing a name to appear in the textbox if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0xa2 - message_ResetActor ===&lt;br /&gt;
Disallows a portrait from appearing alongside a textbox, along with setting a speech bubble (the text tag [M:T1]) to the start of next script string if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0xa3 - message_SetActor ===&lt;br /&gt;
Sets the specified actor&#039;s name to the start of the next script string if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa4 - message_SetFace ===&lt;br /&gt;
Sets the specified actor&#039;s name to the start of the next script string if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode. Will also display a portrait of the actor&#039;s species at a specified position if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt; follow this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Face&lt;br /&gt;
|face_id&lt;br /&gt;
|The ID of a portrait, the list of which can be seen by typing FACE_ in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|FaceMode&lt;br /&gt;
|face_mode&lt;br /&gt;
|The position of a portrait, the list of which can be seen by typing &amp;lt;code&amp;gt;FACE_POS_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa5 - message_SetFaceEmpty ===&lt;br /&gt;
Displays a portrait of the actor&#039;s species at a specified position if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt; follow this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Face&lt;br /&gt;
|face_id&lt;br /&gt;
|The ID of a portrait, the list of which can be seen by typing FACE_ in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|FaceMode&lt;br /&gt;
|face_mode&lt;br /&gt;
|The position of a portrait, the list of which can be seen by typing &amp;lt;code&amp;gt;FACE_POS_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa6 - message_SetFaceOnly ===&lt;br /&gt;
Sets a speech bubble (the text tag [M:T1]) to the start of the next script string if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode. Will also display a portrait of the actor&#039;s species at a specified position if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt; follow this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Face&lt;br /&gt;
|face_id&lt;br /&gt;
|The ID of a portrait, the list of which can be seen by typing FACE_ in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|FaceMode&lt;br /&gt;
|face_mode&lt;br /&gt;
|The position of a portrait, the list of which can be seen by typing &amp;lt;code&amp;gt;FACE_POS_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa7 - message_SetFacePosition ===&lt;br /&gt;
Re-positions an actor&#039;s portrait.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|FaceMode&lt;br /&gt;
|face_mode&lt;br /&gt;
|The position of a portrait, the list of which can be seen by typing &amp;lt;code&amp;gt;FACE_POS_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa8 - message_SetWaitMode ===&lt;br /&gt;
Makes strings displayed with a &amp;lt;code&amp;gt;message_&amp;lt;/code&amp;gt; opcode auto-scroll. For both parameters, a value of -1 means the auto-scroll will stop.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|duration0&lt;br /&gt;
|Sets the frame count for a textbox auto-advancing, once the end of the string has been displayed and the following opcode is &amp;lt;code&amp;gt;message_KeyWait();&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|duration1&lt;br /&gt;
|Sets the frame count for text tags such as [K] auto-advancing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa9 - message_SpecialTalk ===&lt;br /&gt;
Displays a random Text String based off of the actor ACTOR_TALK_SUB&#039;s Talk Group.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|category&lt;br /&gt;
|A category of Text String.&lt;br /&gt;
&lt;br /&gt;
* 0 seems to use Text Strings while not in a dungeon (e.g., teammates waiting at Spinda&#039;s Cafe).&lt;br /&gt;
* 1 seems to be use Text Strings while mid-dungeon (e.g., teammates at Amp Plains).&lt;br /&gt;
|}&lt;br /&gt;
=== 0xae - message_Talk ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple). &lt;br /&gt;
&lt;br /&gt;
This opcode supports displaying a portrait. The [[sound effect]] 16133 will emit from the each character scrolling in the text.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xaf - Move2Position ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a specific pixel position without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position on the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position on the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb0 - Move2PositionLives ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb1 - Move2PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to one or more Position Marks without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0xb2 - Move2PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb3 - Move2PositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x, y&lt;br /&gt;
|The pixel offset to shift the entity across the X or Y-axis.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb4 - Move2PositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel offset to shift the entity across the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel offset to shift the entity across the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb5 - Move2PositionOffsetRandom ===&lt;br /&gt;
Continuously and randomly offsets an entity (i.e., an actor, object, or performer) from its current position across both axes without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|Determines something about the random pixel value chosen to apply to the X-axis; somewhat unknown.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|Determines something about the random pixel value chosen to apply to the Y-axis; somewhat unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb6 - Move3Position ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a specific pixel position in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position on the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position on the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb7 - Move3PositionLives ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb8 - Move3PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb9 - Move3PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xba - Move3PositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x, y&lt;br /&gt;
|The pixel offset to shift the entity across the X or Y-axis.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbb - Move3PositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel offset to shift the entity across the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel offset to shift the entity across the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbc - Move3PositionOffsetRandom ===&lt;br /&gt;
Continuously and randomly offsets an entity (i.e., an actor, object, or performer) from its current position across both axes in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|Determines something about the random pixel value chosen to apply to the X-axis; somewhat unknown.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|Determines something about the random pixel value chosen to apply to the Y-axis; somewhat unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbd - MoveDirection ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) by a certain number of pixels based on a given direction. Movement is performed while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|offset&lt;br /&gt;
|The pixel offset to shift the entity relative to the entity&#039;s direction.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|The type of direction, the list of which can be seen by typing &amp;lt;code&amp;gt;DIR_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbe - MoveHeight ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a certain pixel height, displacing it from its shadow. When used, the entity&#039;s animation and direction will not change.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|height&lt;br /&gt;
|The pixel height to set the entity relative to their shadow.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbf - MovePosition ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a specific pixel position while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position on the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position on the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc0 - MovePositionLives ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc1 - MovePositionLivesTime ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor while restricting movement by eight angles—as if movement was performed using the D-Pad. Movement will end once either the entity reaches the actor or after a certain number of frames have passed—whichever comes first.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to move the entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc2 - MovePositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc3 - MovePositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc4 - MovePositionMarkTime ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad. Movement will end once either the entity reaches the Position Mark or after a certain number of frames have passed—whichever comes first.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to move the entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc5 - MovePositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x, y&lt;br /&gt;
|The pixel offset to shift the entity across the X or Y-axis.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc6 - MovePositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel offset to shift the entity across the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel offset to shift the entity across the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc7 - MoveSpecial ===&lt;br /&gt;
Currently unknown. Seems to move an entity (i.e., an actor, object, or performer) based on some hardcoded behaviors.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Determines the kind of action.&lt;br /&gt;
&lt;br /&gt;
# Spin and move in a circular motion.&lt;br /&gt;
# Spin and move in a circular motion.&lt;br /&gt;
# Currently unknown.&lt;br /&gt;
# Currently unknown.&lt;br /&gt;
# Currently unknown. Seems to be the most commonly-used value, as a part of the Unionall Coroutine CORO_LIVES_REPLY_NOMRAL.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown. Seems to affect how far the entity will move?&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc8 - MoveTurn ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) based on a certain pattern. Unlike other &amp;lt;code&amp;gt;Move&amp;lt;/code&amp;gt; opcodes, this opcode will make the entity interact with the currently loaded Map Background&#039;s collision (i.e., the entity stops when hitting a wall).&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|distance&lt;br /&gt;
|How far the entity will move. Higher values result in greater distance being covered.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
&lt;br /&gt;
This parameter also seems to affect the distance traveled.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|pattern&lt;br /&gt;
|A hardcoded pattern to move in.&lt;br /&gt;
&lt;br /&gt;
# Moves in a circle clockwise.&lt;br /&gt;
# Moves in a circle counterclockwise.&lt;br /&gt;
# Moves in a square clockwise.&lt;br /&gt;
# Moves in a square counterclockwise.&lt;br /&gt;
# Zig-zags back and forth.&lt;br /&gt;
&lt;br /&gt;
Values 6 and above seem to be variations of random movement.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xca - PauseEffect ===&lt;br /&gt;
Instantly pauses the current graphical effect of an entity (i.e., an actor, object, or performer). The effect will freeze mid-frame.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Effect&lt;br /&gt;
|effect_id&lt;br /&gt;
|A graphical effect to display relative to an entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xcc - ProcessSpecial ===&lt;br /&gt;
Executes one of the game&#039;s Special Processes. The return value of a Special Process can be checked by encasing this opcode in a &amp;lt;code&amp;gt;switch&amp;lt;/code&amp;gt; statement. A negative return value is not acceptable and will cause the game to suspend indefinitely.&lt;br /&gt;
&lt;br /&gt;
This opcode cannot be used in targeted routines.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ProcessSpecial&lt;br /&gt;
|process_id&lt;br /&gt;
|One of the game&#039;s Special Processes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|process_param1&lt;br /&gt;
|The first parameter used by the Special Process.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|process_param2&lt;br /&gt;
|The first parameter used by the Special Process.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xcd - PursueTurnLives ===&lt;br /&gt;
Causes an entity (i.e., an actor, object, or performer) to continuously turn toward an actor for a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to make the entity turn. A value of 0 will make the entity turn forever.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Turning speed. Higher values result in a slower speed.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|The actor to turn toward.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|rotation&lt;br /&gt;
|&lt;br /&gt;
# Clockwise.&lt;br /&gt;
# Counterclockwise.&lt;br /&gt;
&lt;br /&gt;
A value of 10 will make the entity choose the nearest rotation.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xce - PursueTurnLives2 ===&lt;br /&gt;
Causes an entity (i.e., an actor, object, or performer) to continuously turn toward an actor for a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to make the entity turn. A value of 0 will make the entity turn forever.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Turning speed. Higher values result in a slower speed.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|The actor to turn toward.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|rotation&lt;br /&gt;
|&lt;br /&gt;
# Clockwise.&lt;br /&gt;
# Counterclockwise.&lt;br /&gt;
&lt;br /&gt;
A value of 10 will make the entity choose the nearest rotation.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xcf - ResetAttribute ===&lt;br /&gt;
Currently unknown. Seems to get ignored when parsed in the scripting engine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd0 - ResetFunctionAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;function&amp;quot; attribute to 0.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|function_bitfield&lt;br /&gt;
|Most bits&#039; purposes are unknown. Bit 1 appears to be the bit used for allowing an entity to follow a Type 1 actor, like the actor ACTOR_ATTENDANT1 in the overworld.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd1 - ResetHitAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;hit&amp;quot; attribute to 0.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|hit_bitfield&lt;br /&gt;
|Most bits&#039; purposes are unknown.&lt;br /&gt;
&lt;br /&gt;
* 2: Entity collision.&lt;br /&gt;
* 6: Talk Script upon collision.&lt;br /&gt;
* 7: Talk Script upon pressing the A Button near the entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd2 - ResetOutputAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;output&amp;quot; attribute to 0.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|output_bitfield&lt;br /&gt;
|&lt;br /&gt;
# Underlay below entities.&lt;br /&gt;
# Overlay above entities.&lt;br /&gt;
# Overlay above the current Map Background&#039;s Layer 2.&lt;br /&gt;
# Overlay above the game&#039;s canvas system, which includes the textbox, portrait, and some &amp;lt;code&amp;gt;screen_&amp;lt;/code&amp;gt; commands that do not end in &amp;lt;code&amp;gt;All&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Flicker.&lt;br /&gt;
# Transparency.&lt;br /&gt;
# Invisibility.&lt;br /&gt;
# Displays shadow.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd3 - ResetReplyAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;reply&amp;quot; attribute to 0.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|reply_bitfield&lt;br /&gt;
|Most bits&#039; purposes are unknown.&lt;br /&gt;
&lt;br /&gt;
* 1: Talk Script upon collision.&lt;br /&gt;
* 2: Talk Script upon pressing the A Button near the entity.&lt;br /&gt;
* 6: Underlay below entities.&lt;br /&gt;
* 7: Overlay above entities.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd4 - ResumeEffect ===&lt;br /&gt;
Resumes the current graphical effect of an entity (i.e., an actor, object, or performer) that has been paused with &amp;lt;code&amp;gt;PauseEffect&amp;lt;/code&amp;gt; prior to using this opcode.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Effect&lt;br /&gt;
|effect_id&lt;br /&gt;
|A graphical effect to display relative to an entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd6 - SavePosition ===&lt;br /&gt;
Saves various attributes of an entity (i.e., an actor, object, or performer) to the following script variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$POSITION_X&amp;lt;/code&amp;gt;: The pixel position of the entity on the X-axis multiplied by 256.&lt;br /&gt;
* &amp;lt;code&amp;gt;$POSITION_Y&amp;lt;/code&amp;gt;: The pixel position of the entity on the Y-axis multiplied by 256.&lt;br /&gt;
* &amp;lt;code&amp;gt;$POSITION_HEIGHT&amp;lt;/code&amp;gt;: The pixel height (i.e., displacement of the entity from their shadow) of the entity multiplied by 256.&lt;br /&gt;
* &amp;lt;code&amp;gt;$POSITION_DIRECTION&amp;lt;/code&amp;gt;: The direction the entity is facing.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|Index used by all &amp;lt;code&amp;gt;$POSITION_&amp;lt;/code&amp;gt; script variables, ranged from 0-2 (inclusive).&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd7 - screen_FadeChange ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and 1 is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd8 - screen_FadeChangeAll ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd9 - screen_FadeIn ===&lt;br /&gt;
Changes the brightness of the screen to its default state across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xda - screen_FadeInAll ===&lt;br /&gt;
Changes the brightness of the screen to its default state across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xdb - screen_FadeOut ===&lt;br /&gt;
Changes the brightness of the screen to its minimum (i.e., a black screen) across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xdc - screen_FadeOutAll ===&lt;br /&gt;
Changes the brightness of the screen to its minimum (i.e., a black screen) across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xdd - screen_FlushChange ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|unk4&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|unk5&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|uint&lt;br /&gt;
|unk6&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|uint&lt;br /&gt;
|unk7&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0xde - screen_FlushIn ===&lt;br /&gt;
Changes the color of the screen from a specific state (given by the opcode&#039;s parameters, which affect the Touch Screen instantly) to its default state across a certain number of frames. This opcode will affect all entities (i.e., actors, objects, and performers) on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s color.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|&lt;br /&gt;
# Completely darkens the Touch Screen.&lt;br /&gt;
# Completely turns the Touch Screen to a certain color.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with a certain color.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: 144, 144, and 255.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: 255, 192, and 128.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.&lt;br /&gt;
# Instantly overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|r&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|g&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|b&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xdf - screen_FlushOut ===&lt;br /&gt;
Changes the color of the screen across a certain number of frames. This opcode will affect all entities (i.e., actors, objects, and performers) on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s color.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|&lt;br /&gt;
# Completely darkens the Touch Screen.&lt;br /&gt;
# Completely turns the Touch Screen to a certain color.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with a certain color.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: 144, 144, and 255.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: 255, 192, and 128.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.&lt;br /&gt;
# Instantly overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|r&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|g&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|b&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe0 - screen_WhiteChange ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and 1 is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe1 - screen_WhiteChangeAll ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe2 - screen_WhiteIn ===&lt;br /&gt;
Does nothing. Do not be deceived by this opcode&#039;s name: After using &amp;lt;code&amp;gt;screen_WhiteOut&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;screen_FadeIn&amp;lt;/code&amp;gt; to restore the Touch Screen&#039;s brightness level!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe3 - screen_WhiteInAll ===&lt;br /&gt;
Does nothing. Do not be deceived by this opcode&#039;s name: After using &amp;lt;code&amp;gt;screen_WhiteOutAll&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;screen_FadeInAll&amp;lt;/code&amp;gt; to restore the Touch Screen&#039;s brightness level!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe4 - screen_WhiteOut ===&lt;br /&gt;
Changes the brightness of the screen to its maximum (i.e., a white screen) across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe5 - screen_WhiteOutAll ===&lt;br /&gt;
Changes the brightness of the screen to its maximum (i.e., a white screen) across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe6 - screen2_FadeChange ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and 1 is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe7 - screen2_FadeChangeAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe8 - screen2_FadeIn ===&lt;br /&gt;
Changes the brightness of the screen to its default state across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe9 - screen2_FadeInAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xea - screen2_FadeOut ===&lt;br /&gt;
Changes the brightness of the screen to its minimum (i.e., a black screen) across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xeb - screen2_FadeOutAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xec - screen2_FlushChange ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|unk4&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|unk5&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|uint&lt;br /&gt;
|unk6&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|uint&lt;br /&gt;
|unk7&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xed - screen2_FlushIn ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;screen_FlushIn&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s color.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|&lt;br /&gt;
# Completely darkens the Top Screen.&lt;br /&gt;
# Completely turns the Top Screen to a certain color.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with a certain color.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: 144, 144, and 255.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: 255, 192, and 128.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: All 255. The Top Screen is not turned completely white.&lt;br /&gt;
# Instantly overlays the Top Screen with hardcoded color bytes: All 255. The Top Screen is not turned completely white.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|r&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|g&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|b&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xee - screen2_FlushOut ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;screen_FlushOut&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s color.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|&lt;br /&gt;
# Completely darkens the Top Screen.&lt;br /&gt;
# Completely turns the Top Screen to a certain color.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with a certain color.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: 144, 144, and 255.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: 255, 192, and 128.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: All 255. The Top Screen is not turned completely white.&lt;br /&gt;
# Instantly overlays the Top Screen with hardcoded color bytes: All 255. The Top Screen is not turned completely white.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|r&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|g&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|b&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xef - screen2_WhiteChange ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf0 - screen2_WhiteChangeAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf1 - screen2_WhiteIn ===&lt;br /&gt;
Does nothing. Do not be deceived by this opcode&#039;s name: After using &amp;lt;code&amp;gt;screen2_WhiteOut&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;screen2_FadeIn&amp;lt;/code&amp;gt; to restore the Top Screen&#039;s brightness level!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf2 - screen2_WhiteInAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf3 - screen2_WhiteOut ===&lt;br /&gt;
Changes the brightness of the screen to its maximum (i.e., a white screen) across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf4 - screen2_WhiteOutAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf5 - se_ChangePan ===&lt;br /&gt;
Changes the panning of the currently-playing [[sound effect]] across a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the SE&#039;s panning.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|pan&lt;br /&gt;
|The panning of the SE. This parameter gets recalculated internally as  &amp;lt;code&amp;gt;((&#039;&#039;pan&#039;&#039; * 0x3f + ((&#039;&#039;pan&#039;&#039; * 0x3f &amp;gt;&amp;gt; 7) &amp;gt;&amp;gt; 0x18)) &amp;gt;&amp;gt; 8) + 0x40&amp;lt;/code&amp;gt;, which is eventually split up into two halfwords, then recalculated further into a signed byte.&lt;br /&gt;
What this means is that:&lt;br /&gt;
&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 260 will result in sound panning only to the right channel.&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 261 will result in sound panning only to the left channel.&lt;br /&gt;
&lt;br /&gt;
More research on this parameter may be needed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf6 - se_ChangeVolume ===&lt;br /&gt;
Changes the volume of the currently-playing [[sound effect]] across a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the SE&#039;s volume.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the SE will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf7 - se_FadeOut ===&lt;br /&gt;
Fades out the currently-playing [[sound effect]] across a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out and silence a given SE.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf8 - se_Play ===&lt;br /&gt;
Instantly plays a [[sound effect]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf9 - se_PlayFull ===&lt;br /&gt;
Instantly plays a [[sound effect]] at a specified volume and panning.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the SE will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|pan&lt;br /&gt;
|The panning of the SE. This parameter gets recalculated internally as  &amp;lt;code&amp;gt;((&#039;&#039;pan&#039;&#039; * 0x3f + ((&#039;&#039;pan&#039;&#039; * 0x3f &amp;gt;&amp;gt; 7) &amp;gt;&amp;gt; 0x18)) &amp;gt;&amp;gt; 8) + 0x40&amp;lt;/code&amp;gt;, which is eventually split up into two halfwords, then recalculated further into a signed byte.&lt;br /&gt;
What this means is that:&lt;br /&gt;
&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 260 will result in sound panning only to the right channel.&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 261 will result in sound panning only to the left channel.&lt;br /&gt;
&lt;br /&gt;
More research on this parameter may be needed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfa - se_PlayPan ===&lt;br /&gt;
Instantly plays a [[sound effect]] at a specified panning.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|pan&lt;br /&gt;
|The panning of the SE. This parameter gets recalculated internally as  &amp;lt;code&amp;gt;((&#039;&#039;pan&#039;&#039; * 0x3f + ((&#039;&#039;pan&#039;&#039; * 0x3f &amp;gt;&amp;gt; 7) &amp;gt;&amp;gt; 0x18)) &amp;gt;&amp;gt; 8) + 0x40&amp;lt;/code&amp;gt;, which is eventually split up into two halfwords, then recalculated further into a signed byte.&lt;br /&gt;
What this means is that:&lt;br /&gt;
&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 260 will result in sound panning only to the right channel.&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 261 will result in sound panning only to the left channel.&lt;br /&gt;
&lt;br /&gt;
More research on this parameter may be needed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfb - se_PlayVolume ===&lt;br /&gt;
Instantly plays a [[sound effect]] at a specified volume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the SE will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfc - se_Stop ===&lt;br /&gt;
Instantly stops a specified sound effect.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfd - SetAnimation ===&lt;br /&gt;
Plays a sprite&#039;s animation, optionally changing its speed and animation flags.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|id&lt;br /&gt;
|Animation table index. Converted to an [[Animation ID]] for the current sprite using the [https://docs.google.com/spreadsheets/d/11xHv80Def5mtF60ZsfI1lF1eNX0dBE2It837Q08AlRk/htmlview SetAnimation table].&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfe - SetAttribute ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xff - SetBlink ===&lt;br /&gt;
Sets a specific entity (i.e., an actor, object, or performer) to continuously flicker in and out of view at a certain interval.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|visible_interval&lt;br /&gt;
|The number of frames to wait for while the entity is visible. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|invisible_interval&lt;br /&gt;
|The number of frames to wait for while the entity is invisible. &lt;br /&gt;
|}&lt;br /&gt;
=== 0x100 - SetDirection ===&lt;br /&gt;
Instantly sets a specific entity (i.e., an actor, object, or performer) to a specified direction.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|The type of direction, the list of which can be seen by typing &amp;lt;code&amp;gt;DIR_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x101 - SetDirectionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x102 - SetEffect ===&lt;br /&gt;
Plays back an [[List of Effect Animations|effect animation]] assigned to an actor or performer.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Effect&lt;br /&gt;
|effect_id&lt;br /&gt;
|The ID of a given effect.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|position_marker_id?&lt;br /&gt;
|Set to one of the following character sprite offsets:&lt;br /&gt;
0: Head&amp;lt;br&amp;gt;1: Right Hand&amp;lt;br&amp;gt;2: Left Hand&amp;lt;br&amp;gt;3: Center&amp;lt;br&amp;gt;4: No offset (bottom of sprite)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x103 - SetFunctionAttribute ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x104 - SetHeight ===&lt;br /&gt;
Moves an actor &amp;quot;vertically&amp;quot; by distancing it from its shadow. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|number of pixels to move up or down by.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x105 - SetHitAttribute ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x106 - SetMoveRange ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|unk4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|unk5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x107 - SetOutputAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;output&amp;quot; attribute to 1.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|output_bitfield&lt;br /&gt;
|&lt;br /&gt;
# Underlay below entities.&lt;br /&gt;
# Overlay above entities.&lt;br /&gt;
# Overlay above the current Map Background&#039;s Layer 2.&lt;br /&gt;
# Overlay above the game&#039;s canvas system, which includes the textbox, portrait, and some &amp;lt;code&amp;gt;screen_&amp;lt;/code&amp;gt; commands that do not end in &amp;lt;code&amp;gt;All&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Flicker.&lt;br /&gt;
# Transparency.&lt;br /&gt;
# Invisibility.&lt;br /&gt;
# Displays shadow.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x108 - SetPosition ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x109 - SetPositionInitial ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x10a - SetPositionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10b - SetPositionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10c - SetPositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10d - SetPositionOffsetRandom ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10e - SetReplyAttribute ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10f - SetupOutputAttributeAndAnimation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x110 - Slide2Position ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a specific pixel position without animation. Must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position on the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position on the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x111 - Slide2PositionLives ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor without animation. Must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|actor_id&lt;br /&gt;
|The ID of the actor to move the entity to.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x112 - Slide2PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to one or more Position Marks without animation, and without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x113 - Slide2PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark without animation, and without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed.  Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_mark&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x114 - Slide2PositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |These two parameters may be repeated multiple times&lt;br /&gt;
|-&lt;br /&gt;
|3+&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|}&lt;br /&gt;
=== 0x115 - Slide2PositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x116 - Slide2PositionOffsetRandom ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x117 - Slide3Position ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x118 - Slide3PositionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|actor_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x119 - Slide3PositionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|This parameter may be repeated multiple times&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11a - Slide3PositionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11b - Slide3PositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |These two parameters may be repeated multiple times&lt;br /&gt;
|-&lt;br /&gt;
|3+&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11c - Slide3PositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11d - Slide3PositionOffsetRandom ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11e - SlideHeight ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11f - SlidePosition ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x120 - SlidePositionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x121 - SlidePositionLivesTime ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x122 - SlidePositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad. Unlike MovePositionMark, this will not turn the entity to face the direction they are moving in.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x123 - SlidePositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad. Unlike MovePositionMark, this will not turn the entity to face the direction they are moving in.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x124 - SlidePositionMarkTime ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x125 - SlidePositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|This parameter may be repeated multiple times&lt;br /&gt;
|}&lt;br /&gt;
=== 0x126 - SlidePositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x127 - sound_FadeOut ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x128 - sound_Stop ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x129 - StopAnimation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x12a - supervision_Acting ===&lt;br /&gt;
Loads a sector of the Acting scene.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to load.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12b - supervision_ActingInvisible ===&lt;br /&gt;
Loads a sector of the Acting scene. Actors and objects in this sector will be invisible. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to load.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12c - supervision_ExecuteActing ===&lt;br /&gt;
Loads a specified Acting script from the specified level from within Enter/Acting/Sub scripts. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|Map LEVEL the script should be located in.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|Name of the script itself, only the first 8 characters are read.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|script_sector&lt;br /&gt;
|The &amp;quot;sector&amp;quot; of the script, and the value &amp;lt;code&amp;gt;switch(sector())&amp;lt;/code&amp;gt; will return in def 0. Often used to determine whether a cutscene should be played as a flashback or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12d - supervision_ExecuteActingSub ===&lt;br /&gt;
Loads a specified Acting script from the specified level from within Unionall.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|Map LEVEL the script should be located in.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|Name of the script itself, only the first 8 characters are read.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|script_sector&lt;br /&gt;
|The &amp;quot;sector&amp;quot; of the script, and the value &amp;lt;code&amp;gt;switch(sector())&amp;lt;/code&amp;gt; will return in def 0. Often used to determine whether a cutscene should be played as a flashback or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12e - supervision_ExecuteCommon ===&lt;br /&gt;
Loads a specified Unionall coroutine from within Enter/Acting/Sub scripts. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12f - supervision_ExecuteEnter ===&lt;br /&gt;
Loads an Enter script from the specified level. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level list. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x130 - supervision_ExecuteStation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x131 - supervision_ExecuteStationCommon ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x132 - supervision_ExecuteStationCommonSub ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x133 - supervision_ExecuteStationSub ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x134 - supervision_ExecuteExport ===&lt;br /&gt;
Loads a specified Acting scene of the level S00P01A&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x135 - supervision_ExecuteExportSub ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ConstString&lt;br /&gt;
|const&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x136 - supervision_LoadStation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x137 - supervision_Remove ===&lt;br /&gt;
Unloads a sector of the Sub scene.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to unload.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x138 - supervision_RemoveActing ===&lt;br /&gt;
Unloads a sector of the Acting scene. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to unload.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x139 - supervision_RemoveCommon ===&lt;br /&gt;
Unloads a sector of the Enter scene. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to unload.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13a - supervision_SpecialActing ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x13b - supervision_Station ===&lt;br /&gt;
Loads a sector of the Sub scene.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|station_id&lt;br /&gt;
|The ID of the sector to load.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13c - supervision_StationCommon ===&lt;br /&gt;
Loads a sector of the Enter scene.&lt;br /&gt;
&lt;br /&gt;
Can be used to call sectors of an enter scene within acting scenes!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|station_id&lt;br /&gt;
|The ID of the sector to load.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13d - supervision_Suspend ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x13e - supervision2_SpecialActing ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x14c - Turn2Direction ===&lt;br /&gt;
Makes an actor rotate to a specified direction.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|How fast the actor turns. The higher the number, the slower the turn.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|rotationdirection&lt;br /&gt;
|The way that the actor will turn to face the specified direction. 1 = clockwise, 2 = counterclockwise, 10 = the most efficient direction to turn.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|The direction that the actor will turn to face.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x14d - Turn2DirectionLives ===&lt;br /&gt;
Makes an actor rotate to face another actor. Must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|How fast the actor turns. The higher the number, the slower the turn.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|rotationdirection&lt;br /&gt;
|The way that the actor will turn to face the specified direction. 1 = clockwise, 2 = counterclockwise, 10 = the most efficient direction to turn.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|The target actor that the actor will turn to face.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x14e - Turn2DirectionLives2 ===&lt;br /&gt;
Makes an actor rotate to face another actor. Must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|How fast the actor turns. The higher the number, the slower the turn.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|rotationdirection&lt;br /&gt;
|The way that the actor will turn to face the specified direction. 1 = clockwise, 2 = counterclockwise, 10 = the most efficient direction to turn.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|actor_id&lt;br /&gt;
|ID of the target actor from Level List that the actor will turn to face.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x14f - Turn2DirectionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|unk7&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x150 - Turn2DirectionTurn ===&lt;br /&gt;
Makes an actor turn at a certain angle. &lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|How fast the actor turns. The higher the number, the slower the turn.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|rotationdirection&lt;br /&gt;
|The way that the actor will turn to face the specified direction. 1 = clockwise, 2 = counterclockwise, 10 = the most efficient direction to turn.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|angle&lt;br /&gt;
|1: 45 degrees left, 2: 45 degrees right, 3: 90 degrees right, 4: 90 degrees left, 5: 180 degrees&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x151 - Turn3 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x152 - TurnDirection ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x153 - TurnDirectionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x154 - TurnDirectionLives2 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x155 - TurnDirectionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x156 - Unlock ===&lt;br /&gt;
Resumes the routine that was suspended when &amp;lt;code&amp;gt;Lock&amp;lt;/code&amp;gt; was called with the specified &#039;&#039;lock_id&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|The ID of a Lock, ranged from 0-19 (inclusive).&lt;br /&gt;
|}&lt;br /&gt;
=== 0x157 - Wait ===&lt;br /&gt;
Pauses the routine for a set number of frames. After the number of frames, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames that the routine will wait for before resuming.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x158 - WaitAnimation ===&lt;br /&gt;
Pauses the routine until the specified actor has finished its animation. After the actor finishes its animation, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
=== 0x159 - WaitBackEffect ===&lt;br /&gt;
Pauses the current routine until [[List of Opcodes#0x2 - back SetBackEffect|back_SetBackEffect]] is called.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x15a - WaitBack2Effect ===&lt;br /&gt;
Pauses the current routine until [[List of Opcodes#0x12 - back2 SetBackEffect|back2_SetBackEffect]] is called.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x15b - WaitBgm ===&lt;br /&gt;
Pauses the current routine until the specified BGM on the first BGM track has ended. After the BGM ends, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A non-looped music track defined in SOUND/BGM of the ROM. Looped music tracks softlocks the game. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x15c - WaitBgm2 ===&lt;br /&gt;
Pauses the current routine until the specified BGM on the second BGM track has ended. After the BGM ends, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A non-looped music track defined in SOUND/BGM of the ROM. Looped music tracks softlocks the game. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x15d - WaitBgmSignal ===&lt;br /&gt;
Pauses the routine until a DSE event with ID 0xF6 on the current BGM track is triggered. This can be used to sync certain parts of the scene to the background music.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x15e - WaitEffect ===&lt;br /&gt;
Pauses the routine until the effect on the specified actor/peformer has ended. After the effect ends, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
=== 0x15f - WaitEndAnimation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x160 - WaitExecuteLives ===&lt;br /&gt;
Pauses the routine until the specified actor has finished its action (Move2Position, Slide2Position, etc.). After the actor finishes its action, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|The actor that the routine will wait for.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x161 - WaitExecuteObject ===&lt;br /&gt;
Pauses the current routine until the specified object has finished its action (Move2Position, Slide2Position, etc.). After the object finishes its action, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Object&lt;br /&gt;
|object_id&lt;br /&gt;
|The ID of the object that the routine will wait for.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x162 - WaitExecutePerformer ===&lt;br /&gt;
Pauses the current routine until the specified performer has finished its current action (Move2Position, Slide2Position, etc.) After the performer has finished its action, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|performer_id&lt;br /&gt;
|The ID of the performer that the routine will wait for.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x163 - WaitFadeIn ===&lt;br /&gt;
Pauses the current routine and waits for the screen to fade in. After the screen fades in, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x164 - WaitLockLives ===&lt;br /&gt;
Pauses the current routine until a [[List of Opcodes#0x8b - Lock|Lock]] opcode with the specified &#039;&#039;lock_id&#039;&#039; is reached in the specified actor&#039;s targeted routine. After the lock is reached, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x165 - WaitLockObject ===&lt;br /&gt;
Pauses the current routine until a [[List of Opcodes#0x8b - Lock|Lock]] opcode with the specified &#039;&#039;lock_id&#039;&#039; is reached in the specified object&#039;s targeted routine. After the lock is reached, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Object&lt;br /&gt;
|object&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x166 - WaitLockPerformer ===&lt;br /&gt;
Pauses the current routine until a [[List of Opcodes#0x8b - Lock|Lock]] opcode with the specified &#039;&#039;lock_id&#039;&#039; is reached in the specified performer&#039;s targeted routine. After the lock is reached, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|performer&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x167 - WaitLockSupervision ===&lt;br /&gt;
Pauses the current routine until a [[List of Opcodes#0x8b - Lock|Lock]] opcode with the specified &#039;&#039;lock_id&#039;&#039; is reached in &amp;lt;code&amp;gt;def 0&amp;lt;/code&amp;gt;. After the lock is reached, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x168 - WaitMe ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x169 - WaitMoveCamera ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16a - WaitMoveCamera2 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16b - WaitRandom ===&lt;br /&gt;
Pauses the routine for a random number of frames. After the number of frames, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration_min&lt;br /&gt;
|Minimum number of frames that the routine will wait for before resuming.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration_max&lt;br /&gt;
|Maximum number of frames that the routine will wait for before resuming.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x16c - WaitScreenFade ===&lt;br /&gt;
Waits until screen_FadeIn finishes executing. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16d - WaitScreenFadeAll ===&lt;br /&gt;
Waits until screen_FadeInAll finishes executing. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16e - WaitScreen2Fade ===&lt;br /&gt;
Waits until screen2_FadeIn finishes executing. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16f - WaitSe ===&lt;br /&gt;
Pauses the current routine until the specified sound effect has ended. After the sound effect ends, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|The ID of the sound to wait for the end of before resuming the routine.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x170 - WaitSpecialActing ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x171 - WaitSubScreen ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x172 - WaitSubSpecialActing ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x173 - worldmap_BlinkMark ===&lt;br /&gt;
Shows a blinking world map marker. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x174 - worldmap_ChangeLevel ===&lt;br /&gt;
Causes the clouds parting animation on the world map, presumably hardcoded by vanilla use-case. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_level&lt;br /&gt;
|Level to transition the world map state to.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x175 - worldmap_DeleteArrow ===&lt;br /&gt;
Remove the yellow arrow from the world map. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x176 - worldmap_MoveCamera ===&lt;br /&gt;
Moves the camera to the specified world map marker. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|The world map id to move the camera to.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x177 - worldmap_OffMessage ===&lt;br /&gt;
Removes a textbox with the world map marker&#039;s name from the Top Screen&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x178 - worldmap_SetArrow ===&lt;br /&gt;
Shows an arrow pointing to a specified world map marker&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x179 - worldmap_SetCamera ===&lt;br /&gt;
Centers the world map camera on a specific world map marker.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|The world map id to set the camera to.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17a - worldmap_SetLevel ===&lt;br /&gt;
Sets the current world map state. Additionally updates $WORLD_MAP_LEVEL&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_level&lt;br /&gt;
|Level to assign the world map state to.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17b - worldmap_SetMark ===&lt;br /&gt;
Enables a yellow dot for the specified world map marker.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|The world map id to enable the yellow dot for.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17c - worldmap_SetMessage ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seemingly unused in vanilla.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17d - worldmap_SetMessagePlace ===&lt;br /&gt;
Shows a textbox on the Top Screen with the specified world map marker&#039;s name. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x17e - worldmap_SetMode ===&lt;br /&gt;
Sets the &amp;quot;mode&amp;quot; of the world map, to align with a particular purpose. &lt;br /&gt;
&lt;br /&gt;
Mode 1 seems to be for handling travel to a dungeon or area.&lt;br /&gt;
&lt;br /&gt;
Mode 3 is for handling moving clouds. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_mode&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Opcodes ==&lt;br /&gt;
These opcodes cannot be directly called from ExplorerScript, since they are represented as higher-level constructs.&lt;br /&gt;
&lt;br /&gt;
=== 0x28 - Branch ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x29 - BranchBit ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2a - BranchDebug ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|param&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2b - BranchEdit ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|param&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2c - BranchExecuteSub ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2d - BranchPerformance ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2e - BranchScenarioNow ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2f - BranchScenarioNowAfter ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x30 - BranchScenarioNowBefore ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x31 - BranchScenarioAfter ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x32 - BranchScenarioBefore ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x33 - BranchSum ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x34 - BranchValue ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x35 - BranchVariable ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|GameVar&lt;br /&gt;
|cmp_var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x36 - BranchVariation ===&lt;br /&gt;
Used for demo cutscenes.&lt;br /&gt;
&lt;br /&gt;
Jumps to the specified address if the first parameter is 0. On the demo version of the game, jumps if the first parameter is 3.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|param&lt;br /&gt;
|Unknown. Always 3.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|Address to jump to.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x37 - Call ===&lt;br /&gt;
Jumps to the specified address, runs code, and returns to the line of code in which this opcode was used (only if &amp;lt;code&amp;gt;return;&amp;lt;/code&amp;gt; was used in the routine this opcode calls). Only one call can be stored at a time!&lt;br /&gt;
&lt;br /&gt;
Use within macros is ill-advised, as using &amp;lt;code&amp;gt;return;&amp;lt;/code&amp;gt; within a macro will just end the macro!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|The address to call, e.g., &amp;lt;code&amp;gt;call @label_0;&amp;lt;/code&amp;gt; if &amp;lt;code&amp;gt;§label_0;&amp;lt;/code&amp;gt; is defined in the script.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x63 - Case ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x64 - CaseMenu ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|choice&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x65 - CaseMenu2 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint?&lt;br /&gt;
|choice?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x66 - CaseScenario ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x67 - CaseText ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|display&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x68 - CaseValue ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x69 - CaseVariable ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6e - DefaultText ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x70 - End ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x74 - flag_CalcBit ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x75 - flag_CalcValue ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|calc_operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x76 - flag_CalcVariable ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|calc_operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|GameVar&lt;br /&gt;
|var_to_set_from&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x77 - flag_Clear ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x78 - flag_Initial ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x79 - flag_Set ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7a - flag_ResetDungeonResult ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x7b - flag_ResetScenario ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7c - flag_SetAdventureLog ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7d - flag_SetDungeonMode ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|dungeon_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|DungeonMode&lt;br /&gt;
|dungen_mode&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7e - flag_SetDungeonResult ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7f - flag_SetPerformance ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x80 - flag_SetScenario ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|scenario_value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|level_value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x82 - Hold ===&lt;br /&gt;
Will stall a script forever.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x87 - Jump ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x89 - lives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0xaa - message_SwitchMenu ===&lt;br /&gt;
Enclose within a switch case, and generates a dialogue prompt with the options present in subsequent &amp;quot;case menu(&amp;quot;text&amp;quot;):&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|cancel&lt;br /&gt;
|If player can use the B button to back out of a menu. 0 for false, 1 for true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|init&lt;br /&gt;
|Entry number to start the cursor at, starting at 1&lt;br /&gt;
|}&lt;br /&gt;
=== 0xab - message_SwitchMenu2 ===&lt;br /&gt;
Same as message_SwitchMenu, but it also takes an argument for a bitfield, and will only display dialogue options for which the corresponding bit is enabled (set to 1).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|cancel&lt;br /&gt;
|If player can use the B button to back out of a menu. 0 for false, 1 for true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|init&lt;br /&gt;
|Entry number to start the cursor at, starting at 1&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Bitfield $VAR&lt;br /&gt;
|}&lt;br /&gt;
=== 0xac - message_SwitchMonologue ===&lt;br /&gt;
Structured similarly to a switch statement. Typically uses &amp;lt;code&amp;gt;$HERO_TALK_KIND&amp;lt;/code&amp;gt; as an argument, and uses multiple cases to display certain dialogue strings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 4:&amp;lt;/code&amp;gt; used when the player is male or genderless&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 5:&amp;lt;/code&amp;gt; used when the player is female&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;default:&amp;lt;/code&amp;gt; used when &amp;lt;code&amp;gt;$HERO_TALK_KIND&amp;lt;/code&amp;gt;&#039;s Talk Group has a value other than 4 or 5&lt;br /&gt;
&lt;br /&gt;
This opcode supports displaying a portrait. No sound effect is used when text is scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&amp;lt;code&amp;gt;$x_TALK_KIND&amp;lt;/code&amp;gt;, contains Talk Group number&lt;br /&gt;
|}&lt;br /&gt;
=== 0xad - message_SwitchTalk ===&lt;br /&gt;
Same as _SwitchMonologue, but typically uses &amp;lt;code&amp;gt;$PARTNER_TALK_KIND&amp;lt;/code&amp;gt; as an argument, and the cases used vary.&lt;br /&gt;
&lt;br /&gt;
Of the vanilla game partner options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 1:&amp;lt;/code&amp;gt; used if Squirtle, Tododile, Chimchar, Meowth, or Munchlax&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 2:&amp;lt;/code&amp;gt; used for all other male partners&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 3:&amp;lt;/code&amp;gt; used for all female partners&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;default:&amp;lt;/code&amp;gt; used when &amp;lt;code&amp;gt;$PARTNER_TALK_KIND&amp;lt;/code&amp;gt;&#039;s Talk Group has a value other than 1, 2, or 3&lt;br /&gt;
&lt;br /&gt;
This opcode supports displaying a portrait. The [[sound effect]] 16133 will emit from the each character scrolling in the text.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&amp;lt;code&amp;gt;$x_TALK_KIND&amp;lt;/code&amp;gt;, contains Talk Group number&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc9 - object ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Object&lt;br /&gt;
|object_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0xcb - performer ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|performer_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd5 - Return ===&lt;br /&gt;
If run from within a macro, ends the macro.&lt;br /&gt;
&lt;br /&gt;
If run after the &amp;quot;call&amp;quot; opcode was used, will return to the address of the call opcode.&lt;br /&gt;
&lt;br /&gt;
If used within a script, ends the script. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x13f - Switch ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x140 - SwitchDirection ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x141 - SwitchDirectionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x142 - SwitchDirectionLives2 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x143 - SwitchDirectionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x144 - SwitchDungeonMode ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|dungeon_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x145 - SwitchLives ===&lt;br /&gt;
If inside a Switch Case, take the case equal to the species ID of the specified Actor!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x146 - SwitchRandom ===&lt;br /&gt;
To be used in a switch statement. Will switch to a case of a random number below the specified integer.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|max_value&lt;br /&gt;
|Largest random output, plus 1&lt;br /&gt;
|}&lt;br /&gt;
=== 0x147 - SwitchScenario ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x148 - SwitchScenarioLevel ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x149 - SwitchSector ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x14a - SwitchValue ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x14b - SwitchVariable ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Opcodes&amp;diff=1418</id>
		<title>List of Opcodes</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Opcodes&amp;diff=1418"/>
		<updated>2026-02-06T21:32:40Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: World Map Opcode edits&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The scripting engine used in Explorers of Sky has different opcodes. [[ExplorerScript]] translates most of them literally, preserving the same parameters and functionality. However, some opcodes are translated to [[ExplorerScript]] constructs, such as if statements.&lt;br /&gt;
&lt;br /&gt;
This article documents the different opcodes, their purpose and parameters. The purpose of unkX parameters is unknown.&lt;br /&gt;
&lt;br /&gt;
== What is an opcode? ==&lt;br /&gt;
An opcode is an instruction to the machine (it tells the machine to &#039;do&#039; something). In modern programming, it would be most similar to a [https://en.wikipedia.org/wiki/Function_(computer_programming) function]. For a more technical description, see [https://en.wikipedia.org/wiki/Opcode here].&lt;br /&gt;
&lt;br /&gt;
== Types of parameters ==&lt;br /&gt;
* uint: An unsigned integer (a number without decimals). It cannot be negative. It is possible that in the game&#039;s code, there are only signed integers and no unsigned integers, but not enough research has been done on the matter. For the most part, it shouldn&#039;t matter.&lt;br /&gt;
* sint: A signed integer (a number without decimals). It can be either positive or negative.&lt;br /&gt;
* bitfield: A bitfield is uint where each bits (0 or 1) are treated independantly. They are used to store multiple binary (boolean) values efficiently. Opcodes that use it usually come in the &amp;lt;code&amp;gt;Set&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Reset&amp;lt;/code&amp;gt; variant. The &amp;lt;code&amp;gt;Set&amp;lt;/code&amp;gt; variant define to true the values which are 1 in the input bitfield (while leaving the others untouched), and &amp;lt;code&amp;gt;Reset&amp;lt;/code&amp;gt; define to false the values which are 1 in the input bitfield (while also leaving the others untouched).&lt;br /&gt;
* String: Text (i.e dialogue). There should always be a quotation mark (&amp;quot;) at the beginning and end.&lt;br /&gt;
* ConstString: Same as String.&lt;br /&gt;
* Routine: Any of the 701 coroutines from [[Unionall]]. Always begins with &amp;quot;CORO_&amp;quot;&lt;br /&gt;
* Entity: An actor, performer. (not an object!)&lt;br /&gt;
* Object: An object in a scene. (not an actor or perfomer!)&lt;br /&gt;
* Level: Any level from the [[Script Engine|Level List]]. Will always begin with &amp;quot;LEVEL_&amp;quot;.&lt;br /&gt;
* Bgm: Any music in the game. Will always begin with &amp;quot;BGM_&amp;quot;. (example: BGM_CRAGGY_COAST)&lt;br /&gt;
* PositionMark: A position. Will be written as &amp;quot;Position&amp;lt;&#039;MarkName&#039;, x, y&amp;gt;&amp;quot;. Once a position mark is written in a script, SkyTemple will show an option to place it visually in the scene.&lt;br /&gt;
* Face: A portrait expression. Will always begin with &amp;quot;FACE_&amp;quot;. (examples: FACE_NORMAL, FACE_HAPPY, FACE_PAIN)&lt;br /&gt;
* FaceMode: A portrait position. Will always begin with &amp;quot;FACE_MODE_&amp;quot;.&lt;br /&gt;
* Direction: A direction for an entity to move in or turn to. Will always begin with &amp;quot;DIR_&amp;quot;. (examples: DIR_UP, DIR_RIGHT)&lt;br /&gt;
* ProcessSpecial: One of the games special processes. Can be referred to by its number, or name.&lt;br /&gt;
* Effect: A graphical effect.&lt;br /&gt;
* GameVar: Any of the game&#039;s [[List of Script Variables|Script Variables]]. Will always begin with &amp;quot;$&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Relevant Opcodes ==&lt;br /&gt;
These opcodes can be directly called from ExplorerScript.&lt;br /&gt;
&lt;br /&gt;
=== 0x0 - Null ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x1 - back_ChangeGround ===&lt;br /&gt;
Sets the Map Background from a Level without changing the chunks from the currently loaded Map Background. Entities such as actors, objects, and performers will not be deleted when this opcode is executed. &lt;br /&gt;
&lt;br /&gt;
This has very few uses in the game—a notable use is how Wigglytuff&#039;s Chamber has its door open, as seen via LEVEL_G01P04A and LEVEL_G01P04A2. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List. This opcode will pull from the Level&#039;s Map Background.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2 - back_SetBackEffect ===&lt;br /&gt;
Performs various effects related to the currently loaded Animation Palettes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|effect&lt;br /&gt;
|&lt;br /&gt;
# The default state of the Animation Palette.&lt;br /&gt;
# Plays the Animation Palette in a loop.&lt;br /&gt;
# Plays the Animation Palette once.&lt;br /&gt;
# Freezes the Animation Palette at its current frame.&lt;br /&gt;
# Resumes the Animation Palette.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3 - back_SetBackScrollOffset ===&lt;br /&gt;
Shifts the background by a certain number of pixels, without affecting entities such as actors, objects, or performers. Backgrounds used with this opcode will display a &amp;quot;loop&amp;quot; effect, i.e., it has the appearance of scrolling forever.&lt;br /&gt;
&lt;br /&gt;
This opcode seems to only work for only a few Levels, such as LEVEL_P13P01A, LEVEL_S13P06A, and LEVEL_V03P11A.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|offset0&lt;br /&gt;
|The number of pixels to shift either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 X-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 1 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level is hardcoded.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|offset1&lt;br /&gt;
|The number of pixels to shift either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 Y-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 2 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level is hardcoded.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x4 - back_SetBackScrollSpeed ===&lt;br /&gt;
Continuously scrolls the background at a certain speed, without affecting entities such as actors, objects, or performers. Backgrounds used with this opcode will display a &amp;quot;loop&amp;quot; effect, i.e., it has the appearance of scrolling forever.&lt;br /&gt;
&lt;br /&gt;
This opcode seems to only work for only a few Levels, such as LEVEL_P13P01A, LEVEL_S13P06A, and LEVEL_V03P11A.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint16&lt;br /&gt;
|speed0&lt;br /&gt;
|The speed to scroll either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 X-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 1 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint16&lt;br /&gt;
|speed1&lt;br /&gt;
|The speed to scroll either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 Y-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 2 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5 - back_SetBanner ===&lt;br /&gt;
Displays broken text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|chapter_number&lt;br /&gt;
|The chapter number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6 - back_SetBanner2 ===&lt;br /&gt;
Displays text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode is typically used for chapter introductions, which includes chapter text and a subtitle displayed over a Map Background. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|An entry in the Level List. This opcode will pull from the Level&#039;s Map Background.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown. Typically, the game uses 0 for this parameter, but it seems to have no effect.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position the camera will center the Map Background on its X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position the camera will center the Map Background on its Y-axis.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|sint&lt;br /&gt;
|chapter_number&lt;br /&gt;
|The chapter number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title of the chapter, e.g., &amp;quot;A Storm At Sea&amp;quot; for Chapter 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7 - back_SetEffect ===&lt;br /&gt;
Performs various effects related to the current Map Background&#039;s layers across a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|effect&lt;br /&gt;
|&lt;br /&gt;
* Transitions from Layer 2 to Layer 1.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Transitions from Layer 2 to Layer 1.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Transitions from Layer 1 to Layer 2.&lt;br /&gt;
* Fades out Layer 1 to total darkness.&lt;br /&gt;
* Merges Layer 1 onto Layer 2, but fades in Layer 1 from total darkness.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Merges Layer onto Layer 2, but fades out Layer 1 to total darkness.&lt;br /&gt;
* Fades out Layer 1 to total darkness.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to play a given effect.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8 - back_SetDungeonBanner ===&lt;br /&gt;
Displays a specific string using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. The text chosen is defined in Dungeons tab as a dungeon&#039;s &amp;lt;code&amp;gt;back_SetDungeonBanner&amp;lt;/code&amp;gt; string. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|dungeon_id&lt;br /&gt;
|The ID of a dungeon, as listed in the Dungeons tab of SkyTemple.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown. Does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9 - back_SetGround ===&lt;br /&gt;
Sets the Map Background from a Level. Upon using this opcode, the variable &amp;lt;code&amp;gt;$GROUND_MAP&amp;lt;/code&amp;gt; will be updated to match the ID of the chosen Level. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List. This opcode will pull from the Level&#039;s Map Background.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa - back_SetSpecialEpisodeBanner ===&lt;br /&gt;
Displays text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode is used for Special Episodes 1-3. This opcode plays a short animation of a green line shooting across the screen, followed by text scrolling across the screen horizontally from opposite directions. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|episode_number&lt;br /&gt;
|The episode number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title of the episode, e.g., &amp;quot;Bidoof&#039;s Wish&amp;quot; for Special Episode 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb - back_SetSpecialEpisodeBanner2 ===&lt;br /&gt;
Displays text using the &amp;lt;code&amp;gt;FONT/banner_c.bin:FONT/b_pal_r.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode is only used for Special Episode 4. This opcode features an elaborate animation featuring hearts and sparkles, along with text scrolling across the screen horizontally from opposite directions. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|episode_number&lt;br /&gt;
|The episode number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title of the episode, e.g., &amp;quot;Bidoof&#039;s Wish&amp;quot; for Special Episode 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc - back_SetSpecialEpisodeBanner3 ===&lt;br /&gt;
Displays text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode is only used for Special Episode 5. This opcode features no animation, but the end result is similar to the opcode &amp;lt;code&amp;gt;back_SetSpecialEpisodeBanner&amp;lt;/code&amp;gt;. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|episode_number&lt;br /&gt;
|The episode number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title of the episode, e.g., &amp;quot;Bidoof&#039;s Wish&amp;quot; for Special Episode 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd - back_SetTitleBanner ===&lt;br /&gt;
Displays user-defined text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The Y-axis pixel position of the title.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe - back_SetWeather ===&lt;br /&gt;
Displays a weather effect that overlays the current Map Background.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|weather_id&lt;br /&gt;
|Values of 0 and below mean no weather effect is to be displayed.&lt;br /&gt;
&lt;br /&gt;
# Dark, unmoving clouds.&lt;br /&gt;
# Dark, unmoving clouds.&lt;br /&gt;
# Clouds.&lt;br /&gt;
# No weather.&lt;br /&gt;
# Clouds.&lt;br /&gt;
# Unknown; seems to either softlock the game or drastically change the current Map Background.&lt;br /&gt;
# Fog.&lt;br /&gt;
# No weather.&lt;br /&gt;
# Unknown; does not seem to have a visible effect, but it loads something into memory.&lt;br /&gt;
# Unknown; seems to either softlock the game or drastically change the current Map Background.&lt;br /&gt;
# Purple smog.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf - back_SetWeatherEffect ===&lt;br /&gt;
Currently unknown. The only values this opcode accepts seems to be 1, 2, and 3. Value 3 was previously used in S02P01A/m00a01a.ssb in Time/Darkness, for its iteration of the personality test. In Sky, its only use is in V00P02/m01a04a.ssb, which is a leftover test script used by the developers to test the visuals of the Time/Darkness iteration of the aura test.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x10 - back_SetWeatherScrollOffset ===&lt;br /&gt;
Currently unknown. This opcode is not used in the base game.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11 - back_SetWeatherScrollSpeed ===&lt;br /&gt;
Currently unknown. This opcode is not used in the base game.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x12 - back2_SetBackEffect ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetBackEffect&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|effect_id&lt;br /&gt;
|&lt;br /&gt;
# The default state of the Animation Palette.&lt;br /&gt;
# Plays the Animation Palette in a loop.&lt;br /&gt;
# Plays the Animation Palette once.&lt;br /&gt;
# Freezes the Animation Palette at its current frame.&lt;br /&gt;
# Resumes the Animation Palette.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x13 - back2_SetBackScrollOffset ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetBackScrollOffset&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|offset0&lt;br /&gt;
|The number of pixels to shift either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 X-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 1 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|offset1&lt;br /&gt;
|The number of pixels to shift either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 Y-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 2 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x14 - back2_SetBackScrollSpeed ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetBackScrollSpeed&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|speed0&lt;br /&gt;
|The speed to scroll either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 X-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 1 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|speed1&lt;br /&gt;
|The speed to scroll either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 Y-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 2 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x15 - back2_SetData ===&lt;br /&gt;
Currently unknown. This opcode is not used in the base game.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x16 - back2_SetEffect ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetEffect&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|effect&lt;br /&gt;
|&lt;br /&gt;
* Transitions from Layer 2 to Layer 1.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Transitions from Layer 2 to Layer 1.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Transitions from Layer 1 to Layer 2.&lt;br /&gt;
* Fades out Layer 1 to total darkness.&lt;br /&gt;
* Merges Layer 1 onto Layer 2, but fades in Layer 1 from total darkness.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Merges Layer onto Layer 2, but fades out Layer 1 to total darkness.&lt;br /&gt;
* Fades out Layer 1 to total darkness.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to play a given effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17 - back2_SetGround ===&lt;br /&gt;
Mostly the same as &amp;lt;code&amp;gt;back_SetGround&amp;lt;/code&amp;gt;, but for the Top Screen. This opcode only works if &amp;lt;code&amp;gt;back2_SetMode(4);&amp;lt;/code&amp;gt; is used prior to this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List. This opcode will pull from the Level&#039;s Map Background.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x18 - back2_SetMode ===&lt;br /&gt;
Determines a hardcoded status of the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|mode&lt;br /&gt;
|A value of 0 is no mode. A negative value seems to set the Top Screen to the overworld&#039;s current Top Screen setting.&lt;br /&gt;
&lt;br /&gt;
# Fades out the Top Screen.&lt;br /&gt;
# Team Stats.&lt;br /&gt;
# The Map Background S01P01A with the hero idling on a World Map Marker.&lt;br /&gt;
# Allows for the Top Screen to display a Map Background from a Level using the &amp;lt;code&amp;gt;back2_SetGround&amp;lt;/code&amp;gt; opcode.&lt;br /&gt;
# Splits the Map Background used in the Level defined by &amp;lt;code&amp;gt;back_SetGround&amp;lt;/code&amp;gt; equally between the Top and Touch Screen.&lt;br /&gt;
#Splits the Map Background used in the Level defined by &amp;lt;code&amp;gt;back_SetGround&amp;lt;/code&amp;gt; between the Top and Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x19 - back2_SetSpecialActing ===&lt;br /&gt;
Currently unknown.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1a - back2_SetWeather ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetWeather&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|weather_id&lt;br /&gt;
|Values of 0 and below mean no weather effect is to be displayed.&lt;br /&gt;
&lt;br /&gt;
# Dark, unmoving clouds.&lt;br /&gt;
# Dark, unmoving clouds.&lt;br /&gt;
# Clouds.&lt;br /&gt;
# No weather.&lt;br /&gt;
# Clouds.&lt;br /&gt;
# Unknown; seems to either softlock the game or drastically change the current Map Background.&lt;br /&gt;
# Fog.&lt;br /&gt;
# No weather.&lt;br /&gt;
# Unknown; does not seem to have a visible effect, but it loads something into memory.&lt;br /&gt;
# Unknown; seems to either softlock the game or drastically change the current Map Background.&lt;br /&gt;
# Purple smog.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x1b - back2_SetWeatherEffect ===&lt;br /&gt;
Currently unknown. Potentially has similar functionality as &amp;lt;code&amp;gt;back_SetWeatherEffect&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1c - back2_SetWeatherScrollOffset ===&lt;br /&gt;
Currently unknown. Potentially has similar functionality as &amp;lt;code&amp;gt;back_SetWeatherScrollOffset&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1d - back2_SetWeatherScrollSpeed ===&lt;br /&gt;
Currently unknown. Potentially has similar functionality as &amp;lt;code&amp;gt;back_SetWeatherScrollSpeed&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1e - bgm_FadeOut ===&lt;br /&gt;
Fades out the BGM that is currently playing over a certain period of time on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out and silence a given BGM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1f - bgm_Play ===&lt;br /&gt;
Instantly plays a BGM on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A music track defined in SOUND/BGM of the ROM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x20 - bgm_PlayFadeIn ===&lt;br /&gt;
Starts playing a BGM over a certain period of time and at a certain volume on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A music track defined in SOUND/BGM of the ROM.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade in the BGM.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x21 - bgm_Stop ===&lt;br /&gt;
Instantly stops the BGM that is currently playing on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x22 - bgm_ChangeVolume ===&lt;br /&gt;
Changes the volume of the BGM that is currently playing on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the BGM&#039;s volume.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x23 - bgm2_FadeOut ===&lt;br /&gt;
Fades out the BGM that is currently playing over a certain period of time on the second BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out and silence a given BGM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x24 - bgm2_Play ===&lt;br /&gt;
Instantly plays a BGM on the second BGM track.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A music track defined in SOUND/BGM of the ROM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x25 - bgm2_PlayFadeIn ===&lt;br /&gt;
Starts playing a BGM over a certain period of time and at a certain volume on the second BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A music track defined in SOUND/BGM of the ROM.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade in the BGM.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x26 - bgm2_Stop ===&lt;br /&gt;
Instantly stops the BGM that is currently playing on the second BGM track.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x27 - bgm2_ChangeVolume ===&lt;br /&gt;
Changes the volume of the BGM that is currently playing on the second BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames to change the BGM&#039;s volume.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x38 - CallCommon ===&lt;br /&gt;
Jumps to the specified Unionall Coroutine, runs its code, and returns to the line of code in which this opcode was used (only if &amp;lt;code&amp;gt;return;&amp;lt;/code&amp;gt; was used in the Coroutine). This opcode can be used in any script, no matter the type (Common, Enter, Acting, or Sub).&lt;br /&gt;
&lt;br /&gt;
If used in the context of an actor/object/performer, this should not be used in with-statements.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|One of the 701 possible Unionall Coroutines.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x39 - camera_Move2Default ===&lt;br /&gt;
Moves the camera toward an active Type 1 actor (e.g., ACTOR_PLAYER) without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3a - camera_Move2MyPosition ===&lt;br /&gt;
Moves the camera toward a specific entity&#039;s position (i.e., an actor, object, or performer) without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3b - camera_Move2Myself ===&lt;br /&gt;
Moves the camera toward a specific entity (i.e., an actor, object, or performer) without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3c - camera_Move2PositionMark ===&lt;br /&gt;
Moves the camera to one or more Position Marks without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3d - camera_Move2PositionMark ===&lt;br /&gt;
Moves the camera to a Position Mark without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3e - camera_Move3Default ===&lt;br /&gt;
Moves the camera toward an active Type 1 actor (e.g., ACTOR_PLAYER) in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3f - camera_Move3MyPosition ===&lt;br /&gt;
Moves the camera toward a specific entity&#039;s position (i.e., an actor, object, or performer) in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x40 - camera_Move3Myself ===&lt;br /&gt;
Moves the camera toward a specific entity (i.e., an actor, object, or performer) in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x41 - camera_Move3PositionMark ===&lt;br /&gt;
Moves the camera to one or more Position Marks in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x42 - camera_Move3PositionMark ===&lt;br /&gt;
Moves the camera to a Position Mark without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x43 - camera_MoveDefault ===&lt;br /&gt;
Moves the camera toward an active Type 1 actor (e.g., ACTOR_PLAYER) while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x44 - camera_MoveMyPosition ===&lt;br /&gt;
Moves the camera toward a specific entity&#039;s position (i.e., an actor, object, or performer) while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x45 - camera_MoveMyself ===&lt;br /&gt;
Moves the camera toward a specific entity (i.e., an actor, object, or performer) while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x46 - camera_MovePositionMark ===&lt;br /&gt;
Moves the camera to one or more Position Marks while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x47 - camera_MovePositionMark ===&lt;br /&gt;
Moves the camera to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x48 - camera_SetDefault ===&lt;br /&gt;
Instantly sets the camera to a Type 1 actor (e.g., ACTOR_PLAYER).&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x49 - camera_SetEffect ===&lt;br /&gt;
Continuously shakes the camera at specified intensities. Entities will be affected by the camera shaking, but not textboxes and portraits. The camera will continue to shake even if it is moved using another opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Values of 0 or 3+ mean the camera will not shake.&lt;br /&gt;
&lt;br /&gt;
# Erratic, jerky shaking.&lt;br /&gt;
# Subdued, smoother shaking.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|intensity&lt;br /&gt;
|The intensity of the shake. Higher values will result in a more intense shake.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a slower speed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x4a - camera_SetMyPosition ===&lt;br /&gt;
Instantly sets the camera toward a specific entity&#039;s position (i.e., an actor, object, or performer).&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x4b - camera_SetMyself ===&lt;br /&gt;
Instantly sets the camera to a specific entity (i.e., an actor, object, or performer). Once performed, the camera will now follow the entity wherever it moves.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x4c - camera_SetPositionMark ===&lt;br /&gt;
Instantly sets the camera to a Position Mark.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x4d - camera2_Move2Default ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2Default&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x4e - camera2_Move2MyPosition ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2MyPosition&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x4f - camera2_Move2Myself ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2Myself&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x50 - camera2_Move2PositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2PositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x51 - camera2_Move2PositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2PositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x52 - camera2_Move3Default ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3Default&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x53 - camera2_Move3MyPosition ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3MyPosition&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x54 - camera2_Move3Myself ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3Myself&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x55 - camera2_Move3PositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3PositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x56 - camera2_Move3PositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3PositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x57 - camera2_MoveDefault ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MoveDefault&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x58 - camera2_MoveMyPosition ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MoveMyPosition&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x59 - camera2_MoveMyself ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MoveMyself&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5a - camera2_MovePositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MovePositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5b - camera2_MovePositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MovePositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5c - camera2_SetDefault ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetDefault&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x5d - camera2_SetEffect ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetEffect&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Values of 0 or 3+ mean the camera will not shake.&lt;br /&gt;
&lt;br /&gt;
# Erratic, jerky shaking.&lt;br /&gt;
# Subdued, smoother shaking.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|intensity&lt;br /&gt;
|The intensity of the shake. Higher values will result in a more intense shake.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a slower speed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5e - camera2_SetMyPosition ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetMyPosition&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x5f - camera2_SetMyself ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetMyself&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x60 - camera2_SetPositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetPositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x61 - CancelCut ===&lt;br /&gt;
Reverses the effects of the opcode &amp;lt;code&amp;gt;CancelRecoverCommon&amp;lt;/code&amp;gt;, i.e., disallows the game from reloading Unionall at a Coroutine by pressing the Start button.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x62 - CancelRecoverCommon ===&lt;br /&gt;
Allows reloading Unionall at a specified Coroutine by pressing the Start button. This can be done in a cutscene and the overworld.&lt;br /&gt;
&lt;br /&gt;
Once the Start button is pressed, the game will stop the current script, fade out the entire screen, and reload Unionall and begin running code at the specified Coroutine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|One of the 701 possible Unionall Coroutines.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6a - debug_Assert ===&lt;br /&gt;
Does nothing in the final game.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6b - debug_Print ===&lt;br /&gt;
Does nothing in the final game.&lt;br /&gt;
&lt;br /&gt;
If the script is running using SkyTemple&#039;s debugger and the &amp;quot;Script Debug&amp;quot; checkbox is ticked, the specified string will be printed to the Debug Log.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ConstString&lt;br /&gt;
|txt&lt;br /&gt;
|A string to be printed to the Debug Log.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6c - debug_PrintFlag ===&lt;br /&gt;
Does nothing in the final game.&lt;br /&gt;
&lt;br /&gt;
If the script is running using SkyTemple&#039;s debugger and the &amp;quot;Script Debug&amp;quot; checkbox is ticked, the specified string will be printed to the Debug Log, along with the value of the specified script variable.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|One of the 115 possible script variables. Indexed variables are not encouraged to use, since the Debug Log will only read from the first index.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|txt&lt;br /&gt;
|A string to be printed to the Debug Log.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6d - debug_PrintScenario ===&lt;br /&gt;
If the script is running using SkyTemple&#039;s debugger and the &amp;quot;Script Debug&amp;quot; checkbox is ticked, the specified string will be printed to the Debug Log, along with two indices of the specified script variable.&lt;br /&gt;
&lt;br /&gt;
This opcode&#039;s Debug Log implementation currently seems broken, as it prints the first index of the specified variable twice.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|One of the 115 possible script variables. A two-indexed variable (e.g., &amp;lt;code&amp;gt;$SCENARIO_MAIN&amp;lt;/code&amp;gt;) is encouraged to use.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|txt&lt;br /&gt;
|A string to be printed to the Debug Log.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6f - Destroy ===&lt;br /&gt;
Instantly removes an active entity (i.e., an actor, object, or performer) from memory.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x71 - EndAnimation ===&lt;br /&gt;
Stops an actor or object&#039;s looping animation once it reaches the end of its animation frames.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x72 - ExecuteActing ===&lt;br /&gt;
Currently unknown.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x73 - ExecuteCommon ===&lt;br /&gt;
Jumps to a Unionall Coroutine, runs its code, and returns to the line in which this opcode was called. This opcode should be called if the specified Coroutine ends with &amp;lt;code&amp;gt;hold;&amp;lt;/code&amp;gt;. Typically, the base game uses this command with Coroutines whose names end with &amp;quot;FUNC_SERIES&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|One of the 701 possible Unionall Coroutines.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x81 - Flash ===&lt;br /&gt;
Zeroes-out the return address used by the &amp;lt;code&amp;gt;Return&amp;lt;/code&amp;gt; opcode. This opcode is not used in the base game.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x83 - item_GetVariable ===&lt;br /&gt;
Saves the value in a specific item slot (set by &amp;lt;code&amp;gt;item_Set&amp;lt;/code&amp;gt;) to a script variable.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|slot&lt;br /&gt;
|An item slot used by many &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|One of the indexed variables. Non-indexed values causes the IndexError.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x84 - item_Set ===&lt;br /&gt;
Sets an item into an item slot, which can be used by other various &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
&lt;br /&gt;
Items in slot 0 may also be added to the player&#039;s bag and storage with hardcoded menus, such as &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM);&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM2);&amp;lt;/code&amp;gt;, respectively. Additionally, the text tag &amp;lt;code&amp;gt;[s_item:X]&amp;lt;/code&amp;gt; will display the item&#039;s name, where X is the item slot number.&lt;br /&gt;
&lt;br /&gt;
Item slots 0-3 are safe to use, but item slots 4 and beyond will begin to overwrite other memory!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|slot&lt;br /&gt;
|An item slot used by many &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|item_id&lt;br /&gt;
|The ID of the item, where all are listed in the Items tab of SkyTemple. &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|item_stack&lt;br /&gt;
|The stack count of an item, if it belongs to a Thrown category. Treasure Boxes will also use this as the item earned when opening the box at Xatu&#039;s Appraisal.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x85 - item_SetTableData ===&lt;br /&gt;
Sets a random item from predefined tables into an item slot, which can be used by other various &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes. This opcode is used mainly in Spinda&#039;s Cafe, for redeeming a random Recycle Shop prize and for receiving items from Treasure Town NPCs after giving them Sky Gifts.&lt;br /&gt;
&lt;br /&gt;
Items in slot 0 may also be added to the player&#039;s bag and storage with hardcoded menus, such as &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM);&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM2);&amp;lt;/code&amp;gt;, respectively. Additionally, the text tag &amp;lt;code&amp;gt;[s_item:X]&amp;lt;/code&amp;gt; will display the item&#039;s name, where X is the item slot number.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|slot&lt;br /&gt;
|An item slot used by many &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|table_ID&lt;br /&gt;
|Some item tables related to Spinda&#039;s Cafe.&lt;br /&gt;
|}&lt;br /&gt;
The table IDs themselves are as follows. Values above 15 are currently unknown and untested. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!#&lt;br /&gt;
!Description&lt;br /&gt;
!#&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Sky Gift Item Pool&lt;br /&gt;
|8&lt;br /&gt;
|Silver Ticket Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Numel &amp;quot;Give&amp;quot; Item Pool&lt;br /&gt;
|9&lt;br /&gt;
|Silver Ticket Big Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Numel &amp;quot;Recieve&amp;quot; Item Pool&lt;br /&gt;
|10&lt;br /&gt;
|Gold Ticket Loss Pool&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Happiny Lost Item Pool&lt;br /&gt;
|11&lt;br /&gt;
|Gold Ticket Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Prize Ticket Loss Pool&lt;br /&gt;
|12&lt;br /&gt;
|Gold Ticket Big Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Prize Ticket Win Pool&lt;br /&gt;
|13&lt;br /&gt;
|Prism Ticket Loss Pool&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Prize Ticket Big Win Pool&lt;br /&gt;
|14&lt;br /&gt;
|Prism Ticket Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Silver Ticket Loss Pool&lt;br /&gt;
|15&lt;br /&gt;
|Prism Ticket Big Win Pool&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x86 - item_SetVariable ===&lt;br /&gt;
Saves the value of a script variable to an item slot. Items in slot 0 may also be added to the player&#039;s bag and storage with hardcoded menus, such as &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM);&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM2);&amp;lt;/code&amp;gt;, respectively. Additionally, the text tag &amp;lt;code&amp;gt;[s_item:X]&amp;lt;/code&amp;gt; will display the item&#039;s name, where X is the item slot number.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|slot&lt;br /&gt;
|An item slot used by many &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|One of the 115 possible script variables.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x88 - JumpCommon ===&lt;br /&gt;
Jumps to the specified Unionall Coroutine and runs its code, without returning to the line in which this opcode was first used. This opcode can be used in any script, no matter the type (Common, Enter, Acting, or Sub), but is mostly used by the base game in Unionall.&lt;br /&gt;
&lt;br /&gt;
If attempting to execute a Unionall Coroutine from inside an Enter, Acting, or Sub script to play Acting scripts, use &amp;lt;code&amp;gt;supervision_ExecuteCommon&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|One of the 701 possible Unionall Coroutines.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8a - LoadPosition ===&lt;br /&gt;
Sets various attributes of an entity (i.e., an actor, object, or performer) to the values of all indexed &amp;lt;code&amp;gt;$POSITION_&amp;lt;/code&amp;gt; script variables. These include changing the entity&#039;s X and Y coordinates, height, and direction.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|Index used by all &amp;lt;code&amp;gt;$POSITION_&amp;lt;/code&amp;gt; script variables, ranged from 0-2 (inclusive).&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8b - Lock ===&lt;br /&gt;
Suspends the current routine until the opcode &amp;lt;code&amp;gt;Unlock&amp;lt;/code&amp;gt; is called with the same &#039;&#039;lock_id&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|The ID of a Lock, ranged from 0-19 (inclusive).&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8c - main_EnterAdventure ===&lt;br /&gt;
Performs various functions related to entering a dungeon using the crossroads menu.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|mode&lt;br /&gt;
|Most modes are not known, but:&lt;br /&gt;
&lt;br /&gt;
* 32767 opens the dungeon selection menu.&lt;br /&gt;
* 251 stops the current script to reload Unionall starting from the Coroutine CORO_MOVE_WORLD_MAP.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8d - main_EnterDungeon ===&lt;br /&gt;
Attempts to exit ground mode and begins dungeon mode at a specific dungeon.&lt;br /&gt;
&lt;br /&gt;
If attempting to run this opcode before selecting any option from the Top Menu, the game will not enter any dungeon and instead attempt to load a DEMO Unionall coroutine or the Top Menu.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|dungeon_id&lt;br /&gt;
|The dungeon ID to enter, which are all listed in the Dungeons tab of SkyTemple. A value of -1 actually enters dungeon mode—it is insufficient to use this opcode a single time to enter a specific dungeon.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out the screens.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8e - main_EnterGround ===&lt;br /&gt;
Stops the current script to reload Unionall starting from the Coroutine CORO_EVENT_DIVIDE. This opcode also updates the following script variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt;: This opcode&#039;s &#039;&#039;level_id_enter&#039;&#039; parameter.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER_LINK&amp;lt;/code&amp;gt;: Set to 0.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_GETOUT&amp;lt;/code&amp;gt;: The value of &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt; prior to using this opcode.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_MAP&amp;lt;/code&amp;gt;: The Level ID used to display the Map Background.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_PLACE&amp;lt;/code&amp;gt;: The World Map Marker ID that determines where the player appears on the Top Screen when selecting &amp;quot;Map and team&amp;quot; in the overworld.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_START_MODE&amp;lt;/code&amp;gt;: Set to 3.&lt;br /&gt;
&lt;br /&gt;
In the base game, using this opcode allows for transitioning between Levels in the Overworld, as the game will eventually run the &amp;lt;code&amp;gt;supervision_ExecuteEnter&amp;lt;/code&amp;gt; opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List. Ideally, this opcode would load the specified Level&#039;s Enter00 script.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out the screens.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8f - main_EnterGroundMulti ===&lt;br /&gt;
Stops the current script to reload Unionall starting from the Coroutine CORO_EVENT_DIVIDE. This opcode also updates the following script variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt;: This opcode&#039;s &#039;&#039;level_id_enter&#039;&#039; parameter.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER_LINK&amp;lt;/code&amp;gt;: This opcode&#039;s &#039;&#039;level_id_link&#039;&#039; parameter.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_GETOUT&amp;lt;/code&amp;gt;: The value of &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt; prior to using this opcode.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_MAP&amp;lt;/code&amp;gt;: The Level ID used to display the Map Background.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_PLACE&amp;lt;/code&amp;gt;: The World Map Marker ID that determines where the player appears on the Top Screen when selecting &amp;quot;Map and team&amp;quot; in the overworld.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_START_MODE&amp;lt;/code&amp;gt;: Set to 3.&lt;br /&gt;
&lt;br /&gt;
In the base game, using this opcode allows for transitioning between Levels in the Overworld, as the game will eventually run the &amp;lt;code&amp;gt;supervision_ExecuteEnter&amp;lt;/code&amp;gt; opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id_enter&lt;br /&gt;
|An entry in the Level List. Ideally, this opcode would load the specified Level&#039;s Enter00 script.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out the screens.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Level&lt;br /&gt;
|level_id_link&lt;br /&gt;
|An entry in the Level List. Used to update &amp;lt;code&amp;gt;$GROUND_ENTER_LINK&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x90 - main_EnterRescueUser ===&lt;br /&gt;
Exits ground mode and begins dungeon mode while taking an SOS Mail. Dungeon selection seems to be determined by the SOS Mail chosen via &amp;lt;code&amp;gt;message_Menu(MENU_S_O_S_MAIL_PICKER);&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out the screens.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x91 - main_EnterTraining ===&lt;br /&gt;
Performs various functions related to entering a dungeon using Marowak Dojo.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Most modes are not known, but:&lt;br /&gt;
&lt;br /&gt;
* 32767 opens the generic dojo selection menu&lt;br /&gt;
* 251 goes to the Coroutine CORO_GOTO_TRAINING_DUNGEON, which later stops the current script to reload Unionall starting from the Coroutine CORO_ENTER_TRAINING_DUNGEON.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x92 - main_EnterTraining2 ===&lt;br /&gt;
Performs various functions related to entering a dungeon using Marowak Dojo&#039;s Final Maze.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Most modes are not known, but:&lt;br /&gt;
&lt;br /&gt;
* 32767 opens a dojo selection menu that only involves Final Maze.&lt;br /&gt;
* 251 goes to the Coroutine CORO_GOTO_TRAINING_DUNGEON, which later stops the current script to reload Unionall starting from the Coroutine CORO_ENTER_TRAINING_DUNGEON.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x93 - main_SetGround ===&lt;br /&gt;
Updates the following variables&#039; values to be this opcode&#039;s &#039;&#039;level_id&#039;&#039; parameter:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_GETOUT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x94 - me_Play ===&lt;br /&gt;
Instantly plays a special [[sound effect]] that can seamlessly interrupt any BGM tracks that are currently playing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|me_id&lt;br /&gt;
|A sound effect defined in SOUND/ME of the ROM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x95 - me_Stop ===&lt;br /&gt;
Instantly stops the currently-playing special [[sound effect]] called with &amp;lt;code&amp;gt;me_Play&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x96 - message_Close ===&lt;br /&gt;
Suspends the current routine and allows for closing an active textbox (and portrait, if active) set by one of the following opcodes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message_ImitationSound&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Mail&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Notice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_SpecialTalk&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By pressing the A Button, B Button, or tapping the textbox via the Touch Screen. Once the textbox is closed, the current routine resumes.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x97 - message_CloseEnforce ===&lt;br /&gt;
Instantly closes an active textbox (and portrait, if active) once the game finishes displaying a string set by one of the following opcodes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message_ImitationSound&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Mail&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Notice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_SpecialTalk&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x98 - message_Explanation ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter centered in the middle of the Touch Screen. The string will appear without any frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple). This opcode does not need &amp;lt;code&amp;gt;message_Close&amp;lt;/code&amp;gt; to suspend the routine.&lt;br /&gt;
&lt;br /&gt;
This opcode does not support displaying a portrait. No sound will emit from the text scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x99 - message_FacePositionOffset ===&lt;br /&gt;
Offsets the active portrait in pixels by multiples of 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|The offset to shift the portrait box across the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|The offset to shift the portrait box across the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9a - message_ImitationSound ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple).&lt;br /&gt;
&lt;br /&gt;
This opcode does not support displaying a portrait. No sound will emit from the text scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9b - message_KeyWait ===&lt;br /&gt;
If an active textbox has finished displaying its string and was created by one of the following opcodes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message_ImitationSound&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Mail&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Notice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_SpecialTalk&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This opcode suspends the current routine until the A Button, B Button or textbox is pressed (via the Touch Screen). Once done so, the textbox will not close, but the current routine will resume.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x9c - message_Mail ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple).&lt;br /&gt;
&lt;br /&gt;
This opcode does not support displaying a portrait. No sound will emit from the text scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9d - message_Menu ===&lt;br /&gt;
Executes various hardcoded &amp;quot;menu&amp;quot; functionalities given a certain ID. Some IDs result in an actual menu, while others simply perform a silent task.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Menu&lt;br /&gt;
|menu_id&lt;br /&gt;
|The ID of a menu, the list of which can be seen by typing &amp;lt;code&amp;gt;MENU_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9e - message_Monologue ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple).&lt;br /&gt;
&lt;br /&gt;
This opcode supports displaying a portrait. No sound will emit from the text scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9f - message_Narration ===&lt;br /&gt;
Fades in the screen and instantly displays the string defined in the &#039;&#039;txt&#039;&#039; parameter centered in the middle of the Touch Screen. The string will appear without any frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple). This opcode does not need &amp;lt;code&amp;gt;message_Close&amp;lt;/code&amp;gt; to suspend the routine. Once the routine is resumed (by pressing the A Button, B Button, or text via the Touch Screen), the screen will fade out, including the string.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade in/out the Touch Screen.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa0 - message_Notice ===&lt;br /&gt;
Instantly displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple).&lt;br /&gt;
&lt;br /&gt;
This opcode does not support displaying a portrait.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa1 - message_EmptyActor ===&lt;br /&gt;
Disallows a portrait from appearing alongside a textbox, along with disallowing a name to appear in the textbox if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0xa2 - message_ResetActor ===&lt;br /&gt;
Disallows a portrait from appearing alongside a textbox, along with setting a speech bubble (the text tag [M:T1]) to the start of next script string if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0xa3 - message_SetActor ===&lt;br /&gt;
Sets the specified actor&#039;s name to the start of the next script string if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa4 - message_SetFace ===&lt;br /&gt;
Sets the specified actor&#039;s name to the start of the next script string if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode. Will also display a portrait of the actor&#039;s species at a specified position if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt; follow this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Face&lt;br /&gt;
|face_id&lt;br /&gt;
|The ID of a portrait, the list of which can be seen by typing FACE_ in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|FaceMode&lt;br /&gt;
|face_mode&lt;br /&gt;
|The position of a portrait, the list of which can be seen by typing &amp;lt;code&amp;gt;FACE_POS_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa5 - message_SetFaceEmpty ===&lt;br /&gt;
Displays a portrait of the actor&#039;s species at a specified position if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt; follow this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Face&lt;br /&gt;
|face_id&lt;br /&gt;
|The ID of a portrait, the list of which can be seen by typing FACE_ in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|FaceMode&lt;br /&gt;
|face_mode&lt;br /&gt;
|The position of a portrait, the list of which can be seen by typing &amp;lt;code&amp;gt;FACE_POS_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa6 - message_SetFaceOnly ===&lt;br /&gt;
Sets a speech bubble (the text tag [M:T1]) to the start of the next script string if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode. Will also display a portrait of the actor&#039;s species at a specified position if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt; follow this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Face&lt;br /&gt;
|face_id&lt;br /&gt;
|The ID of a portrait, the list of which can be seen by typing FACE_ in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|FaceMode&lt;br /&gt;
|face_mode&lt;br /&gt;
|The position of a portrait, the list of which can be seen by typing &amp;lt;code&amp;gt;FACE_POS_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa7 - message_SetFacePosition ===&lt;br /&gt;
Re-positions an actor&#039;s portrait.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|FaceMode&lt;br /&gt;
|face_mode&lt;br /&gt;
|The position of a portrait, the list of which can be seen by typing &amp;lt;code&amp;gt;FACE_POS_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa8 - message_SetWaitMode ===&lt;br /&gt;
Makes strings displayed with a &amp;lt;code&amp;gt;message_&amp;lt;/code&amp;gt; opcode auto-scroll. For both parameters, a value of -1 means the auto-scroll will stop.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|duration0&lt;br /&gt;
|Sets the frame count for a textbox auto-advancing, once the end of the string has been displayed and the following opcode is &amp;lt;code&amp;gt;message_KeyWait();&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|duration1&lt;br /&gt;
|Sets the frame count for text tags such as [K] auto-advancing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa9 - message_SpecialTalk ===&lt;br /&gt;
Displays a random Text String based off of the actor ACTOR_TALK_SUB&#039;s Talk Group.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|category&lt;br /&gt;
|A category of Text String.&lt;br /&gt;
&lt;br /&gt;
* 0 seems to use Text Strings while not in a dungeon (e.g., teammates waiting at Spinda&#039;s Cafe).&lt;br /&gt;
* 1 seems to be use Text Strings while mid-dungeon (e.g., teammates at Amp Plains).&lt;br /&gt;
|}&lt;br /&gt;
=== 0xae - message_Talk ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple). &lt;br /&gt;
&lt;br /&gt;
This opcode supports displaying a portrait. The [[sound effect]] 16133 will emit from the each character scrolling in the text.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xaf - Move2Position ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a specific pixel position without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position on the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position on the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb0 - Move2PositionLives ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb1 - Move2PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to one or more Position Marks without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0xb2 - Move2PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb3 - Move2PositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x, y&lt;br /&gt;
|The pixel offset to shift the entity across the X or Y-axis.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb4 - Move2PositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel offset to shift the entity across the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel offset to shift the entity across the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb5 - Move2PositionOffsetRandom ===&lt;br /&gt;
Continuously and randomly offsets an entity (i.e., an actor, object, or performer) from its current position across both axes without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|Determines something about the random pixel value chosen to apply to the X-axis; somewhat unknown.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|Determines something about the random pixel value chosen to apply to the Y-axis; somewhat unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb6 - Move3Position ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a specific pixel position in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position on the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position on the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb7 - Move3PositionLives ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb8 - Move3PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb9 - Move3PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xba - Move3PositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x, y&lt;br /&gt;
|The pixel offset to shift the entity across the X or Y-axis.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbb - Move3PositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel offset to shift the entity across the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel offset to shift the entity across the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbc - Move3PositionOffsetRandom ===&lt;br /&gt;
Continuously and randomly offsets an entity (i.e., an actor, object, or performer) from its current position across both axes in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|Determines something about the random pixel value chosen to apply to the X-axis; somewhat unknown.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|Determines something about the random pixel value chosen to apply to the Y-axis; somewhat unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbd - MoveDirection ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) by a certain number of pixels based on a given direction. Movement is performed while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|offset&lt;br /&gt;
|The pixel offset to shift the entity relative to the entity&#039;s direction.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|The type of direction, the list of which can be seen by typing &amp;lt;code&amp;gt;DIR_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbe - MoveHeight ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a certain pixel height, displacing it from its shadow. When used, the entity&#039;s animation and direction will not change.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|height&lt;br /&gt;
|The pixel height to set the entity relative to their shadow.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbf - MovePosition ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a specific pixel position while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position on the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position on the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc0 - MovePositionLives ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc1 - MovePositionLivesTime ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor while restricting movement by eight angles—as if movement was performed using the D-Pad. Movement will end once either the entity reaches the actor or after a certain number of frames have passed—whichever comes first.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to move the entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc2 - MovePositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc3 - MovePositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc4 - MovePositionMarkTime ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad. Movement will end once either the entity reaches the Position Mark or after a certain number of frames have passed—whichever comes first.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to move the entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc5 - MovePositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x, y&lt;br /&gt;
|The pixel offset to shift the entity across the X or Y-axis.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc6 - MovePositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel offset to shift the entity across the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel offset to shift the entity across the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc7 - MoveSpecial ===&lt;br /&gt;
Currently unknown. Seems to move an entity (i.e., an actor, object, or performer) based on some hardcoded behaviors.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Determines the kind of action.&lt;br /&gt;
&lt;br /&gt;
# Spin and move in a circular motion.&lt;br /&gt;
# Spin and move in a circular motion.&lt;br /&gt;
# Currently unknown.&lt;br /&gt;
# Currently unknown.&lt;br /&gt;
# Currently unknown. Seems to be the most commonly-used value, as a part of the Unionall Coroutine CORO_LIVES_REPLY_NOMRAL.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown. Seems to affect how far the entity will move?&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc8 - MoveTurn ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) based on a certain pattern. Unlike other &amp;lt;code&amp;gt;Move&amp;lt;/code&amp;gt; opcodes, this opcode will make the entity interact with the currently loaded Map Background&#039;s collision (i.e., the entity stops when hitting a wall).&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|distance&lt;br /&gt;
|How far the entity will move. Higher values result in greater distance being covered.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
&lt;br /&gt;
This parameter also seems to affect the distance traveled.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|pattern&lt;br /&gt;
|A hardcoded pattern to move in.&lt;br /&gt;
&lt;br /&gt;
# Moves in a circle clockwise.&lt;br /&gt;
# Moves in a circle counterclockwise.&lt;br /&gt;
# Moves in a square clockwise.&lt;br /&gt;
# Moves in a square counterclockwise.&lt;br /&gt;
# Zig-zags back and forth.&lt;br /&gt;
&lt;br /&gt;
Values 6 and above seem to be variations of random movement.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xca - PauseEffect ===&lt;br /&gt;
Instantly pauses the current graphical effect of an entity (i.e., an actor, object, or performer). The effect will freeze mid-frame.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Effect&lt;br /&gt;
|effect_id&lt;br /&gt;
|A graphical effect to display relative to an entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xcc - ProcessSpecial ===&lt;br /&gt;
Executes one of the game&#039;s Special Processes. The return value of a Special Process can be checked by encasing this opcode in a &amp;lt;code&amp;gt;switch&amp;lt;/code&amp;gt; statement. A negative return value is not acceptable and will cause the game to suspend indefinitely.&lt;br /&gt;
&lt;br /&gt;
This opcode cannot be used in targeted routines.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ProcessSpecial&lt;br /&gt;
|process_id&lt;br /&gt;
|One of the game&#039;s Special Processes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|process_param1&lt;br /&gt;
|The first parameter used by the Special Process.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|process_param2&lt;br /&gt;
|The first parameter used by the Special Process.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xcd - PursueTurnLives ===&lt;br /&gt;
Causes an entity (i.e., an actor, object, or performer) to continuously turn toward an actor for a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to make the entity turn. A value of 0 will make the entity turn forever.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Turning speed. Higher values result in a slower speed.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|The actor to turn toward.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|rotation&lt;br /&gt;
|&lt;br /&gt;
# Clockwise.&lt;br /&gt;
# Counterclockwise.&lt;br /&gt;
&lt;br /&gt;
A value of 10 will make the entity choose the nearest rotation.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xce - PursueTurnLives2 ===&lt;br /&gt;
Causes an entity (i.e., an actor, object, or performer) to continuously turn toward an actor for a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to make the entity turn. A value of 0 will make the entity turn forever.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Turning speed. Higher values result in a slower speed.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|The actor to turn toward.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|rotation&lt;br /&gt;
|&lt;br /&gt;
# Clockwise.&lt;br /&gt;
# Counterclockwise.&lt;br /&gt;
&lt;br /&gt;
A value of 10 will make the entity choose the nearest rotation.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xcf - ResetAttribute ===&lt;br /&gt;
Currently unknown. Seems to get ignored when parsed in the scripting engine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd0 - ResetFunctionAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;function&amp;quot; attribute to 0.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|function_bitfield&lt;br /&gt;
|Most bits&#039; purposes are unknown. Bit 1 appears to be the bit used for allowing an entity to follow a Type 1 actor, like the actor ACTOR_ATTENDANT1 in the overworld.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd1 - ResetHitAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;hit&amp;quot; attribute to 0.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|hit_bitfield&lt;br /&gt;
|Most bits&#039; purposes are unknown.&lt;br /&gt;
&lt;br /&gt;
* 2: Entity collision.&lt;br /&gt;
* 6: Talk Script upon collision.&lt;br /&gt;
* 7: Talk Script upon pressing the A Button near the entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd2 - ResetOutputAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;output&amp;quot; attribute to 0.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|output_bitfield&lt;br /&gt;
|&lt;br /&gt;
# Underlay below entities.&lt;br /&gt;
# Overlay above entities.&lt;br /&gt;
# Overlay above the current Map Background&#039;s Layer 2.&lt;br /&gt;
# Overlay above the game&#039;s canvas system, which includes the textbox, portrait, and some &amp;lt;code&amp;gt;screen_&amp;lt;/code&amp;gt; commands that do not end in &amp;lt;code&amp;gt;All&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Flicker.&lt;br /&gt;
# Transparency.&lt;br /&gt;
# Invisibility.&lt;br /&gt;
# Displays shadow.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd3 - ResetReplyAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;reply&amp;quot; attribute to 0.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|reply_bitfield&lt;br /&gt;
|Most bits&#039; purposes are unknown.&lt;br /&gt;
&lt;br /&gt;
* 1: Talk Script upon collision.&lt;br /&gt;
* 2: Talk Script upon pressing the A Button near the entity.&lt;br /&gt;
* 6: Underlay below entities.&lt;br /&gt;
* 7: Overlay above entities.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd4 - ResumeEffect ===&lt;br /&gt;
Resumes the current graphical effect of an entity (i.e., an actor, object, or performer) that has been paused with &amp;lt;code&amp;gt;PauseEffect&amp;lt;/code&amp;gt; prior to using this opcode.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Effect&lt;br /&gt;
|effect_id&lt;br /&gt;
|A graphical effect to display relative to an entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd6 - SavePosition ===&lt;br /&gt;
Saves various attributes of an entity (i.e., an actor, object, or performer) to the following script variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$POSITION_X&amp;lt;/code&amp;gt;: The pixel position of the entity on the X-axis multiplied by 256.&lt;br /&gt;
* &amp;lt;code&amp;gt;$POSITION_Y&amp;lt;/code&amp;gt;: The pixel position of the entity on the Y-axis multiplied by 256.&lt;br /&gt;
* &amp;lt;code&amp;gt;$POSITION_HEIGHT&amp;lt;/code&amp;gt;: The pixel height (i.e., displacement of the entity from their shadow) of the entity multiplied by 256.&lt;br /&gt;
* &amp;lt;code&amp;gt;$POSITION_DIRECTION&amp;lt;/code&amp;gt;: The direction the entity is facing.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|Index used by all &amp;lt;code&amp;gt;$POSITION_&amp;lt;/code&amp;gt; script variables, ranged from 0-2 (inclusive).&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd7 - screen_FadeChange ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and 1 is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd8 - screen_FadeChangeAll ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd9 - screen_FadeIn ===&lt;br /&gt;
Changes the brightness of the screen to its default state across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xda - screen_FadeInAll ===&lt;br /&gt;
Changes the brightness of the screen to its default state across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xdb - screen_FadeOut ===&lt;br /&gt;
Changes the brightness of the screen to its minimum (i.e., a black screen) across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xdc - screen_FadeOutAll ===&lt;br /&gt;
Changes the brightness of the screen to its minimum (i.e., a black screen) across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xdd - screen_FlushChange ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|unk4&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|unk5&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|uint&lt;br /&gt;
|unk6&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|uint&lt;br /&gt;
|unk7&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0xde - screen_FlushIn ===&lt;br /&gt;
Changes the color of the screen from a specific state (given by the opcode&#039;s parameters, which affect the Touch Screen instantly) to its default state across a certain number of frames. This opcode will affect all entities (i.e., actors, objects, and performers) on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s color.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|&lt;br /&gt;
# Completely darkens the Touch Screen.&lt;br /&gt;
# Completely turns the Touch Screen to a certain color.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with a certain color.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: 144, 144, and 255.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: 255, 192, and 128.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.&lt;br /&gt;
# Instantly overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|r&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|g&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|b&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xdf - screen_FlushOut ===&lt;br /&gt;
Changes the color of the screen across a certain number of frames. This opcode will affect all entities (i.e., actors, objects, and performers) on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s color.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|&lt;br /&gt;
# Completely darkens the Touch Screen.&lt;br /&gt;
# Completely turns the Touch Screen to a certain color.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with a certain color.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: 144, 144, and 255.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: 255, 192, and 128.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.&lt;br /&gt;
# Instantly overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|r&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|g&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|b&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe0 - screen_WhiteChange ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and 1 is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe1 - screen_WhiteChangeAll ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe2 - screen_WhiteIn ===&lt;br /&gt;
Does nothing. Do not be deceived by this opcode&#039;s name: After using &amp;lt;code&amp;gt;screen_WhiteOut&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;screen_FadeIn&amp;lt;/code&amp;gt; to restore the Touch Screen&#039;s brightness level!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe3 - screen_WhiteInAll ===&lt;br /&gt;
Does nothing. Do not be deceived by this opcode&#039;s name: After using &amp;lt;code&amp;gt;screen_WhiteOutAll&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;screen_FadeInAll&amp;lt;/code&amp;gt; to restore the Touch Screen&#039;s brightness level!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe4 - screen_WhiteOut ===&lt;br /&gt;
Changes the brightness of the screen to its maximum (i.e., a white screen) across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe5 - screen_WhiteOutAll ===&lt;br /&gt;
Changes the brightness of the screen to its maximum (i.e., a white screen) across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe6 - screen2_FadeChange ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and 1 is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe7 - screen2_FadeChangeAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe8 - screen2_FadeIn ===&lt;br /&gt;
Changes the brightness of the screen to its default state across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe9 - screen2_FadeInAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xea - screen2_FadeOut ===&lt;br /&gt;
Changes the brightness of the screen to its minimum (i.e., a black screen) across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xeb - screen2_FadeOutAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xec - screen2_FlushChange ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|unk4&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|unk5&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|uint&lt;br /&gt;
|unk6&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|uint&lt;br /&gt;
|unk7&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xed - screen2_FlushIn ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;screen_FlushIn&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s color.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|&lt;br /&gt;
# Completely darkens the Top Screen.&lt;br /&gt;
# Completely turns the Top Screen to a certain color.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with a certain color.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: 144, 144, and 255.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: 255, 192, and 128.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: All 255. The Top Screen is not turned completely white.&lt;br /&gt;
# Instantly overlays the Top Screen with hardcoded color bytes: All 255. The Top Screen is not turned completely white.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|r&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|g&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|b&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xee - screen2_FlushOut ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;screen_FlushOut&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s color.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|&lt;br /&gt;
# Completely darkens the Top Screen.&lt;br /&gt;
# Completely turns the Top Screen to a certain color.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with a certain color.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: 144, 144, and 255.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: 255, 192, and 128.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: All 255. The Top Screen is not turned completely white.&lt;br /&gt;
# Instantly overlays the Top Screen with hardcoded color bytes: All 255. The Top Screen is not turned completely white.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|r&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|g&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|b&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xef - screen2_WhiteChange ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf0 - screen2_WhiteChangeAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf1 - screen2_WhiteIn ===&lt;br /&gt;
Does nothing. Do not be deceived by this opcode&#039;s name: After using &amp;lt;code&amp;gt;screen2_WhiteOut&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;screen2_FadeIn&amp;lt;/code&amp;gt; to restore the Top Screen&#039;s brightness level!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf2 - screen2_WhiteInAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf3 - screen2_WhiteOut ===&lt;br /&gt;
Changes the brightness of the screen to its maximum (i.e., a white screen) across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf4 - screen2_WhiteOutAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf5 - se_ChangePan ===&lt;br /&gt;
Changes the panning of the currently-playing [[sound effect]] across a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the SE&#039;s panning.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|pan&lt;br /&gt;
|The panning of the SE. This parameter gets recalculated internally as  &amp;lt;code&amp;gt;((&#039;&#039;pan&#039;&#039; * 0x3f + ((&#039;&#039;pan&#039;&#039; * 0x3f &amp;gt;&amp;gt; 7) &amp;gt;&amp;gt; 0x18)) &amp;gt;&amp;gt; 8) + 0x40&amp;lt;/code&amp;gt;, which is eventually split up into two halfwords, then recalculated further into a signed byte.&lt;br /&gt;
What this means is that:&lt;br /&gt;
&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 260 will result in sound panning only to the right channel.&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 261 will result in sound panning only to the left channel.&lt;br /&gt;
&lt;br /&gt;
More research on this parameter may be needed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf6 - se_ChangeVolume ===&lt;br /&gt;
Changes the volume of the currently-playing [[sound effect]] across a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the SE&#039;s volume.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the SE will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf7 - se_FadeOut ===&lt;br /&gt;
Fades out the currently-playing [[sound effect]] across a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out and silence a given SE.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf8 - se_Play ===&lt;br /&gt;
Instantly plays a [[sound effect]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf9 - se_PlayFull ===&lt;br /&gt;
Instantly plays a [[sound effect]] at a specified volume and panning.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the SE will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|pan&lt;br /&gt;
|The panning of the SE. This parameter gets recalculated internally as  &amp;lt;code&amp;gt;((&#039;&#039;pan&#039;&#039; * 0x3f + ((&#039;&#039;pan&#039;&#039; * 0x3f &amp;gt;&amp;gt; 7) &amp;gt;&amp;gt; 0x18)) &amp;gt;&amp;gt; 8) + 0x40&amp;lt;/code&amp;gt;, which is eventually split up into two halfwords, then recalculated further into a signed byte.&lt;br /&gt;
What this means is that:&lt;br /&gt;
&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 260 will result in sound panning only to the right channel.&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 261 will result in sound panning only to the left channel.&lt;br /&gt;
&lt;br /&gt;
More research on this parameter may be needed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfa - se_PlayPan ===&lt;br /&gt;
Instantly plays a [[sound effect]] at a specified panning.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|pan&lt;br /&gt;
|The panning of the SE. This parameter gets recalculated internally as  &amp;lt;code&amp;gt;((&#039;&#039;pan&#039;&#039; * 0x3f + ((&#039;&#039;pan&#039;&#039; * 0x3f &amp;gt;&amp;gt; 7) &amp;gt;&amp;gt; 0x18)) &amp;gt;&amp;gt; 8) + 0x40&amp;lt;/code&amp;gt;, which is eventually split up into two halfwords, then recalculated further into a signed byte.&lt;br /&gt;
What this means is that:&lt;br /&gt;
&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 260 will result in sound panning only to the right channel.&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 261 will result in sound panning only to the left channel.&lt;br /&gt;
&lt;br /&gt;
More research on this parameter may be needed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfb - se_PlayVolume ===&lt;br /&gt;
Instantly plays a [[sound effect]] at a specified volume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the SE will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfc - se_Stop ===&lt;br /&gt;
Instantly stops a specified sound effect.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfd - SetAnimation ===&lt;br /&gt;
Plays a sprite&#039;s animation, optionally changing its speed and animation flags.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|id&lt;br /&gt;
|Animation table index. Converted to an [[Animation ID]] for the current sprite using the [https://docs.google.com/spreadsheets/d/11xHv80Def5mtF60ZsfI1lF1eNX0dBE2It837Q08AlRk/htmlview SetAnimation table].&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfe - SetAttribute ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xff - SetBlink ===&lt;br /&gt;
Sets a specific entity (i.e., an actor, object, or performer) to continuously flicker in and out of view at a certain interval.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|visible_interval&lt;br /&gt;
|The number of frames to wait for while the entity is visible. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|invisible_interval&lt;br /&gt;
|The number of frames to wait for while the entity is invisible. &lt;br /&gt;
|}&lt;br /&gt;
=== 0x100 - SetDirection ===&lt;br /&gt;
Instantly sets a specific entity (i.e., an actor, object, or performer) to a specified direction.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|The type of direction, the list of which can be seen by typing &amp;lt;code&amp;gt;DIR_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x101 - SetDirectionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x102 - SetEffect ===&lt;br /&gt;
Plays back an [[List of Effect Animations|effect animation]] assigned to an actor or performer.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Effect&lt;br /&gt;
|effect_id&lt;br /&gt;
|The ID of a given effect.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|position_marker_id?&lt;br /&gt;
|Set to one of the following character sprite offsets:&lt;br /&gt;
0: Head&amp;lt;br&amp;gt;1: Right Hand&amp;lt;br&amp;gt;2: Left Hand&amp;lt;br&amp;gt;3: Center&amp;lt;br&amp;gt;4: No offset (bottom of sprite)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x103 - SetFunctionAttribute ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x104 - SetHeight ===&lt;br /&gt;
Moves an actor &amp;quot;vertically&amp;quot; by distancing it from its shadow. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|number of pixels to move up or down by.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x105 - SetHitAttribute ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x106 - SetMoveRange ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|unk4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|unk5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x107 - SetOutputAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;output&amp;quot; attribute to 1.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|output_bitfield&lt;br /&gt;
|&lt;br /&gt;
# Underlay below entities.&lt;br /&gt;
# Overlay above entities.&lt;br /&gt;
# Overlay above the current Map Background&#039;s Layer 2.&lt;br /&gt;
# Overlay above the game&#039;s canvas system, which includes the textbox, portrait, and some &amp;lt;code&amp;gt;screen_&amp;lt;/code&amp;gt; commands that do not end in &amp;lt;code&amp;gt;All&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Flicker.&lt;br /&gt;
# Transparency.&lt;br /&gt;
# Invisibility.&lt;br /&gt;
# Displays shadow.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x108 - SetPosition ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x109 - SetPositionInitial ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x10a - SetPositionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10b - SetPositionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10c - SetPositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10d - SetPositionOffsetRandom ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10e - SetReplyAttribute ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10f - SetupOutputAttributeAndAnimation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x110 - Slide2Position ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a specific pixel position without animation. Must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position on the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position on the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x111 - Slide2PositionLives ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor without animation. Must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|actor_id&lt;br /&gt;
|The ID of the actor to move the entity to.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x112 - Slide2PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to one or more Position Marks without animation, and without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x113 - Slide2PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark without animation, and without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed.  Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_mark&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x114 - Slide2PositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |These two parameters may be repeated multiple times&lt;br /&gt;
|-&lt;br /&gt;
|3+&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|}&lt;br /&gt;
=== 0x115 - Slide2PositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x116 - Slide2PositionOffsetRandom ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x117 - Slide3Position ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x118 - Slide3PositionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|actor_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x119 - Slide3PositionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|This parameter may be repeated multiple times&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11a - Slide3PositionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11b - Slide3PositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |These two parameters may be repeated multiple times&lt;br /&gt;
|-&lt;br /&gt;
|3+&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11c - Slide3PositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11d - Slide3PositionOffsetRandom ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11e - SlideHeight ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11f - SlidePosition ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x120 - SlidePositionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x121 - SlidePositionLivesTime ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x122 - SlidePositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad. Unlike MovePositionMark, this will not turn the entity to face the direction they are moving in.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x123 - SlidePositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad. Unlike MovePositionMark, this will not turn the entity to face the direction they are moving in.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x124 - SlidePositionMarkTime ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x125 - SlidePositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|This parameter may be repeated multiple times&lt;br /&gt;
|}&lt;br /&gt;
=== 0x126 - SlidePositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x127 - sound_FadeOut ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x128 - sound_Stop ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x129 - StopAnimation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x12a - supervision_Acting ===&lt;br /&gt;
Loads a sector of the Acting scene.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to load.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12b - supervision_ActingInvisible ===&lt;br /&gt;
Loads a sector of the Acting scene. Actors and objects in this sector will be invisible. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to load.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12c - supervision_ExecuteActing ===&lt;br /&gt;
Loads a specified Acting script from the specified level from within Enter/Acting/Sub scripts. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|Map LEVEL the script should be located in.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|Name of the script itself, only the first 8 characters are read.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|script_sector&lt;br /&gt;
|The &amp;quot;sector&amp;quot; of the script, and the value &amp;lt;code&amp;gt;switch(sector())&amp;lt;/code&amp;gt; will return in def 0. Often used to determine whether a cutscene should be played as a flashback or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12d - supervision_ExecuteActingSub ===&lt;br /&gt;
Loads a specified Acting script from the specified level from within Unionall.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|Map LEVEL the script should be located in.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|Name of the script itself, only the first 8 characters are read.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|script_sector&lt;br /&gt;
|The &amp;quot;sector&amp;quot; of the script, and the value &amp;lt;code&amp;gt;switch(sector())&amp;lt;/code&amp;gt; will return in def 0. Often used to determine whether a cutscene should be played as a flashback or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12e - supervision_ExecuteCommon ===&lt;br /&gt;
Loads a specified Unionall coroutine from within Enter/Acting/Sub scripts. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12f - supervision_ExecuteEnter ===&lt;br /&gt;
Loads an Enter script from the specified level. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level list. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x130 - supervision_ExecuteStation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x131 - supervision_ExecuteStationCommon ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x132 - supervision_ExecuteStationCommonSub ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x133 - supervision_ExecuteStationSub ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x134 - supervision_ExecuteExport ===&lt;br /&gt;
Loads a specified Acting scene of the level S00P01A&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x135 - supervision_ExecuteExportSub ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ConstString&lt;br /&gt;
|const&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x136 - supervision_LoadStation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x137 - supervision_Remove ===&lt;br /&gt;
Unloads a sector of the Sub scene.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to unload.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x138 - supervision_RemoveActing ===&lt;br /&gt;
Unloads a sector of the Acting scene. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to unload.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x139 - supervision_RemoveCommon ===&lt;br /&gt;
Unloads a sector of the Enter scene. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to unload.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13a - supervision_SpecialActing ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x13b - supervision_Station ===&lt;br /&gt;
Loads a sector of the Sub scene.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|station_id&lt;br /&gt;
|The ID of the sector to load.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13c - supervision_StationCommon ===&lt;br /&gt;
Loads a sector of the Enter scene.&lt;br /&gt;
&lt;br /&gt;
Can be used to call sectors of an enter scene within acting scenes!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|station_id&lt;br /&gt;
|The ID of the sector to load.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13d - supervision_Suspend ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x13e - supervision2_SpecialActing ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x14c - Turn2Direction ===&lt;br /&gt;
Makes an actor rotate to a specified direction.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|How fast the actor turns. The higher the number, the slower the turn.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|rotationdirection&lt;br /&gt;
|The way that the actor will turn to face the specified direction. 1 = clockwise, 2 = counterclockwise, 10 = the most efficient direction to turn.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|The direction that the actor will turn to face.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x14d - Turn2DirectionLives ===&lt;br /&gt;
Makes an actor rotate to face another actor. Must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|How fast the actor turns. The higher the number, the slower the turn.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|rotationdirection&lt;br /&gt;
|The way that the actor will turn to face the specified direction. 1 = clockwise, 2 = counterclockwise, 10 = the most efficient direction to turn.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|The target actor that the actor will turn to face.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x14e - Turn2DirectionLives2 ===&lt;br /&gt;
Makes an actor rotate to face another actor. Must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|How fast the actor turns. The higher the number, the slower the turn.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|rotationdirection&lt;br /&gt;
|The way that the actor will turn to face the specified direction. 1 = clockwise, 2 = counterclockwise, 10 = the most efficient direction to turn.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|actor_id&lt;br /&gt;
|ID of the target actor from Level List that the actor will turn to face.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x14f - Turn2DirectionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|unk7&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x150 - Turn2DirectionTurn ===&lt;br /&gt;
Makes an actor turn at a certain angle. &lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|How fast the actor turns. The higher the number, the slower the turn.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|rotationdirection&lt;br /&gt;
|The way that the actor will turn to face the specified direction. 1 = clockwise, 2 = counterclockwise, 10 = the most efficient direction to turn.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|angle&lt;br /&gt;
|1: 45 degrees left, 2: 45 degrees right, 3: 90 degrees right, 4: 90 degrees left, 5: 180 degrees&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x151 - Turn3 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x152 - TurnDirection ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x153 - TurnDirectionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x154 - TurnDirectionLives2 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x155 - TurnDirectionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x156 - Unlock ===&lt;br /&gt;
Resumes the routine that was suspended when &amp;lt;code&amp;gt;Lock&amp;lt;/code&amp;gt; was called with the specified &#039;&#039;lock_id&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|The ID of a Lock, ranged from 0-19 (inclusive).&lt;br /&gt;
|}&lt;br /&gt;
=== 0x157 - Wait ===&lt;br /&gt;
Pauses the routine for a set number of frames. After the number of frames, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames that the routine will wait for before resuming.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x158 - WaitAnimation ===&lt;br /&gt;
Pauses the routine until the specified actor has finished its animation. After the actor finishes its animation, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
=== 0x159 - WaitBackEffect ===&lt;br /&gt;
Pauses the current routine until [[List of Opcodes#0x2 - back SetBackEffect|back_SetBackEffect]] is called.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x15a - WaitBack2Effect ===&lt;br /&gt;
Pauses the current routine until [[List of Opcodes#0x12 - back2 SetBackEffect|back2_SetBackEffect]] is called.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x15b - WaitBgm ===&lt;br /&gt;
Pauses the current routine until the specified BGM on the first BGM track has ended. After the BGM ends, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A non-looped music track defined in SOUND/BGM of the ROM. Looped music tracks softlocks the game. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x15c - WaitBgm2 ===&lt;br /&gt;
Pauses the current routine until the specified BGM on the second BGM track has ended. After the BGM ends, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A non-looped music track defined in SOUND/BGM of the ROM. Looped music tracks softlocks the game. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x15d - WaitBgmSignal ===&lt;br /&gt;
Pauses the routine until a DSE event with ID 0xF6 on the current BGM track is triggered. This can be used to sync certain parts of the scene to the background music.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x15e - WaitEffect ===&lt;br /&gt;
Pauses the routine until the effect on the specified actor/peformer has ended. After the effect ends, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
=== 0x15f - WaitEndAnimation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x160 - WaitExecuteLives ===&lt;br /&gt;
Pauses the routine until the specified actor has finished its action (Move2Position, Slide2Position, etc.). After the actor finishes its action, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|The actor that the routine will wait for.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x161 - WaitExecuteObject ===&lt;br /&gt;
Pauses the current routine until the specified object has finished its action (Move2Position, Slide2Position, etc.). After the object finishes its action, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Object&lt;br /&gt;
|object_id&lt;br /&gt;
|The ID of the object that the routine will wait for.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x162 - WaitExecutePerformer ===&lt;br /&gt;
Pauses the current routine until the specified performer has finished its current action (Move2Position, Slide2Position, etc.) After the performer has finished its action, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|performer_id&lt;br /&gt;
|The ID of the performer that the routine will wait for.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x163 - WaitFadeIn ===&lt;br /&gt;
Pauses the current routine and waits for the screen to fade in. After the screen fades in, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x164 - WaitLockLives ===&lt;br /&gt;
Pauses the current routine until a [[List of Opcodes#0x8b - Lock|Lock]] opcode with the specified &#039;&#039;lock_id&#039;&#039; is reached in the specified actor&#039;s targeted routine. After the lock is reached, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x165 - WaitLockObject ===&lt;br /&gt;
Pauses the current routine until a [[List of Opcodes#0x8b - Lock|Lock]] opcode with the specified &#039;&#039;lock_id&#039;&#039; is reached in the specified object&#039;s targeted routine. After the lock is reached, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Object&lt;br /&gt;
|object&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x166 - WaitLockPerformer ===&lt;br /&gt;
Pauses the current routine until a [[List of Opcodes#0x8b - Lock|Lock]] opcode with the specified &#039;&#039;lock_id&#039;&#039; is reached in the specified performer&#039;s targeted routine. After the lock is reached, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|performer&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x167 - WaitLockSupervision ===&lt;br /&gt;
Pauses the current routine until a [[List of Opcodes#0x8b - Lock|Lock]] opcode with the specified &#039;&#039;lock_id&#039;&#039; is reached in &amp;lt;code&amp;gt;def 0&amp;lt;/code&amp;gt;. After the lock is reached, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x168 - WaitMe ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x169 - WaitMoveCamera ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16a - WaitMoveCamera2 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16b - WaitRandom ===&lt;br /&gt;
Pauses the routine for a random number of frames. After the number of frames, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration_min&lt;br /&gt;
|Minimum number of frames that the routine will wait for before resuming.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration_max&lt;br /&gt;
|Maximum number of frames that the routine will wait for before resuming.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x16c - WaitScreenFade ===&lt;br /&gt;
Waits until screen_FadeIn finishes executing. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16d - WaitScreenFadeAll ===&lt;br /&gt;
Waits until screen_FadeInAll finishes executing. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16e - WaitScreen2Fade ===&lt;br /&gt;
Waits until screen2_FadeIn finishes executing. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16f - WaitSe ===&lt;br /&gt;
Pauses the current routine until the specified sound effect has ended. After the sound effect ends, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|The ID of the sound to wait for the end of before resuming the routine.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x170 - WaitSpecialActing ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x171 - WaitSubScreen ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x172 - WaitSubSpecialActing ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x173 - worldmap_BlinkMark ===&lt;br /&gt;
Shows a blinking world map marker. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x174 - worldmap_ChangeLevel ===&lt;br /&gt;
Causes the clouds parting animation on the world map, presumably hardcoded by vanilla use-case. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_level&lt;br /&gt;
|Level to transition the world map state to.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x175 - worldmap_DeleteArrow ===&lt;br /&gt;
Remove the yellow arrow from the world map. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x176 - worldmap_MoveCamera ===&lt;br /&gt;
Moves the camera to the specified world map marker. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x177 - worldmap_OffMessage ===&lt;br /&gt;
Removes a textbox with the world map marker&#039;s name from the Top Screen&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x178 - worldmap_SetArrow ===&lt;br /&gt;
Shows an arrow pointing to a specified world map marker&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x179 - worldmap_SetCamera ===&lt;br /&gt;
Centers the world map camera on a specific world map marker.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|The world map id to center the camera on.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17a - worldmap_SetLevel ===&lt;br /&gt;
Sets the current world map state. Additionally updates $WORLD_MAP_LEVEL&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_level&lt;br /&gt;
|Level to assign the world map state to.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17b - worldmap_SetMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17c - worldmap_SetMessage ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17d - worldmap_SetMessagePlace ===&lt;br /&gt;
Shows a textbox on the Top Screen with the specified world map marker&#039;s name. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x17e - worldmap_SetMode ===&lt;br /&gt;
Sets the &amp;quot;mode&amp;quot; of the world map, to align with a particular purpose. Mode 3 is for handling moving clouds.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_mode&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Opcodes ==&lt;br /&gt;
These opcodes cannot be directly called from ExplorerScript, since they are represented as higher-level constructs.&lt;br /&gt;
&lt;br /&gt;
=== 0x28 - Branch ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x29 - BranchBit ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2a - BranchDebug ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|param&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2b - BranchEdit ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|param&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2c - BranchExecuteSub ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2d - BranchPerformance ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2e - BranchScenarioNow ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2f - BranchScenarioNowAfter ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x30 - BranchScenarioNowBefore ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x31 - BranchScenarioAfter ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x32 - BranchScenarioBefore ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x33 - BranchSum ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x34 - BranchValue ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x35 - BranchVariable ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|GameVar&lt;br /&gt;
|cmp_var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x36 - BranchVariation ===&lt;br /&gt;
Used for demo cutscenes.&lt;br /&gt;
&lt;br /&gt;
Jumps to the specified address if the first parameter is 0. On the demo version of the game, jumps if the first parameter is 3.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|param&lt;br /&gt;
|Unknown. Always 3.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|Address to jump to.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x37 - Call ===&lt;br /&gt;
Jumps to the specified address, runs code, and returns to the line of code in which this opcode was used (only if &amp;lt;code&amp;gt;return;&amp;lt;/code&amp;gt; was used in the routine this opcode calls). Only one call can be stored at a time!&lt;br /&gt;
&lt;br /&gt;
Use within macros is ill-advised, as using &amp;lt;code&amp;gt;return;&amp;lt;/code&amp;gt; within a macro will just end the macro!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|The address to call, e.g., &amp;lt;code&amp;gt;call @label_0;&amp;lt;/code&amp;gt; if &amp;lt;code&amp;gt;§label_0;&amp;lt;/code&amp;gt; is defined in the script.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x63 - Case ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x64 - CaseMenu ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|choice&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x65 - CaseMenu2 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint?&lt;br /&gt;
|choice?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x66 - CaseScenario ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x67 - CaseText ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|display&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x68 - CaseValue ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x69 - CaseVariable ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6e - DefaultText ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x70 - End ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x74 - flag_CalcBit ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x75 - flag_CalcValue ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|calc_operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x76 - flag_CalcVariable ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|calc_operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|GameVar&lt;br /&gt;
|var_to_set_from&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x77 - flag_Clear ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x78 - flag_Initial ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x79 - flag_Set ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7a - flag_ResetDungeonResult ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x7b - flag_ResetScenario ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7c - flag_SetAdventureLog ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7d - flag_SetDungeonMode ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|dungeon_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|DungeonMode&lt;br /&gt;
|dungen_mode&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7e - flag_SetDungeonResult ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7f - flag_SetPerformance ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x80 - flag_SetScenario ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|scenario_value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|level_value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x82 - Hold ===&lt;br /&gt;
Will stall a script forever.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x87 - Jump ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x89 - lives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0xaa - message_SwitchMenu ===&lt;br /&gt;
Enclose within a switch case, and generates a dialogue prompt with the options present in subsequent &amp;quot;case menu(&amp;quot;text&amp;quot;):&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|cancel&lt;br /&gt;
|If player can use the B button to back out of a menu. 0 for false, 1 for true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|init&lt;br /&gt;
|Entry number to start the cursor at, starting at 1&lt;br /&gt;
|}&lt;br /&gt;
=== 0xab - message_SwitchMenu2 ===&lt;br /&gt;
Same as message_SwitchMenu, but it also takes an argument for a bitfield, and will only display dialogue options for which the corresponding bit is enabled (set to 1).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|cancel&lt;br /&gt;
|If player can use the B button to back out of a menu. 0 for false, 1 for true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|init&lt;br /&gt;
|Entry number to start the cursor at, starting at 1&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Bitfield $VAR&lt;br /&gt;
|}&lt;br /&gt;
=== 0xac - message_SwitchMonologue ===&lt;br /&gt;
Structured similarly to a switch statement. Typically uses &amp;lt;code&amp;gt;$HERO_TALK_KIND&amp;lt;/code&amp;gt; as an argument, and uses multiple cases to display certain dialogue strings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 4:&amp;lt;/code&amp;gt; used when the player is male or genderless&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 5:&amp;lt;/code&amp;gt; used when the player is female&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;default:&amp;lt;/code&amp;gt; used when &amp;lt;code&amp;gt;$HERO_TALK_KIND&amp;lt;/code&amp;gt;&#039;s Talk Group has a value other than 4 or 5&lt;br /&gt;
&lt;br /&gt;
This opcode supports displaying a portrait. No sound effect is used when text is scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&amp;lt;code&amp;gt;$x_TALK_KIND&amp;lt;/code&amp;gt;, contains Talk Group number&lt;br /&gt;
|}&lt;br /&gt;
=== 0xad - message_SwitchTalk ===&lt;br /&gt;
Same as _SwitchMonologue, but typically uses &amp;lt;code&amp;gt;$PARTNER_TALK_KIND&amp;lt;/code&amp;gt; as an argument, and the cases used vary.&lt;br /&gt;
&lt;br /&gt;
Of the vanilla game partner options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 1:&amp;lt;/code&amp;gt; used if Squirtle, Tododile, Chimchar, Meowth, or Munchlax&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 2:&amp;lt;/code&amp;gt; used for all other male partners&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 3:&amp;lt;/code&amp;gt; used for all female partners&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;default:&amp;lt;/code&amp;gt; used when &amp;lt;code&amp;gt;$PARTNER_TALK_KIND&amp;lt;/code&amp;gt;&#039;s Talk Group has a value other than 1, 2, or 3&lt;br /&gt;
&lt;br /&gt;
This opcode supports displaying a portrait. The [[sound effect]] 16133 will emit from the each character scrolling in the text.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&amp;lt;code&amp;gt;$x_TALK_KIND&amp;lt;/code&amp;gt;, contains Talk Group number&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc9 - object ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Object&lt;br /&gt;
|object_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0xcb - performer ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|performer_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd5 - Return ===&lt;br /&gt;
If run from within a macro, ends the macro.&lt;br /&gt;
&lt;br /&gt;
If run after the &amp;quot;call&amp;quot; opcode was used, will return to the address of the call opcode.&lt;br /&gt;
&lt;br /&gt;
If used within a script, ends the script. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x13f - Switch ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x140 - SwitchDirection ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x141 - SwitchDirectionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x142 - SwitchDirectionLives2 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x143 - SwitchDirectionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x144 - SwitchDungeonMode ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|dungeon_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x145 - SwitchLives ===&lt;br /&gt;
If inside a Switch Case, take the case equal to the species ID of the specified Actor!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x146 - SwitchRandom ===&lt;br /&gt;
To be used in a switch statement. Will switch to a case of a random number below the specified integer.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|max_value&lt;br /&gt;
|Largest random output, plus 1&lt;br /&gt;
|}&lt;br /&gt;
=== 0x147 - SwitchScenario ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x148 - SwitchScenarioLevel ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x149 - SwitchSector ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x14a - SwitchValue ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x14b - SwitchVariable ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=Scenario_Main_Values&amp;diff=1417</id>
		<title>Scenario Main Values</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=Scenario_Main_Values&amp;diff=1417"/>
		<updated>2026-02-01T21:32:19Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: Document Postgame $SCENARIO_MAIN.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
The following table is a work-in-progress list of the scenario main (&amp;lt;code&amp;gt;$SCENARIO_MAIN&amp;lt;/code&amp;gt;) values used by the vanilla game. These values help the game know where you are in the story and what events have (or have not) been triggered. They are also used to determine things that change based on story progression, such as which NPCs spawn in Treasure Town or the dialogue said by the partner if you turn to talk to them in the overworld. &lt;br /&gt;
&lt;br /&gt;
The format used by the game for defining this variable is &amp;lt;code&amp;gt;$SCENARIO_MAIN = scn[1, 0];&amp;lt;/code&amp;gt; where the two numbers in the brackets change depending on story progression. &lt;br /&gt;
&lt;br /&gt;
For scripts that check for specific $SCENARIO_MAIN values using if-statements (such as to determine what partner dialogue should be played at that point in the story), you will usually see the value mentioned in a format like the following, which is taken from one of the partner&#039;s overworld dialogue scripts: &amp;lt;code&amp;gt;if ( scn($SCENARIO_MAIN) &amp;gt;= [26, 5] )&amp;lt;/code&amp;gt; . In this example, the game is checking to see if the current $SCENARIO_MAIN value is &#039;&#039;greater than or equal to&#039;&#039; &amp;lt;code&amp;gt;[26, 5]&amp;lt;/code&amp;gt; and, if that is indeed the case, then the partner&#039;s overworld dialogue will be some variation of &amp;quot;We&#039;re so close... There&#039;s no way we can give up now, [hero]!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sub&amp;gt;Because some scripts have identical names, the column for the script locations of each $SCENARIO_MAIN value will also include the name of the map folder they are found in. For example, the $SCENARIO_MAIN value that gets triggered following the Project P cutscene can be triggered by four seprate enter scripts that have identical names (&#039;&#039;enter01.ssb&#039;&#039; and &#039;&#039;enter02.ssb&#039;&#039;, respectively), so the corresponding map folder names are also included to help users know which enter scripts to look for.&amp;lt;/sub&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable center&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Scenario Main (Values)&lt;br /&gt;
!Game Chapter&lt;br /&gt;
!Description&lt;br /&gt;
!Script location of the value&lt;br /&gt;
!Other notes&lt;br /&gt;
!Other scripts that mention this value&lt;br /&gt;
!Debug Menu (that uses this value)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[1, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|Immediately &amp;lt;u&amp;gt;BEFORE&amp;lt;/u&amp;gt; the personality quiz&lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under&lt;br /&gt;
&amp;lt;code&amp;gt;EVENT_DIVIDE_OPENING&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 900&#039;&#039;&lt;br /&gt;
|Contained within the larger &amp;lt;code&amp;gt;EVENT_DIVIDE&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[2, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|Immediately &amp;lt;u&amp;gt;AFTER&amp;lt;/u&amp;gt; the personality quiz&lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under&lt;br /&gt;
&amp;lt;code&amp;gt;EVENT_M00A_01&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2261&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[2, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under&lt;br /&gt;
&amp;lt;code&amp;gt;EVENT_DIVIDE_FIRST&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 967&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;happylappy&#039;&#039;&#039;&#039;&#039; writes that this is in a switch case in &amp;lt;code&amp;gt;EVENT_DIVIDE&amp;lt;/code&amp;gt; over $SCENARIO_MAIN&lt;br /&gt;
&#039;&#039;“Basically, if it’s [X, 0], make it [X, 1]… for these chapters only”&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;(also applies to scn[3, 1];)&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[2, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!&#039;&#039;&#039;Chapter 1&#039;&#039;&#039;&lt;br /&gt;
|Partner’s Relic Fragment was just stolen on the beach&lt;br /&gt;
|&#039;&#039;&#039;D01P11B&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;code&amp;gt;m01a0208.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[2, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 1&lt;br /&gt;
|Pre-fight in Beach Cave&lt;br /&gt;
|&#039;&#039;&#039;D01P41A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m01a0401.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[3, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|Visual of the Rainbow Stoneship along with &#039;&#039;“The Pokémon Company and CHUNSOFT presents”&#039;&#039; before the game title appears&lt;br /&gt;
|&#039;&#039;&#039;S11P02C&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;t01p0801.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2150&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 2&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[3, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!&#039;&#039;&#039;Chapter 2&#039;&#039;&#039;&lt;br /&gt;
|About to enter Wigglytuff’s Guild for the first time with the partner&lt;br /&gt;
|&#039;&#039;&#039;G01P01B&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m02a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|This value appears in the script mentioned by the previous cell, EVENT_DIVIDE, the debug script, and also in a switch case in EVENT_DIVIDE_FIRST (exact locations can be found in the next cell)&lt;br /&gt;
Same note from &#039;&#039;&#039;&#039;&#039;happylappy&#039;&#039;&#039;&#039;&#039; as [2, 1] where &#039;&#039;“Basically, if it’s [X, 0], make it [X, 1]… for these chapters only”&#039;&#039; &lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1599&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 393&#039;&#039;&lt;br /&gt;
----Found in &#039;&#039;&#039;unionall.ssb&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EVENT_DIVIDE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 750&#039;&#039;&lt;br /&gt;
----Found in &#039;&#039;&#039;unionall.ssb&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EVENT_DIVIDE_FIRST&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 983&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M2 The First Job&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M02-01&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[3, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 2&lt;br /&gt;
|Chatot has you follow him since it’s your first day (about to learn about the Job Bulletin Board)&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m02a0301.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[3, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 2&lt;br /&gt;
|Entering Drenched Bluff for Spoink’s mission&lt;br /&gt;
|&#039;&#039;&#039;D02P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m02a0401.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[3, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 2&lt;br /&gt;
|Enter Drenched Bluff for Spoink’s mission &#039;&#039;(if you failed previously)&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;D02P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m02a0701.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|This one is found in a case menu&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[3, 5];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 2&lt;br /&gt;
|Enter Drenched Bluff for Spoink’s mission &#039;&#039;(if you failed previously)&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;D02P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m02a0701.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|This one is in a case menu, same scene as above&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[3, 6];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 2&lt;br /&gt;
|You find Spoink’s missing pearl at the end of Drenched Bluff&lt;br /&gt;
|&#039;&#039;&#039;D02P31A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m02a0801.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|This one is in a case menu, probably relating to the &#039;&#039;&#039;demo version&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[3, 7];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 2&lt;br /&gt;
|You find Spoink’s missing pearl at the end of Drenched Bluff&lt;br /&gt;
|&#039;&#039;&#039;D02P31A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m02a0801.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|This one is in a case menu, probably relating to the &#039;&#039;&#039;demo version&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[4, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 2&lt;br /&gt;
|Going to bed after your first successful job mission (also the end of chapter 2)&lt;br /&gt;
|&#039;&#039;&#039;G01P07C&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m02a1003.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1896&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1607&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 401&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 3&#039;&#039;&#039;&lt;br /&gt;
----(under “Others”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M3 Outlaw Notice Board&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M03-01B&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[4, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 3&lt;br /&gt;
|Chatot notices you wandering the day after your first mission (about to learn about the Outlaw Notice Board)&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m03a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1615&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 406&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;Not That Way&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M03-02&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[4, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 3&lt;br /&gt;
|Meeting Marill and Azurill for the first time at Kecleon Market&lt;br /&gt;
|&#039;&#039;&#039;T01P02A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m03a0301.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1623&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 411&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M3 Drowzee&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M03-03&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[4, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 3&lt;br /&gt;
|Meeting Drowzee for the first time&lt;br /&gt;
|&#039;&#039;&#039;T01P01A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m03a0401.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1631&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 416&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M3 Truth&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M03-04&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[4, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 3&lt;br /&gt;
|Bidoof is about to help you pick your first outlaw job&lt;br /&gt;
|&#039;&#039;&#039;G01P03A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m03a0502.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;D01P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;dus08.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[4, 5];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 3&lt;br /&gt;
|About to enter Mt. Bristle to save Azurill from Drowzee&lt;br /&gt;
|&#039;&#039;&#039;D03P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m03a0601.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 421&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M03-06&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[4, 6];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 3&lt;br /&gt;
|Drowzee reveals that it was all a trick to Azurill (pre-boss fight)&lt;br /&gt;
|&#039;&#039;&#039;D03P41A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m03a0801.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|For whatever reason, this particular variable appears twice in the same script (at the start of the scene and then right after the boss fight screen wipe effect)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[4, 7];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 3&lt;br /&gt;
|Drowzee is defeated and you rescue Azurill&lt;br /&gt;
|&#039;&#039;&#039;D03P41A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m03a1001.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 426&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M03-08&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[5, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|Requires you to do &#039;&#039;&#039;3+ missions&#039;&#039;&#039; and &amp;lt;code&amp;gt;scn[4, 7];&amp;lt;/code&amp;gt; &lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under&lt;br /&gt;
&amp;lt;code&amp;gt;EVENT_HA_YU_KI&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2283&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2160&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 4&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[5, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 4&lt;br /&gt;
|Loudred calls you over to do sentry duty for the first time&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m04a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[5, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 4&lt;br /&gt;
|Triggers as the hero and partner are crawling to the sentry post&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m04a0106.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[5, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 4&lt;br /&gt;
|You have just completed sentry duty for the first time, and are about to hear your results&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m04a0201.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[5, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 4&lt;br /&gt;
|Triggers just after you receive the results if you failed sentry duty&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
m04a0201.ssb&lt;br /&gt;
|Only triggers if you failed sentry duty&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[5, 5];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 4&lt;br /&gt;
|Triggers after you’ve seen the cutscene where your team and Loudred go without dinner, which only happens if you failed sentry duty&lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under&lt;br /&gt;
&amp;lt;code&amp;gt;EVENT_M04_02_03&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 3242&#039;&#039;&lt;br /&gt;
|&#039;&#039;Only triggers if  &amp;lt;code&amp;gt;scn[5, 4];&amp;lt;/code&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Appears in a switch case&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 431&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M04-03&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[5, 6];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 4&lt;br /&gt;
|Requires you to do &#039;&#039;&#039;2+ missions&#039;&#039;&#039; and &amp;lt;code&amp;gt;scn[5, 5];&amp;lt;/code&amp;gt; &lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under&lt;br /&gt;
&amp;lt;code&amp;gt;EVENT_HA_YU_KI&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2314&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[5, 7];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 4&lt;br /&gt;
|Requires you to &#039;&#039;&#039;“do 0+ missions”&#039;&#039;&#039; and &amp;lt;code&amp;gt;scn[5, 6];&amp;lt;/code&amp;gt; &lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under&lt;br /&gt;
&amp;lt;code&amp;gt;EVENT_HA_YU_KI&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2325&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;happylappy&#039;&#039;&#039;&#039;&#039; suspects that this, and others like it, are just counting the number of days that pass&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[5, 8];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 4&lt;br /&gt;
|Requires you to &#039;&#039;&#039;“do 0+ missions”&#039;&#039;&#039; and &amp;lt;code&amp;gt;scn[5, 7];&amp;lt;/code&amp;gt; &lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under&lt;br /&gt;
&amp;lt;code&amp;gt;EVENT_HA_YU_KI&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2336&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[6, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 5&lt;br /&gt;
|Requires you to &#039;&#039;&#039;“do 0+ missions”&#039;&#039;&#039; and&amp;lt;code&amp;gt;scn[5, 8];&amp;lt;/code&amp;gt; &lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under &lt;br /&gt;
&amp;lt;code&amp;gt;EVENT_HA_YU_KI&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2347&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2165&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 5&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[6, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 5&lt;br /&gt;
|Morning address where Chatot announces that Treeshroud Forest’s Time Gear has been stolen&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m05a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 436&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M05-02&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[6, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 5&lt;br /&gt;
|Triggers after you tell Chatot you understand the details of your mission to investigate Waterfall Cave&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m05a0203.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[6, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 5&lt;br /&gt;
|Chimecho Assembly opens&lt;br /&gt;
|&#039;&#039;&#039;G01P03A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m00p0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[6, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 5&lt;br /&gt;
|The hero and partner discover the stairs to Spinda’s shop for the first time (“opening soon!”)&lt;br /&gt;
|&#039;&#039;&#039;P01P01A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;s30a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[6, 5];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 5&lt;br /&gt;
|Triggers when you enter Waterfall Cave for the first time&lt;br /&gt;
|&#039;&#039;&#039;D04P12A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m05a0304.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 441&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M05-04&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[6, 6];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 5&lt;br /&gt;
|Reaching the bottom of Waterfall Cave&lt;br /&gt;
|&#039;&#039;&#039;D04P31A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m05a0601.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[7, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 5&lt;br /&gt;
|After dinner, Wigglytuff tells your team about the upcoming expedition&lt;br /&gt;
|&#039;&#039;&#039;G01P05C&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m05a0911.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2170&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 6&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[7, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 6&lt;br /&gt;
|During the morning address, Chatot talks to everyone about the expedition&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m06a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 446&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M06-02&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[7, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 6&lt;br /&gt;
|About to encounter Koffing and Zubat at the job boards&lt;br /&gt;
|&#039;&#039;&#039;G01P03A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m06a0201.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 451&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M06-03&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[7, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 6&lt;br /&gt;
|Opening cutscene for Spinda’s Café&lt;br /&gt;
|&#039;&#039;&#039;P01P01A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;s30a0201.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 456&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M06-035&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[7, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 6&lt;br /&gt;
|Loudred calls the hero and partner over for sentry duty (again)&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m06a0401.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[7, 5];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 6&lt;br /&gt;
|Diglett has something else he has to do, and needs your team to do sentry duty again&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m06a0401.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;m06a0403.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|Triggers twice for whatever reason. The first time is at the start of the scene where Diglett asks for your help again, and the second time is after you confirm to Loudred that you understand what you need to do (i.e. right before the sentry duty minigame starts)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[7, 6];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 6&lt;br /&gt;
|Chatot has just announced that Team Skull will be living at the guild until the expedition&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m06a0501.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 461&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M06-05&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[8, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 6&lt;br /&gt;
|Requires &amp;lt;code&amp;gt;scn[7, 6];&amp;lt;/code&amp;gt;&lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under &lt;br /&gt;
&amp;lt;code&amp;gt;EVENT_HA_YU_KI&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2431&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2175&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 7&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[8, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 6&lt;br /&gt;
|Chatot asks your team to go find Perfect Apples at Apple Woods&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m07a0301.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 466&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M07-02&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[8, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 6&lt;br /&gt;
|Entering Apple Woods for the first time&lt;br /&gt;
|&#039;&#039;&#039;D05P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m07a0601.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 471&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M07-04&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[8, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch, 6&lt;br /&gt;
|Reaching the end of Apple Woods and encountering Team Skull&lt;br /&gt;
|&#039;&#039;&#039;D05P31A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m07a0701.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[8, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 6&lt;br /&gt;
|The other guild apprentices sneak in some food for the hero and partner&lt;br /&gt;
|&#039;&#039;&#039;G01P07A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m07a1302.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 476&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M07-06&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[8, 5];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 6&lt;br /&gt;
|Project P is introduced to the player for the first time upon entering the crossroads&lt;br /&gt;
|&#039;&#039;&#039;P01P01A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;s30a0301.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 481&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M07-065&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[8, 6];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 6&lt;br /&gt;
|Seems to be triggered upon re-entering the crossroads after having seen the Project P cutscene (i.e., having &amp;lt;code&amp;gt;scn[8, 5];&amp;lt;/code&amp;gt;)&lt;br /&gt;
|&#039;&#039;&#039;G01P01A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;enter02.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
----&#039;&#039;&#039;P01P02A&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;enter02.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
----&#039;&#039;&#039;P01P04A&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;enter01.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
----&#039;&#039;&#039;T01P01A&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;enter01.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|This value can be triggered by four different enter scripts that all connect to the crossroads&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 488&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M07-067&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[8, 7];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 6&lt;br /&gt;
|Requires you to do &#039;&#039;&#039;1+ missions&#039;&#039;&#039; and &amp;lt;code&amp;gt;scn[8, 6];&amp;lt;/code&amp;gt; &lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under &lt;br /&gt;
&amp;lt;code&amp;gt;EVENT_HA_YU_KI&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2358&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 493&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M07-08&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[8, 8];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 6&lt;br /&gt;
|Requires you to do &#039;&#039;&#039;sentry duty&#039;&#039;&#039; and have&amp;lt;code&amp;gt;scn[8, 7];&amp;lt;/code&amp;gt;&lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under &lt;br /&gt;
&amp;lt;code&amp;gt;EVENT_HA_YU_KI&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2370&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[8, 9];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 6&lt;br /&gt;
|Requires you to “&#039;&#039;&#039;do 0+ missions”&#039;&#039;&#039; and &amp;lt;code&amp;gt;scn[8, 8];&amp;lt;/code&amp;gt;&lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under &lt;br /&gt;
&amp;lt;code&amp;gt;EVENT_HA_YU_KI&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2381&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[9, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 6&lt;br /&gt;
|Requires you to &#039;&#039;&#039;“do 0+ missions”&#039;&#039;&#039; and &amp;lt;code&amp;gt;scn[8, 9];&amp;lt;/code&amp;gt; &lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under &lt;br /&gt;
&amp;lt;code&amp;gt;EVENT_HA_YU_KI&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2392&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2180&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 8&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[9, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 6&lt;br /&gt;
|Announcement of the expedition members during the morning address&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m08a0301.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1639&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1646&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 498&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M8 Ready for the Expedition?&#039;&#039;&#039; &lt;br /&gt;
----(under “Others”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M8 First Time to Craggy Coast&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M08-02&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[9, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 7&lt;br /&gt;
|Triggered once you enter Craggy Coast&lt;br /&gt;
|&#039;&#039;&#039;D06P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m08a0603.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1653&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M8 Craggy Coast Exploration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[9, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 7&lt;br /&gt;
|This is triggered after exiting the Side Path dungeon &lt;br /&gt;
|&#039;&#039;&#039;D06P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m08a0701.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[9, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 7&lt;br /&gt;
|Arriving at Mt. Horn&lt;br /&gt;
|&#039;&#039;&#039;D07P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m08a1001.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1660&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M8 First Time to Mt. Horn&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[9, 5];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 7&lt;br /&gt;
|Triggered once you enter Mt. Horn (or Rock Path)&lt;br /&gt;
|&#039;&#039;&#039;D07P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m08b1301.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1667&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M8 Mt. Horn Exploration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[9, 6];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 7 &lt;br /&gt;
|This is triggered after exiting Rock Path&lt;br /&gt;
|&#039;&#039;&#039;D07P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m08a1101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[10, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 7&lt;br /&gt;
|Requires that you clear Dungeon 10 (Mt. Horn)&lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under &lt;br /&gt;
&amp;lt;code&amp;gt;GETOUT_SCENARIO_DUNEGON&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 8864&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2185&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 9&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[10, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 8&lt;br /&gt;
|Arriving at the Foggy Forest base camp&lt;br /&gt;
|&#039;&#039;&#039;D08P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m09a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1674&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M9 First Time to Foggy Forest&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[10, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 8&lt;br /&gt;
|This is triggered after the partner picks up the Drought Stone when you choose the Foggy Forest route&lt;br /&gt;
|&#039;&#039;&#039;D08P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m09a0201.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1681&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M9 Foggy Forest Exploration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[10, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 8&lt;br /&gt;
|Triggered upon exiting Forest Path and ending up back at base camp&lt;br /&gt;
|&#039;&#039;&#039;D08P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m09a0301.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[11, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 8&lt;br /&gt;
|Triggers right after the scene with Team Skull getting into position to attack Wigglytuff (&amp;lt;code&amp;gt;m09a0701.ssb&amp;lt;/code&amp;gt;) ends&lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under&lt;br /&gt;
&amp;lt;code&amp;gt;EVENT_M09_06_07&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 3656&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2190&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 10&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[11, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 9&lt;br /&gt;
|Arriving at Steam Cave&lt;br /&gt;
|&#039;&#039;&#039;D09P11A&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;m10a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1688&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M10 First Time to Steam Cave&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[11, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 9&lt;br /&gt;
|Team Skull attacks Wigglytuff &lt;br /&gt;
|&#039;&#039;&#039;P03P02A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m10a0301.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1695&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M10 Steam Cave Exploration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[11, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 9&lt;br /&gt;
|Arriving at Upper Steam Cave&lt;br /&gt;
|&#039;&#039;&#039;D10P21A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m10a0501.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1702&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M10 First Time to Steam Cave-2&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[11, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 9&lt;br /&gt;
|Hero tells the partner they think they’ve been to Fogbound Lake before&lt;br /&gt;
|&#039;&#039;&#039;D10P21A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m10a0701.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1709&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M10 Steam Cave-2 Exploration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[11, 5];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 9&lt;br /&gt;
|Hero and partner prepare to fight Groudon&lt;br /&gt;
|&#039;&#039;&#039;D10P41A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m10a0905.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[12, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 9&lt;br /&gt;
|The guild promises Uxie that they’ll keep Fogbound Lake a secre&lt;br /&gt;
|&#039;&#039;&#039;P04P01C&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m10a1213.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2195&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 11&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[12, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 10&lt;br /&gt;
|Dusknoir arrives at the guild&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m11a0201.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 503&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M11-02&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[12, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 10&lt;br /&gt;
|Identical to the usual scene of the partner saying goodnight to the hero, except this time there’s a scenario flag &lt;br /&gt;
|&#039;&#039;&#039;G01P07C&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m11a0301.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[12, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 10&lt;br /&gt;
|Chatot sends you on an errand to Kecleon Market to see if they have any plans to stock Perfect Apples&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m11a0401.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1716&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 508&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M11 Marill Bros. Lost Item&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M11-04&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[12, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 10&lt;br /&gt;
|Your team is talking to Dusknoir by Kecleon Market as Marill and Azurill rush by to find their lost item&lt;br /&gt;
|&#039;&#039;&#039;T01P02A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m11a0501.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 513&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M11-05&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[13, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 10&lt;br /&gt;
|Grovyle tells Uxie he will be taking the third Time Gear&lt;br /&gt;
|&#039;&#039;&#039;V03P12A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m11a0707.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2200&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 12&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[13, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 10&lt;br /&gt;
|After the morning cheer, Loudred tells the partner and hero that they have visitors&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m12a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 518&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M12-02&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[13, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 10&lt;br /&gt;
|Entering Amp Plains&lt;br /&gt;
|&#039;&#039;&#039;D11P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m12a0201.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1723&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 523&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M12 First Time to Amp Clearing-2&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M12-04&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[13, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 10&lt;br /&gt;
|Entering Far Amp Plains from the rest stop&lt;br /&gt;
|&#039;&#039;&#039;D12P21A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m12a0601.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1730&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M12 Amp Clearing-2 Exploration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[13, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 10&lt;br /&gt;
|Boss fight against the Manectric tribe (first attempt)&lt;br /&gt;
|&#039;&#039;&#039;D12P41A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m12a0801.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[14, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 10&lt;br /&gt;
|Bidoof comes to find your team on the beach with Dusknoir, saying everyone is needed back at the guild &lt;br /&gt;
|&#039;&#039;&#039;T01P02A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m12a1201.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2205&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 13&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[14, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 11&lt;br /&gt;
|Back at the guild, you learn Grovyle is the one who’s been stealing all the  Time Gears&lt;br /&gt;
|&#039;&#039;&#039;G01P03A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m13a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1737&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 528&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M13 Capturing Grovyle is First&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M13-01&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[14, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 11&lt;br /&gt;
|Everyone is assigned locations to search for Time Gears&lt;br /&gt;
|&#039;&#039;&#039;G01P03A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m13a0301.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1744&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 533&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M13 First Time to Northern Desert&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M13-02&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[14, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 11&lt;br /&gt;
|Seems to trigger during morning cheers the next day if you did &amp;lt;u&amp;gt;NOT&amp;lt;/u&amp;gt; go to Northern Desert (i.e., if you completed another job instead of heading directly to Northern Desert to advance the plot)&lt;br /&gt;
|&#039;&#039;&#039;G01P07A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;enter01.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[14, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 11&lt;br /&gt;
|Entering Northern Desert&lt;br /&gt;
|&#039;&#039;&#039;D13P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m13a0401.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 538&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M13-04&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[14, 5];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 11&lt;br /&gt;
|Hero and partner make it through the Northern Desert and decide the quicksand pits are a dead end&lt;br /&gt;
|&#039;&#039;&#039;D14P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m13a0701.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[14, 6];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 11&lt;br /&gt;
|Hero thinks they should go back to the quicksand pits&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m13a0903.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2210&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 543&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 14&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M13-06&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[15, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 11&lt;br /&gt;
|Back at the quicksand pits, the hero sensibly decides that jumping into the quicksand is the best course of action &lt;br /&gt;
|&#039;&#039;&#039;D14P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m14a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 548&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M14-02&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[15, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 11&lt;br /&gt;
|Entering Quicksand Pit from the rest stop&lt;br /&gt;
|&#039;&#039;&#039;D15P21A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m14a0501.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1752&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M14 Quicksand Cave-2 Retry&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[15, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 11&lt;br /&gt;
|The hero and partner discover the Underground Lake, but are then challenged by Mesprit&lt;br /&gt;
|&#039;&#039;&#039;D15P41A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m14a0601.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[15, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 12&lt;br /&gt;
|Based on the hero’s vision, the guild decides to set out for Crystal Cave&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m14a0905.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 553&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M14-05&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[15, 99];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1055&#039;&#039;&lt;br /&gt;
|I never saw this getting used in regular gameplay, but when you set this value using the debug menu you’ll find yourself at the Hot Spring with Torkoal missing and half of the NPCs having the wrong character’s dialogue&lt;br /&gt;
|&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;Hot Spring Check&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[16, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 12&lt;br /&gt;
|Seems to trigger during morning cheers the next day if you did &amp;lt;u&amp;gt;NOT&amp;lt;/u&amp;gt; go to Crystal Cave (i.e., if you completed another job instead of heading directly to Crystal Cave to advance the plot)&lt;br /&gt;
|&#039;&#039;&#039;G01P07A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;enter01.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2216&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 558&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 15&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M15-01&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[16, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 12&lt;br /&gt;
|Entering Crystal Cave&lt;br /&gt;
|&#039;&#039;&#039;D16P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m15a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1759&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M15 Solve This!&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[16, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 12&lt;br /&gt;
|Your team finds the puzzle with the three colored crystals at the end of Crystal Cave&lt;br /&gt;
|&#039;&#039;&#039;D16P31A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m15a0401.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 563&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M15-02&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[17, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 12&lt;br /&gt;
|Hero and partner explain what happened at Crystal Lake to the guild, then Magnemite tells everyone to come to Treasure Town&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m15b1201.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2222&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 16&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[17, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 13&lt;br /&gt;
|Chapter 13 title card&lt;br /&gt;
(“Dusknoir’s Secret”)&lt;br /&gt;
|&#039;&#039;&#039;P01P01A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m16a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1769&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 568&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M16 Restrain Ourselves and Go Back&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M16-01&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[17, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 13&lt;br /&gt;
|Before going to bed, the partner reflects back on what Dusknoir had revealed to everyone&lt;br /&gt;
|&#039;&#039;&#039;G01P07C&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m16a0302.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[17, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 13&lt;br /&gt;
|Having heard no news about Grovyle’s capture, Chatot tells everyone to go about their regular work&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;m16a0401.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 573&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M16-03&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[17, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 13&lt;br /&gt;
|Before bed, the partner and hero wonder about the world of the future and if Grovyle has been captured yet &#039;&#039;(this is likely the night before you go to the future)&#039;&#039; &lt;br /&gt;
|&#039;&#039;&#039;G01P07C&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m16a0502.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[18, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 13&lt;br /&gt;
|Triggers immediately after you finish traveling through the Dimensional Hole into the future&lt;br /&gt;
|&#039;&#039;&#039;V16P02A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m16a0702.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2227&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 17&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[18, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 14&lt;br /&gt;
|Waking up in the future&lt;br /&gt;
|&#039;&#039;&#039;V17P03A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m17a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1777&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 578&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M17 Check the Doors&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M17-01&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[18, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 14&lt;br /&gt;
|The hero unsuccessfully tries to open the jail cell doors in the future&lt;br /&gt;
|&#039;&#039;&#039;P05P02A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m170201.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1781&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1784&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 583&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M17 To the Stockade&#039;&#039;&#039;&lt;br /&gt;
----(under “Others”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M17 First Time to Chasm Cave&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M17-02&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[18, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 14&lt;br /&gt;
|Grovyle decides to keep moving and leaves, meanwhile the partner struggles with the truth&lt;br /&gt;
|&#039;&#039;&#039;D18P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m17a0504.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1798&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M17 Chasm Cave Exploration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[18, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 14&lt;br /&gt;
|Triggers if you fail Chasm Cave&lt;br /&gt;
|&#039;&#039;&#039;D18P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m17a0701.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[19, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 14&lt;br /&gt;
|&lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under&lt;br /&gt;
&amp;lt;code&amp;gt;GETOUT_SCENARIO_DUNEGON&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 8965&#039;&#039;&lt;br /&gt;
|Seemingly gets skipped over upon clearing Chasm Cave, so I don’t know what specifically triggers this&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2232&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1805&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 18&#039;&#039;&#039;&lt;br /&gt;
----(under “Others”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M18 First Time to Dark Hill&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[19, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 14&lt;br /&gt;
|Triggers once you complete Chasm Cave (you are about to try and use the Dimensional Scream on the frozen waterfall)&lt;br /&gt;
|&#039;&#039;&#039;D19P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m18a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1812&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1819&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M18 Dark Hill Exploration&#039;&#039;&#039;&lt;br /&gt;
----(under “Others”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M18 First Time to Sealed Ruin&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[19, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 14&lt;br /&gt;
|Triggers after you complete Dark Hill, before the partner sees the lights from the stockade&lt;br /&gt;
|&#039;&#039;&#039;P06P01A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m18a0401.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1826&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1833&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M18 Sealed Ruin Exploration&#039;&#039;&#039;&lt;br /&gt;
----(under “Others”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M18 First Time to Sealed Ruin-2&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[19, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 14&lt;br /&gt;
|Entering Sealed Pit Ruin (for the first time)&lt;br /&gt;
|&#039;&#039;&#039;D21P21A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m18b0901.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1840&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M19 Sealed Ruin-2 Exploration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[19, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 14&lt;br /&gt;
|Triggers before your first attempt at the Spiritomb boss fight&lt;br /&gt;
|&#039;&#039;&#039;D21P41A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m18b1101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[20, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 15&lt;br /&gt;
|Triggers after Grovyle has explained the truth about the future and your team decides to follow him so they can  get home&lt;br /&gt;
|&#039;&#039;&#039;P07P01A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m18b1401.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2237&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 19&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[20, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 15&lt;br /&gt;
|Visual of the paralyzed future&lt;br /&gt;
|&#039;&#039;&#039;V17P03A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m19a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1847&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 588&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M19 First Time to Dusk Forest&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M19-01&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[20, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 15&lt;br /&gt;
|Entering Dusk Forest&lt;br /&gt;
|&#039;&#039;&#039;D22P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m19a0301.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1854&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1861&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M19 Dusk Forest Exploration&#039;&#039;&#039;&lt;br /&gt;
----(under “Others”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M19 First Time to Deep Dusk Forest&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[20, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 15&lt;br /&gt;
|While heading to the entrance to Deep Dusk Forest, Celebi explains the Passage of Time&lt;br /&gt;
|&#039;&#039;&#039;D23P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m19b0701.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1868&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M19 Deep Dusk Forest Exploration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[20, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 15&lt;br /&gt;
|Triggers if you fail Deep Dusk Forest&lt;br /&gt;
|&#039;&#039;&#039;D23P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m19b0901.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[21, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 15&lt;br /&gt;
|Traveling through the Passage of Time&lt;br /&gt;
|&#039;&#039;&#039;V16P02A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m19b1014.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2242&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 20&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[21, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 16&lt;br /&gt;
|After the chapter title card (“A New Dawn”), the hero, partner, and Grovyle all wake up on the beach back in the past&lt;br /&gt;
|&#039;&#039;&#039;D01P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m20a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1875&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 593&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M20 First Time to Treeshroud Forest&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M20-01&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[21, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 16&lt;br /&gt;
|Triggers once you say “Yes” to if you’re ready to enter Treeshroud Forest &lt;br /&gt;
|&#039;&#039;&#039;D24P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m20a0501.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1882&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M20 Treeshroud Forest Exploration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[22, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 16&lt;br /&gt;
|The hero and partner agree to go back to the guild for help&lt;br /&gt;
|&#039;&#039;&#039;D01P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m20a0901.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2247&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 21&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[22, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 17&lt;br /&gt;
|Hero and partner return to Wigglytuff’s Guild&lt;br /&gt;
|&#039;&#039;&#039;G01P01B&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m21a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[22, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 17&lt;br /&gt;
|Chatot gives everyone their orders (your team is supposed to go visit Torkoal)&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m21a0410.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1889&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 598&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M21 The Wise, Old Torkoal&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M21-02&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[22, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 17&lt;br /&gt;
|Morning briefing (if you didn’t go to the Hot Spring the previous day)&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m21a0520.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 603&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M21-04&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[23, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 17&lt;br /&gt;
|Before bed, the partner reflects on the meeting with Torkoal and wonders how Grovyle is doing&lt;br /&gt;
|&#039;&#039;&#039;G01P07C&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m21a0802.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2252&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 22&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[23, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 17&lt;br /&gt;
|Torkoal appears at the sentry gate&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m22a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 608&#039;&#039;&lt;br /&gt;
|(under “Dialogue Check”)&lt;br /&gt;
&#039;&#039;&#039;TALK-M22-02&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[23, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 17&lt;br /&gt;
|Torkoal is leaving the guild when he gets ambushed by Team Skull&lt;br /&gt;
|&#039;&#039;&#039;P01P01A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m22a0302.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1896&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1903&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 613&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M22 Dungeon Stop&#039;&#039;&#039;&lt;br /&gt;
----(under “Others”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M22 Let’s Stop by Sharpedo Bluff!&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M22-03&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[23, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 17&lt;br /&gt;
|Before entering the Sharpedo Bluff hideout, the partner wonders if Grovyle is back&lt;br /&gt;
|&#039;&#039;&#039;H01P99A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m22a0601.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1910&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1917&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 618&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M22 Re-read Letter&#039;&#039;&#039;&lt;br /&gt;
----(under “Others”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M22 Let’s Swing by the Beach&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M22-04&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[24, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 18&lt;br /&gt;
|Lapras talks to Wigglytuff&lt;br /&gt;
|&#039;&#039;&#039;P10P01A&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;m22a1004.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1924&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2257&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M23 First Time to Brine Cave&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main 23&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[24, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 18&lt;br /&gt;
|Wigglytuff has not yet returned, but Chatot plans to leave for Brine Cave as scheduled anyway&lt;br /&gt;
|&#039;&#039;&#039;G01P04A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m23a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1931&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1938&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 623&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M23 Brine Cave Exploration&#039;&#039;&#039;&lt;br /&gt;
----(under “Others”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M23 First Time to Brine Cave-2&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M23-02&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[24, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 18&lt;br /&gt;
|At the Lower Brine Cave midpoint, Team Skull steals the Relic Fragment from the partner and Chatot runs after them&lt;br /&gt;
|&#039;&#039;&#039;D26P21A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m23a0501.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1945&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M23 Brine Cave-2 Exploration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[24, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 18&lt;br /&gt;
|The hero and partner find Team Skull knocked out and Skuntank returns the Relic Fragment&lt;br /&gt;
|&#039;&#039;&#039;D26P31A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m23a0701.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[25, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 18&lt;br /&gt;
|Triggers at the end of the scene where the hero, partner, and Grovyle meet Lapras &lt;br /&gt;
|&#039;&#039;&#039;P11P01A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m23a1008.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2262&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 24&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[25, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 19&lt;br /&gt;
|Chapter 19 title card&lt;br /&gt;
(“To the Hidden Land”)&lt;br /&gt;
|&#039;&#039;&#039;G01P01C&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m24a0102.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1952&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 628&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M24 First Time to the Hidden Land&#039;&#039;&#039;&lt;br /&gt;
----(under “Dialogue Check”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TALK-M24-01&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[25, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 19&lt;br /&gt;
|Triggers upon entering the Hidden Land&lt;br /&gt;
|&#039;&#039;&#039;D27P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m24a0401.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1959&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;amp;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1966&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M24 The Hidden Land Exploration&#039;&#039;&#039;&lt;br /&gt;
----(under “Others”)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M24 First Time to the Hidden Land-2&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[25, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 19&lt;br /&gt;
|Triggers upon saying “Yes” to entering the Hidden Highland&lt;br /&gt;
|&#039;&#039;&#039;D28P21A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m24a0601.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1973&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M24 The Hidden Land-2 Exploration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[25, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 19&lt;br /&gt;
|Triggers upon entering the Old Ruins&lt;br /&gt;
|&#039;&#039;&#039;D28P32A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m24a0802.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[26, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 19&lt;br /&gt;
|&lt;br /&gt;
|Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under&lt;br /&gt;
&amp;lt;code&amp;gt;GETOUT_SCENARIO_DUNEGON&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 9031&#039;&#039;&lt;br /&gt;
|Seemingly gets skipped over after defeating Dusknoir, so I don’t know what specifically triggers this&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2269&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 25&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[26, 1];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 19&lt;br /&gt;
|Triggers right after defeating Dusknoir&lt;br /&gt;
|&#039;&#039;&#039;D28P44A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m25a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1980&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M25 First Time to Temporal Towe&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[26, 2];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
!Chapter 20&lt;br /&gt;
|Arriving at the entrance to Temporal Tower &lt;br /&gt;
|&#039;&#039;&#039;D29P11A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m25a0501.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 1987&#039;&#039;&lt;br /&gt;
|(under “Others”)&lt;br /&gt;
&#039;&#039;&#039;M25 Temporal Tower Exploration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[26, 3];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 20&lt;br /&gt;
|Triggers when you interact with the entrance to Temporal Tower (regardless of if you say you’re ready to go in or not)&lt;br /&gt;
|&#039;&#039;&#039;D29P11A&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;m25a0601.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[26, 4];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 20&lt;br /&gt;
|Arriving at the Temporal Tower midpoint&lt;br /&gt;
|&#039;&#039;&#039;D30P21A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m25a0801.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[26, 5];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 20&lt;br /&gt;
|Entering Temporal Spire&lt;br /&gt;
|&#039;&#039;&#039;D3021A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m25a0901.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[26, 6];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 20&lt;br /&gt;
|Reaching Temporal Pinnacle&lt;br /&gt;
|&#039;&#039;&#039;D30P41A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m25a1101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_MAIN = &#039;&#039;&#039;scn[27, 0];&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|Ch. 20&lt;br /&gt;
|Immediately after defeating Primal Dialga&lt;br /&gt;
|&#039;&#039;&#039;D30P41A&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;m26a0101.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;S02P01A&#039;&#039;&#039; (debug)&lt;br /&gt;
&amp;lt;code&amp;gt;m00a01a.ssb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 2276&#039;&#039;&lt;br /&gt;
----Found in &#039;&#039;&#039;unionall&#039;&#039;&#039; under&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;GETOUT_SCENARIO_DUNEGON&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;~ line 9055&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Main 26&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 0];&lt;br /&gt;
|Postgame&lt;br /&gt;
|End Screen Displayed&lt;br /&gt;
|m26a0806.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 1];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Graduation first announcement&lt;br /&gt;
|s01p0101.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 2];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Encounter Teddiursa and Ursaring&lt;br /&gt;
|s01p0201.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 3];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Entered Mystifying Forest&lt;br /&gt;
|s01p0301.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 4];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Beat Mystifying Forest&lt;br /&gt;
|s01p0601.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 5];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Graduating from the guild&lt;br /&gt;
|s01p1101.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 6];&lt;br /&gt;
|Postgame&lt;br /&gt;
|1 Mission Cleared&lt;br /&gt;
|unionall.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 7];&lt;br /&gt;
|Postgame&lt;br /&gt;
|1 Mission Cleared on a separate day&lt;br /&gt;
|unionall.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 8];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Cafe Describe Shaymin Village&lt;br /&gt;
|s31a0101.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 9];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Left the Cafe&lt;br /&gt;
|P01P04A enter01.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 10];&lt;br /&gt;
|Postgame&lt;br /&gt;
|First Time at Shaymin Village&lt;br /&gt;
|s31a0201.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 11];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Returned to Shaymin Village&lt;br /&gt;
|s31a0301.ssb AND s31a0401.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 12];&lt;br /&gt;
|Postgame&lt;br /&gt;
|First Time at 1st Station Clearing&lt;br /&gt;
|s31a0601.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 13];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Return to 1st Station Clearing&lt;br /&gt;
|s31a0701.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 14];&lt;br /&gt;
|Postgame&lt;br /&gt;
|First Time at 2nd Station Clearing&lt;br /&gt;
|s31a0901.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 15];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Return to 2nd Station Clearing&lt;br /&gt;
|s31a1001.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 16];&lt;br /&gt;
|Postgame&lt;br /&gt;
|First Time at 3rd Station Clearing&lt;br /&gt;
|s31a1201.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 17];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Return to 3rd Station Clearing&lt;br /&gt;
|s31a1301.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 18];&lt;br /&gt;
|Postgame&lt;br /&gt;
|First Time at 4th Station Clearing&lt;br /&gt;
|s31a1501.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 19];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Return to 4th Station Clearing&lt;br /&gt;
|s31a1601.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 20];&lt;br /&gt;
|Postgame&lt;br /&gt;
|First time at 5th Station Clearing&lt;br /&gt;
|s31a1901.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 21];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Returned to 5th Station Clearing&lt;br /&gt;
|s31a3801.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 22];&lt;br /&gt;
|Postgame&lt;br /&gt;
|First time at 6th Station Pass&lt;br /&gt;
|s31a2101.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 23];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Returned to 6th Station Clearing&lt;br /&gt;
|s31a2201.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 24];&lt;br /&gt;
|Postgame&lt;br /&gt;
|First Time at 7th Station Clearing&lt;br /&gt;
|s31a2401.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 25];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Return to 7th Station Clearing&lt;br /&gt;
|s31a2501.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 26];&lt;br /&gt;
|Postgame&lt;br /&gt;
|First Time at 8th Station Clearing&lt;br /&gt;
|s31a2801.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 27];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Return to 8th Station Clearing&lt;br /&gt;
|s31a2901.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 28];&lt;br /&gt;
|Postgame&lt;br /&gt;
|First Time at 9th Station Pass&lt;br /&gt;
|s31a3101.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 29];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Return to 9th Station Clearing&lt;br /&gt;
|s31a3201.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 30];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Lost to Grimer!&lt;br /&gt;
|s31a3401.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 31];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Grimer Defeated!&lt;br /&gt;
|s31a3701.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 32];&lt;br /&gt;
|Postgame&lt;br /&gt;
|1 day passes.&lt;br /&gt;
|unionall.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 33];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Blizzard Island Unlocked&lt;br /&gt;
|s02p0101.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 34];&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Globally Unused?&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 35];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Crevice Cave Opens&lt;br /&gt;
|s02p0201.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 36];&lt;br /&gt;
|Postgame&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Seemingly unused outside of quiz debug?&lt;br /&gt;
|m00a01a.ssb&lt;br /&gt;
|&amp;quot;S2 Crevice Cave Exploration &amp;amp; Return&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 37];&lt;br /&gt;
|Postgame&lt;br /&gt;
|About to Fight Froslass&lt;br /&gt;
|s02p0501.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 38];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Scizor is ABOUT to give Secret Rank&lt;br /&gt;
|s02p0702.ssb&lt;br /&gt;
|This is set at the beginning of s02p0702?&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 39];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Scizor Gives Secret Rank&lt;br /&gt;
|s02p0702.ssb&lt;br /&gt;
|This is set at the end of s02p0702?&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 40];&lt;br /&gt;
|Postgame&lt;br /&gt;
|1 mission complete!&lt;br /&gt;
|unionall.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 41];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Surround Sea Unlocked&lt;br /&gt;
|s03p0101.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 42];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Manaphy hatched.&lt;br /&gt;
|s03p0301.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 43];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Failed to find Blue Gummi #1&lt;br /&gt;
|s03p0401.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 44];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Fed Blue Gummi #1&lt;br /&gt;
|s03p0501.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 45];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Failed to find Blue Gummi #2&lt;br /&gt;
|s03p0601.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 46];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Manaphy is following?&lt;br /&gt;
|s03p0701.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 47];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Playing with Manaphy on beach&lt;br /&gt;
|s03p0901.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 48];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Chatot helps find Manaphy&lt;br /&gt;
|s03p1001.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 49];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Manaphy faints on beach&lt;br /&gt;
|s03p1301.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 50];&lt;br /&gt;
|Postgame&lt;br /&gt;
|One day passes&lt;br /&gt;
|unionall.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 51];&lt;br /&gt;
|Postgame&lt;br /&gt;
|About to fight Gyarados&lt;br /&gt;
|s03p1501.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 52];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Phione Dew Obtained!&lt;br /&gt;
|s03p1701.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 53];&lt;br /&gt;
|Postgame&lt;br /&gt;
|One day passes.&lt;br /&gt;
|unionall.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 54];&lt;br /&gt;
|Postgame&lt;br /&gt;
|2 missions complete!&lt;br /&gt;
|unionall.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 55];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Team Charm Arrives!&lt;br /&gt;
|s04p0101.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 56];&lt;br /&gt;
|Postgame&lt;br /&gt;
|One day passes.&lt;br /&gt;
|unionall.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 57];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Entered Ice Aegis Cave Hub&lt;br /&gt;
|s04p0201.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 58];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Beat Ice Aegis Cave&lt;br /&gt;
|s04p0301.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 59];&lt;br /&gt;
|Postgame&lt;br /&gt;
|About to fight Regice&lt;br /&gt;
|s04p0501.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 60];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Defeated Regice?&lt;br /&gt;
|s04p0701.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 61];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Completing Rock Aegis Cave for the first time&lt;br /&gt;
|s04p0901.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 62];&lt;br /&gt;
|Postgame&lt;br /&gt;
|About to fight Regirock&lt;br /&gt;
|s04p1001.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 63];&lt;br /&gt;
|Postgame&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Seemingly unused outside of quiz debug?&lt;br /&gt;
|m00a01a.ssb&lt;br /&gt;
|&amp;quot;S4 Stone Marker 3&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 64];&lt;br /&gt;
|Postgame&lt;br /&gt;
|About to fight Registeel&lt;br /&gt;
|s04p1301.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 65];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Registeel Defeated, Team Charm Saved&lt;br /&gt;
|s04p1401.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 66];&lt;br /&gt;
|Postgame&lt;br /&gt;
|About to fight Regigigas&lt;br /&gt;
|s04p1601.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 67];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Aegis Cave Complete!&lt;br /&gt;
|s04p1902.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 68];&lt;br /&gt;
|Postgame&lt;br /&gt;
|1 Mission Cleared&lt;br /&gt;
|unionall.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 69];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Hero/Partner wonder why they can&#039;t evolve&lt;br /&gt;
|s20p0101.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 70];&lt;br /&gt;
|Postgame&lt;br /&gt;
|&amp;quot;Cresselia&amp;quot; enters the hero&#039;s dream&lt;br /&gt;
|s20p0201.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 71];&lt;br /&gt;
|Postgame&lt;br /&gt;
|&amp;quot;Cresselia&amp;quot; enters the hero&#039;s dream again&lt;br /&gt;
|s20p0301.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 72];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Azurill is trapped in a nightmare&lt;br /&gt;
|s20p0501.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 73];&lt;br /&gt;
|Postgame&lt;br /&gt;
|One day passes?&lt;br /&gt;
|unionall.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 74];&lt;br /&gt;
|Postgame&lt;br /&gt;
|About to enter Mt. Trevail&lt;br /&gt;
|s20p0601.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 75];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Nightmare Unlocked&lt;br /&gt;
|s20p0701.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 76];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Nightmare entered&lt;br /&gt;
|s20p0902.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 77];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Nightmare is complete&lt;br /&gt;
|s20p1101.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 78];&lt;br /&gt;
|Postgame&lt;br /&gt;
|The guild begins investigating distortions of space&lt;br /&gt;
|s21p0101.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 79];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Hero convinces partner that disappearing isn&#039;t the answer&lt;br /&gt;
|s21p0201.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 80];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Asked Lapras about distortion of space&lt;br /&gt;
|s21p0301.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 81];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Palkia Kidnaps you&lt;br /&gt;
|s21p0601.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 82];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Failing Spacial Rift&lt;br /&gt;
|s21p0801.ssb AND s21p1401.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 83];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Beat Spacial Rift&lt;br /&gt;
|unionall.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 84];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Entered Deep Spacial Rift&lt;br /&gt;
|unionall.ssb AND s21p0901.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 85];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Beat Deep Spacial Rift&lt;br /&gt;
|s21p1101.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 86];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Beat Spacial Rift Bottom&lt;br /&gt;
|unionall.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 87];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Dark Crater is Unlocked&lt;br /&gt;
|s22p0401.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 88];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Entered Dark Crater&lt;br /&gt;
|s22p0501.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 89];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Beat Dark Crater&lt;br /&gt;
|unionall.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 90];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Entered Deep Dark Crater&lt;br /&gt;
|s22p0901.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 91];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Entered Dark Crater Pit&lt;br /&gt;
|s22p1101.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 92];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Darkrai Defeated&lt;br /&gt;
|s22p1501.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 93];&lt;br /&gt;
|Postgame&lt;br /&gt;
|3 Missions Cleared Since Darkrai&#039;s Defeat&lt;br /&gt;
|unionall.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 94];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Chatot Says Manaphy Returned&lt;br /&gt;
|s23p0101.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 95];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Manaphy Recruited!&lt;br /&gt;
|s23p0103.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 96];&lt;br /&gt;
|Postgame&lt;br /&gt;
|2 Days to Marine Resort Unlock&lt;br /&gt;
|unionall.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 97];&lt;br /&gt;
|Postgame&lt;br /&gt;
|1 Day to Marine Resort Unlock&lt;br /&gt;
|unionall.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN = scn[29, 98];&lt;br /&gt;
|Postgame&lt;br /&gt;
|Marine Resort Unlocked&lt;br /&gt;
|s11p0101.ssb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1415</id>
		<title>List of Script Variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1415"/>
		<updated>2026-01-18T07:56:47Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* 0x5c - EVENT_LOCAL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the variables available on the scripting engine. They can be read or written to from scripts.&lt;br /&gt;
&lt;br /&gt;
Some variables store a single value, whereas others can store multiple bitflags.&lt;br /&gt;
&lt;br /&gt;
== List of variables ==&lt;br /&gt;
&lt;br /&gt;
=== 0x0 - VERSION ===&lt;br /&gt;
Seems to be used to keep track of save file versions. It&#039;s stored in the save file when the game is saved. When loading a save file, if the version value in it doesn&#039;t match the value of this variable, the save file is deleted.&lt;br /&gt;
&lt;br /&gt;
=== 0x1 - CONDITION ===&lt;br /&gt;
Completely unused. Purpose unknown...&lt;br /&gt;
&lt;br /&gt;
=== 0x2 - SCENARIO_SELECT ===&lt;br /&gt;
Two indexed values determined via the Top Menu. These are referenced by Unionall for general control flow.&lt;br /&gt;
&lt;br /&gt;
To be a bit more specific, the first coroutine run after the Top Menu is EVENT_DIVIDE, which checks for these indexed values. In doing so, the game knows when to load scripts from maingame, a Special Episode, or Rescue mode.&lt;br /&gt;
&lt;br /&gt;
During mission rewards, the second index is used to track the index of the mission being processed in the job list.&lt;br /&gt;
&lt;br /&gt;
=== 0x3 - SCENARIO_MAIN ===&lt;br /&gt;
Stores game progress. The first value correlates with the MAIN value (mostly aligns with the story chapter), while the second is generally used to track progress within that MAIN. For the page detailing what these values mean, please see the [[Scenario Main Values]] article. &lt;br /&gt;
&lt;br /&gt;
=== 0x4 - SCENARIO_SIDE ===&lt;br /&gt;
Like SCENARIO_MAIN, but for special episode progress.&lt;br /&gt;
&lt;br /&gt;
=== 0x5 - SCENARIO_SUB1 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x6 - SCENARIO_SUB2 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x7 - SCENARIO_SUB3 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x8 - SCENARIO_SUB4 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x9 - SCENARIO_SUB5 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xa - SCENARIO_SUB6 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xb - SCENARIO_SUB7 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xc - SCENARIO_SUB8 ===&lt;br /&gt;
As far as is currently known, SCENARIO_SUB1 through SCENARIO_SUB8 are completely unused by the base-game! Perhaps they were intended to store side-quest progress of some sort?&lt;br /&gt;
&lt;br /&gt;
=== 0xd - SIDE02_TALK ===&lt;br /&gt;
Three bit flags that keeps track of the neighbors Igglybuff talked to in Special Episode 2&lt;br /&gt;
&lt;br /&gt;
=== 0xe - SIDE06_ROOM ===&lt;br /&gt;
Three bit flags that keeps track of the Limestone Cavern paths Team Charm visited in Special Episode 4&lt;br /&gt;
&lt;br /&gt;
=== 0xf - SIDE08_BOSS2ND ===&lt;br /&gt;
True if the player lose against Sableyes in Barren Valley Clearing in Special Episode 5&lt;br /&gt;
&lt;br /&gt;
=== 0x10 - SIDE01_BOSS2ND ===&lt;br /&gt;
True if Snover has betrayed bidoof in Special Episode 1. Used to determine whether Snover will be an ally in Star Cave or not.&lt;br /&gt;
&lt;br /&gt;
=== 0x11 - SCENARIO_MAIN_BIT_FLAG ===&lt;br /&gt;
Has many purposes, sometimes have hardcoded or technical effects, but not always.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Number&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Gets set to 1 right after waking up in the guild. Used for the game to determine when partner dialogue should be changed to just &amp;quot;Good morning, [hero]...&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Will end the current day if EVENT_DIVIDE is run.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Similar to 3. Seems to be related to missions&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Gets set to 1 if the player decides to go the wrong way during an expedition.&lt;br /&gt;
|-&lt;br /&gt;
|6, 7, 8&lt;br /&gt;
|Used to remember how the game was saved last.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Used in G01P04A/um07. When it&#039;s not set, the game spawns triggers. Upon walkng to them, Croagunk calls hero and partner to tell that the Croagunk Swap Shop is now opened.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do jobs.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do sentry duty. &lt;br /&gt;
|-&lt;br /&gt;
|12, 13&lt;br /&gt;
|Marowak Dojo First Entry/ Final Maze Opening&lt;br /&gt;
|-&lt;br /&gt;
|14-23&lt;br /&gt;
|Used in Marowak&#039;s Dojo. If none of them are set, the player finished all the dojo dungeons.&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|Gets set when the player finishes all dojo dungeons. Used to only show a cutscene about the full dojo completion once. &lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|Gets set to 0 before the check whether it&#039;s set to 1 or not during a cutscene after finishing the Final Maze.&lt;br /&gt;
|-&lt;br /&gt;
|26, 27&lt;br /&gt;
|Unused&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Gets set to 1 when the player finishes Final Maze. Used to give another cutscene if the Final Maze gets finished again. &lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|Gets set to 1 if the player decides to go back to the previous location(or back to the town) from the checkpoint.&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Seems to be used in TITLE_TEST to distinguish between Time and Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Gets set to 1 when the player presses Go Rescue for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Gets set to 1 when the player presses Standby Adventure for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|33-39&lt;br /&gt;
|Used after collecting one of the seven treasures. If none of them are set, the game gives a Seven Treasures collection checkmark.&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|Gets set if the player interacts with anything on the Pelipper Island. If set, the game will save upon leaving the island.&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Gets set to 1 when Chimecho tells hero and partner that they&#039;re now able to change team leader. Used to only show this cutscene once.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|Gets set to 1 when the partner says good morning to hero in Sharpedo Bluff, while $SCENARIO_MAIN is 29, 92. Used to only show this cutscene once, as it&#039;s called in coroutine EVENT_DIVIDE_AFTER, that is called really often.&lt;br /&gt;
|-&lt;br /&gt;
|43-45&lt;br /&gt;
|Aegis Cave&#039;s ice, rock and steel puzzles completion.&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|Gets set to 1 if the player Drifblim&#039;s Gondola. Used to show a cutscene where Drifblim thanks hero and partner for using his service.&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|Gets set to 1 when player talks with Ampharos about Sneasel&#039;s Sky Gift.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Gets set to 1 when the player gets Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|Gets set to 1 when the player leaves the station clearing after getting Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|50-60&lt;br /&gt;
|Sky Gift had been sent to Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk and partner respectively.&lt;br /&gt;
|-&lt;br /&gt;
|61&lt;br /&gt;
|Gets set to 1 when the player gives an item to Happiny.&lt;br /&gt;
|-&lt;br /&gt;
|62-73&lt;br /&gt;
|Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk, partner and Happiny respectively sent a Sky Gift to hero.&lt;br /&gt;
|-&lt;br /&gt;
|74-77&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station Clearing respectively. Happiny will always spawn on the 1st station if ITEM_BACKUP_GET = ITEM_BACKUP_TAKE.&lt;br /&gt;
|-&lt;br /&gt;
|78-81&lt;br /&gt;
|Used to decide whether Numel will appear on the 1st/3rd/5th/7th Station Clearing respectively. &lt;br /&gt;
|-&lt;br /&gt;
|82&lt;br /&gt;
|Gets set to 1 if the player already swapped items with Numel in the current attempt to climb to Sky Peak Summit.&lt;br /&gt;
|-&lt;br /&gt;
|83-87&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station/Summit Clearing respectively.&lt;br /&gt;
|-&lt;br /&gt;
|88&lt;br /&gt;
|Gets set to 1 when the player claims Jumpluff&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|89&lt;br /&gt;
|Used to decide whether Delibird should appear on the 9th Station Clearing. The chance of it being set is 50% each climbing attempt.&lt;br /&gt;
|-&lt;br /&gt;
|90&lt;br /&gt;
|Gets set to 1 when the player claims Delibird&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|91&lt;br /&gt;
|Gets set to 1 if the player gives an item to Heracross.&lt;br /&gt;
|-&lt;br /&gt;
|92&lt;br /&gt;
|Used to decide if a bottle should appear on the beach. The chance of it being set is 10%&lt;br /&gt;
|-&lt;br /&gt;
|93&lt;br /&gt;
|Used to decide if a client should appear in the cafe. The chance of it being set is 80%&lt;br /&gt;
|-&lt;br /&gt;
|94&lt;br /&gt;
|Gets set to 1 if the player receives a Gracidea.&lt;br /&gt;
|-&lt;br /&gt;
|95&lt;br /&gt;
|Gets set to 1 when Ursaring says that hero and partner can evolve.&lt;br /&gt;
|-&lt;br /&gt;
|96&lt;br /&gt;
|Gets set to 1 when Krabby says that bottles can appear on the beach.&lt;br /&gt;
|-&lt;br /&gt;
|97&lt;br /&gt;
|Gets set to 1 when Chimecho asks hero if recruits can stay at the cafe.&lt;br /&gt;
|-&lt;br /&gt;
|98&lt;br /&gt;
|Gets set to 1 in m00a01a. Doesn&#039;t seem to be used anywhere else.&lt;br /&gt;
|-&lt;br /&gt;
|99-127&lt;br /&gt;
|Unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12 - SCENARIO_TALK_BIT_FLAG ===&lt;br /&gt;
Up through [140] are in use, and they primarily exist to remember if the player has already talked with an NPC (therefore playing modified or shorter dialogue the second time around). For example, every merchant in treasure town comments on the player&#039;s accomplishments (like defeating Darkrai) the first time you talk to them. Whether that conversation has happened yet is tracked with SCENARIO_TALK_BIT_FLAG.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Number&lt;br /&gt;
!Used By&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Cafe Client&lt;br /&gt;
|P01P04A\enter11.ssb&lt;br /&gt;
|Used by the Cafe Client for the Gabite Mission, and the 7-Treasures Missions. In both Mission types, it&#039;s used to skip the lengthy exposition for the mission if the player declined the job earlier in the day. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Spoink&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Spoink&#039;s talk scripts. Used to remember if Spoink has given the player their helpful exploration tip about enemies not moving unless you do.&lt;br /&gt;
|-&lt;br /&gt;
|3-22&lt;br /&gt;
|Chimecho&lt;br /&gt;
|G01P03A&lt;br /&gt;
|Used in all of Chimecho&#039;s talk scripts. Flag 18 is unused!&lt;br /&gt;
|-&lt;br /&gt;
|23, 24, 26&lt;br /&gt;
|Dugtrio&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Dugtrio&#039;s talk scripts. Flag 25 is unused! Likely related to triggering CORO_EVENT_M00_04.&lt;br /&gt;
|-&lt;br /&gt;
|27, 28&lt;br /&gt;
|Pink Celebi&lt;br /&gt;
|D23P11A\um19&lt;br /&gt;
|Used in both Celebi talk scripts for the player to probe deeper about her not minding that she gets to spend more time with grovyle.&lt;br /&gt;
|-&lt;br /&gt;
|29-40&lt;br /&gt;
|Croagunk&lt;br /&gt;
|G01P04A\enter05.ssb&lt;br /&gt;
|Flags 36 and 38 are unused! By mistake, 37 and 39 are used two separate times for Croagunk&#039;s dialogue!&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Cresselia&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Cresselia&#039;s talk scripts. Used to remember if the player has rejected recruiting her to the team. Intended to only appear in H01P99A.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|-&lt;br /&gt;
|43-47&lt;br /&gt;
|Lapras&lt;br /&gt;
|D01P01A&lt;br /&gt;
|Used in all of Lapras&#039; talk scripts.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Vigoroth&lt;br /&gt;
|T01P02A&lt;br /&gt;
|Used for Vigoroth to give a shortened advertisement for the Marowak Dojo. Apparently he&#039;s &amp;quot;sponsored&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|49, 50&lt;br /&gt;
|Chatot&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Chatot&#039;s talk scripts. Used for dialogue relating to the player going to Amp Plains. Intended to only appear in G01P04A.&lt;br /&gt;
|-&lt;br /&gt;
|51-59&lt;br /&gt;
|Electivire&lt;br /&gt;
|T01P01A\enter06.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|60-62&lt;br /&gt;
|Marowak (Main Story)&lt;br /&gt;
|T01P03A\enter07.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|63-71&lt;br /&gt;
|Kangaskhan&lt;br /&gt;
|T01P02A\enter10.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|72-83&lt;br /&gt;
|Green Kecleon&lt;br /&gt;
|T01P02A\enter12.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|84-95&lt;br /&gt;
|Purple Kecleon&lt;br /&gt;
|T01P02A\enter11.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|96-102&lt;br /&gt;
|Xatu&lt;br /&gt;
|T01P02A\enter09.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|103-109&lt;br /&gt;
|Chansey&lt;br /&gt;
|T01P01A\enter07.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|110-118&lt;br /&gt;
|Duskull&lt;br /&gt;
|T01P01A\enter05.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|119&lt;br /&gt;
|Pelipper (Rescue)&lt;br /&gt;
|S01P02A\enter02.ssb&lt;br /&gt;
|Used to remember if the player has ever been &amp;quot;welcomed&amp;quot; to Pelipper Island before after selecting &amp;quot;Go Rescue&amp;quot; on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
|120&lt;br /&gt;
|Pelipper (Explore)&lt;br /&gt;
|S01P02A\enter07.ssb&lt;br /&gt;
|Used to remember if the player has ever been &amp;quot;welcomed&amp;quot; to Pelipper Island before after selecting &amp;quot;Standby Adventure&amp;quot; on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
|121&lt;br /&gt;
|Partner&lt;br /&gt;
|Various&lt;br /&gt;
|Somewhat unclear. Seems to be some kind of game progress, possibly whether or not the partner has (through some means) told the hero that they want to check back on Sharpedo Bluff for Grovyle. Spawns a trigger in T02P02A if enabled.&lt;br /&gt;
|-&lt;br /&gt;
|122&lt;br /&gt;
|Shaymin (Guide)&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Shaymin&#039;s talk scripts throughout the mountain. Remembers if the player has rejected recruiting them to the team. Likely only intended to appear at the summit?&lt;br /&gt;
|-&lt;br /&gt;
|123&lt;br /&gt;
|Shaymin (Sky Gift)&lt;br /&gt;
|D73P11A&lt;br /&gt;
|Used to remember if Shaymin has told the player about Sky Gift delivery.&lt;br /&gt;
|-&lt;br /&gt;
|124&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|-&lt;br /&gt;
|125&lt;br /&gt;
|Pachirisu&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Pachirisu&#039;s talk scripts. Remembers if the player has received a Sky Gift from Pachirisu or not. Likely intended to be used somewhere on the mountain.&lt;br /&gt;
|-&lt;br /&gt;
|126&lt;br /&gt;
|Marowak (Bidoof) &lt;br /&gt;
|T01P03A\enter08.ssb&lt;br /&gt;
|Used to remember if Bidoof has claimed Marowak&#039;s Reviver Seed in the special episode. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|127&lt;br /&gt;
|Kangakshan (Bidoof) &lt;br /&gt;
|T01P02A\un0103.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Kangaskhan in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|128&lt;br /&gt;
|Duskull (Bidoof)&lt;br /&gt;
|T01P01A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Duskull in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|129&lt;br /&gt;
|Green Kecleon (Bidoof)&lt;br /&gt;
|T01P02A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Green Kecleon in the episode before. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|130&lt;br /&gt;
|Purple Kecleon (Bidoof)&lt;br /&gt;
|T01P02A\un0102.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Purple Kecleon in the episode before.  Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|131&lt;br /&gt;
|Wigglytuff (Bidoof)&lt;br /&gt;
|G01P05A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Wigglytuff after unlocking Deep Star Cave in the episode before. Runs CORO_EVENT_N00_01 if not.  &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|132&lt;br /&gt;
|Bidoof (Sunflora)&lt;br /&gt;
|G01P03A\un0401.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Bidoof in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|133&lt;br /&gt;
|Chimecho (Sunflora)&lt;br /&gt;
|G01P03A\un0402.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Chimecho in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|134&lt;br /&gt;
|Dugtrio (Sunflora)&lt;br /&gt;
|H01P99A\un0401.ssb&lt;br /&gt;
|Used to remeber if Sunflora has talked with Dugtrio in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|135&lt;br /&gt;
|Kangaskhan (Sunflora)&lt;br /&gt;
|T01P02A\un0404.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Kangaskhan in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|136&lt;br /&gt;
|Green Kecleon (Sunflora)&lt;br /&gt;
|T01P02A\un0406.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Green Kecleon in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|137&lt;br /&gt;
|Purple Kecleon (Sunflora)&lt;br /&gt;
|T01P02A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Purple Kecleon in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|138&lt;br /&gt;
|Vigoroth (Sunflora)&lt;br /&gt;
|T01P01A\un0404.ssb&lt;br /&gt;
|Used to remember if Sunflora was advertised to by Vigoroth in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|139&lt;br /&gt;
|Team Flame (Sunflora)&lt;br /&gt;
|G01P03A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora talked with Bellsprout of Team Flame in the episode before. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|140&lt;br /&gt;
|Duskull (Sunflora)&lt;br /&gt;
|T01P01A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora talked with Duskull in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|141+&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13 - SCENARIO_BALANCE_FLAG ===&lt;br /&gt;
Starts at 0 and gets increased as the player completes certain story events. Controls bag size, Wynaut/Spinda dungeon unlocks, and the spawn threshold value of pokémon, which restricts spawning of some species until this variable reaches a certain value. Is also used as a general game progression marker by other things, restriction certain mission types, the croagunk swap shop being able to contain a water float, and other things like that. &lt;br /&gt;
&lt;br /&gt;
==== Value changes ====&lt;br /&gt;
This table lists the exact story spots where the value of the flag is increased.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Story chapter&lt;br /&gt;
!Story event&lt;br /&gt;
!Scene&lt;br /&gt;
!Script&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|Start of a new game&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|3&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V03P12A&lt;br /&gt;
|m03a1314.ssb&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|6&lt;br /&gt;
|Expedition members are announced&lt;br /&gt;
|G01P04A&lt;br /&gt;
|m08a0301.ssb&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|9&lt;br /&gt;
|End of chapter&lt;br /&gt;
|P04P01C&lt;br /&gt;
|m10a1213.ssb&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|13&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V16P02A&lt;br /&gt;
|m16a0702.ssb&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|15&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V19P06A&lt;br /&gt;
|m19b1014.ssb&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Post-game 1&lt;br /&gt;
|After graduating and moving to Sharpedo Bluff&lt;br /&gt;
|H02P99A&lt;br /&gt;
|s01p1103.ssb&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Game complete&lt;br /&gt;
|The Ursarings tell Hero and Partner they can evolve&lt;br /&gt;
(After unlocking Marine Resort) &lt;br /&gt;
|T01P01A&lt;br /&gt;
|m00p1401.ssb&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Bag size ====&lt;br /&gt;
This table lists the maximum bag size depending on the current value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Bag size&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|48&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|48&lt;br /&gt;
|}&lt;br /&gt;
Values higher than 7 will read garbage data and cause crashes.&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;PERFORMANCE_PROGRESS_LIST[2]&amp;lt;/code&amp;gt; is 0, the bag will only have 1 slot, regardless of the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x14 - SCENARIO_BALANCE_DEBUG ===&lt;br /&gt;
If &amp;gt;= 0, overrides the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x15 - CRYSTAL_COLOR_01 ===&lt;br /&gt;
Used to keep track of the current color of the first crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x16 - CRYSTAL_COLOR_02 ===&lt;br /&gt;
Used to keep track of the current color of the second crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x17 - CRYSTAL_COLOR_03 ===&lt;br /&gt;
Used to keep track of the current color of the third crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
Outside of this puzzle, these 3 variables are completely unused by the base game!&lt;br /&gt;
&lt;br /&gt;
=== 0x18 - COMPULSORY_SAVE_POINT ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in the main story.&lt;br /&gt;
&lt;br /&gt;
=== 0x19 - COMPULSORY_SAVE_POINT_SIDE ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in special episode.&lt;br /&gt;
&lt;br /&gt;
=== 0x1a - SCENARIO_SELECT_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x1b - SCENARIO_MAIN_BIT_FLAG_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused, and is a huge list of flags that can be used locally, or in places the player is unable to save!&lt;br /&gt;
&lt;br /&gt;
=== 0x1c - GROUND_ENTER ===&lt;br /&gt;
The map ID the player is currently in the enter scene for.&lt;br /&gt;
&lt;br /&gt;
=== 0x1d - GROUND_ENTER_LINK ===&lt;br /&gt;
Set to zero by EVENT_FORMATION. Purpose Unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x1e - GROUND_GETOUT ===&lt;br /&gt;
The map ID of the enter scene the player was on before the current one. Usually used to decide where the player should enter from on the next map. &lt;br /&gt;
&lt;br /&gt;
=== 0x1f - GROUND_MAP ===&lt;br /&gt;
The map ID of the map currently rendered. Usually this is identical to GROUND_ENTER, unless the map that was loaded changes (Such as P01P01A changing to P01P03A when the cafe is unlocked). &lt;br /&gt;
&lt;br /&gt;
=== 0x20 - GROUND_PLACE ===&lt;br /&gt;
Determines the index for the map marker on the top-screen world map.&lt;br /&gt;
&lt;br /&gt;
=== 0x21 - GROUND_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x22 - GROUND_ENTER_LINK_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER_LINK used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x23 - GROUND_GETOUT_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_GETOUT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x24 - GROUND_MAP_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_MAP used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x25 - GROUND_PLACE_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_PLACE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x26 - DUNGEON_SELECT ===&lt;br /&gt;
The dungeon ID selected by the crossroads. Possibly reused elsewhere. &lt;br /&gt;
&lt;br /&gt;
=== 0x27 - DUNGEON_ENTER ===&lt;br /&gt;
Stores the dungeon ID the player enters, but only in DMODE_OPEN or DMODE_CLOSED. Otherwise, may be set to 214 or 215.  &lt;br /&gt;
&lt;br /&gt;
DUNGEON_ENTER_INDEX is a more reliable tracker of the dungeon ID.  &lt;br /&gt;
&lt;br /&gt;
=== 0x28 - DUNGEON_ENTER_MODE ===&lt;br /&gt;
Seems to be the DMODE of the dungeon being entered. &lt;br /&gt;
&lt;br /&gt;
=== 0x29 - DUNGEON_ENTER_INDEX ===&lt;br /&gt;
Is written on selecting a dungeon from the crossroads (and probably elsewhere). Generally used by the base game to remember the dungeon ID that the player is about to enter or has just exited. &lt;br /&gt;
&lt;br /&gt;
=== 0x2a - DUNGEON_ENTER_FREQUENCY ===&lt;br /&gt;
A running total of how many times the player has entered any dungeon. &lt;br /&gt;
&lt;br /&gt;
=== 0x2b - DUNGEON_RESULT ===&lt;br /&gt;
Stores how the dungeon was exited. Typically GROUND_START_MODE also stores this information, though that has other uses in ground mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Dungeon was cleared&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Escape Orb Used&lt;br /&gt;
|-&lt;br /&gt;
|Other&lt;br /&gt;
|Defeated in Dungeon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x2c - GROUND_START_MODE ===&lt;br /&gt;
The &amp;quot;mode&amp;quot; the game is in when it enters Ground Mode. Uses the same values as DUNGEON_RESULT when exiting a dungeon, but other values appear to be present. coroutine EVENT_FORMATION assigns it to 3, for unknown reasons.&lt;br /&gt;
&lt;br /&gt;
=== 0x2d - DUNGEON_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2e - DUNGEON_ENTER_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2f - DUNGEON_ENTER_INDEX_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_INDEX used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x30 - DUNGEON_ENTER_FREQUENCY_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_FREQUENCY used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x31 - DUNGEON_RESULT_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_RESULT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x32 - GROUND_START_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_START_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x33 - REQUEST_CLEAR_COUNT ===&lt;br /&gt;
Stores the number of jobs the player has completed at certain points in the story to determine when the next story event will occur. Will never increment above 100 in the base game.&lt;br /&gt;
&lt;br /&gt;
=== 0x34 - PLAYER_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_PLAYER when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ACTOR_ATTENDANT_BIPPA&lt;br /&gt;
|Bidoof&lt;br /&gt;
|Special Episode 1&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|ACTOR_ATTENDANT_PUPURIN&lt;br /&gt;
|Igglybuff&lt;br /&gt;
|Special Episode 2&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ACTOR_ATTENDANT_KIMAWARI&lt;br /&gt;
|Sunflora&lt;br /&gt;
|Special Episode 3&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ACTOR_ATTENDANT_FUTURE&lt;br /&gt;
|Grovyle&lt;br /&gt;
|Special Episode 5&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ACTOR_ATTENDANT_CHARMS&lt;br /&gt;
|Lopunny&lt;br /&gt;
|Special Episode 4&lt;br /&gt;
|-&lt;br /&gt;
|9+&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x35 - ATTENDANT1_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT1 (and possibly other related actors) when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5-9&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ACTOR_ATTENDANT_MANAFI&lt;br /&gt;
|Manaphy&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x36 - ATTENDANT2_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT2 when displayed.&lt;br /&gt;
&lt;br /&gt;
Will be &amp;quot;Nothing&amp;quot; unless it is 10, in which case Manaphy will slowly follow ATTENDANT1_KIND&lt;br /&gt;
&lt;br /&gt;
=== 0x37 - PLAYER_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of PLAYER_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x38 - ATTENDANT1_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT1_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x39 - ATTENDANT2_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT2_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x3a - FRIEND_SUM ===&lt;br /&gt;
When called by LoadScriptVariableValue(), will always return 1. Seems unused outside of this.&lt;br /&gt;
&lt;br /&gt;
=== 0x3b - UNIT_SUM ===&lt;br /&gt;
In a switch case, will return the number of pokemon in the active team. Cannot be written to, only read. Skytemple&#039;s Variable reader will mistakenly read this as zero, as the script variable slot itself is unused, and the number of team members is a hardcoded return from LoadScriptVariable. &lt;br /&gt;
&lt;br /&gt;
=== 0x3c - CARRY_GOLD ===&lt;br /&gt;
Stores the current amount of money carried by the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x3d - BANK_GOLD ===&lt;br /&gt;
Stores the current amount of money stored in Duskull&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
=== 0x3e - HERO_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial hero starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x3f - HERO_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial hero starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x40 - PARTNER_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial partner starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x41 - PARTNER_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial partner starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x42 - HERO_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the hero will use. In base game, only 4 and 5 are used for HERO_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Hero Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Male Pokemon&lt;br /&gt;
|Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Female/Genderless Pokemon&lt;br /&gt;
|Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x43 - PARTNER_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the partner will use. In base game, only 1, 2, and 3 are used for PARTNER_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Partner Species&lt;br /&gt;
!Use Case&lt;br /&gt;
!Example Dialogue Use&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Squirtle, Totodile, Chimchar, Meowth or Munchlax&lt;br /&gt;
|More &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|No more wimping out. I have to be brave today.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|All other Male Species&lt;br /&gt;
|Less &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. I have to steel my courage today.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|All female Species&lt;br /&gt;
|Least &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. Today I’m going to be brave.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x44 - RANDOM_REQUEST_NPC03_KIND ===&lt;br /&gt;
Determines the species of ACTOR_RANDOM_REQUEST_NPC03, or the Spinda Cafe client Pokémon. It is either a random Pokémon, Magnemite, or Togetic, depending on the mission.&lt;br /&gt;
&lt;br /&gt;
=== 0x45 - CONFIG_COLOR_KIND ===&lt;br /&gt;
The aura bow color determined by the personality quiz at the beginning of the game. Only ever used by wigglytuff to determine the color of aura bow given to the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x46 - ROM_VARIATION ===&lt;br /&gt;
Unknown, but hardcoded to zero.&lt;br /&gt;
&lt;br /&gt;
=== 0x47 - LANGUAGE_TYPE ===&lt;br /&gt;
Stores the language from DS Firmware. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Language&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Japanese&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|English&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|French&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|German&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Italian&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Spanish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x48 - GAME_MODE ===&lt;br /&gt;
Keeps track of the current game mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!ID&lt;br /&gt;
!Mode&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Top menu&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Normal play, including overworld and dungeons&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Special episode&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Rescue&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
There might be more valid values.&lt;br /&gt;
&lt;br /&gt;
=== 0x49 - EXECUTE_SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active. The base-game prefers this variable over SPECIAL_EPISODE_TYPE, though it is unknown if they differ at all.&lt;br /&gt;
&lt;br /&gt;
=== 0x4a - SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active, just like EXECUTE_SPECIAL_EPISODE_TYPE.&lt;br /&gt;
&lt;br /&gt;
=== 0x4b - SPECIAL_EPISODE_OPEN ===&lt;br /&gt;
Keeps track of what Special Episodes are unlocked.&lt;br /&gt;
&lt;br /&gt;
The following is the list of scripts where the Special Episodes are unlocked in the base-game:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[0] (Bidoof&#039;s Wish): V03P12A - m03a1314&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[1] (Igglybuff the Prodigy): P04P01C - m10a1213&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[2] (Today&#039;s Oh My Gosh): G01P04A - m16a0105&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[3] (Here Comes Team Charm!): D01P11A - m20a0101&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[4] (In the Future of Darkness): H02P99A - s01p1103&lt;br /&gt;
&lt;br /&gt;
=== 0x4c - SPECIAL_EPISODE_OPEN_OLD ===&lt;br /&gt;
Keeps track of what Special Episodes were started. Used to show an exclamation mark if the episode is opened but wasn&#039;t started.&lt;br /&gt;
&lt;br /&gt;
=== 0x4d - SPECIAL_EPISODE_CONQUEST ===&lt;br /&gt;
Keeps track of what Special Episodes did the player finished. Also unlocks the Special Episode&#039;s respective Clear Icons.&lt;br /&gt;
&lt;br /&gt;
Note: This specific script variable is not in any script. It is actually triggered by an &#039;&#039;&#039;adventure_log&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
The following is the list of the &#039;&#039;&#039;adventure_log&#039;&#039;&#039; that triggers this Script Variable and its location for each Special Episode:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[0] (Bidoof&#039;s Wish): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1000; in S04P01A - n03a3103&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[1] (Igglybuff the Prodigy): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1001; in S04P01A - n03a1704&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[2] (Today&#039;s Oh My Gosh): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1002; in S04P01A - n04a2606&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[3] (Here Comes Team Charm!): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1003; in S04P01A - n06a3909&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[4] (In the Future of Darkness): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1004; in S04P01A - n09a2212&lt;br /&gt;
&lt;br /&gt;
=== 0x4e - PERFORMANCE_PROGRESS_LIST ===&lt;br /&gt;
List of flags used to keep track of unlocked features and achievements. See [[Performance Progress Flags]] for the full list.&lt;br /&gt;
&lt;br /&gt;
=== 0x4f - DUNGEON_OPEN_LIST ===&lt;br /&gt;
List of unlocked dungeons. One bit per dungeon ID. If true, and the dungeon isn&#039;t on some blacklist, you can enter this dungeon from the crossroads/dojo/igglybuff&#039;s house/pelipper standby adventure. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_OPEN or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
=== 0x50 - DUNGEON_ENTER_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. This is checked at [NA]0x204CEE0, but never assigned. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x51 - DUNGEON_ARRIVE_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x52 - DUNGEON_CONQUEST_LIST ===&lt;br /&gt;
List of completed dungeons. One bit per dungeon ID. Automatically set on clearing any dungeon. &lt;br /&gt;
&lt;br /&gt;
In many cases, this bitfield renders other flags or variables redundant in a vanilla setting, especially certain $PERFORMANCE_PROGRESS_LIST flags that are always enabled after clearing certain dungeons for the first time. &lt;br /&gt;
&lt;br /&gt;
=== 0x53 - DUNGEON_PRESENT_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x54 - DUNGEON_REQUEST_LIST ===&lt;br /&gt;
List of dungeons that no longer have story progression. On completing a dungeon with this bit enabled, the player will enter [INSERT THE RIGHT COROUTINE HERE] in unionall. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_REQUEST or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
Contrary to the name, this field alone is insufficient for missions to show up on the job board! Only dungeon in DMODE_OPEN_AND_REQUEST can have missions, and other (hardcoded) conditions must be met. &lt;br /&gt;
&lt;br /&gt;
=== 0x55 - WORLD_MAP_MARK_LIST_NORMAL ===&lt;br /&gt;
Is adequately sized for the number of World Map Markers. Presumed Unused.&lt;br /&gt;
&lt;br /&gt;
=== 0x56 - WORLD_MAP_MARK_LIST_SPECIAL ===&lt;br /&gt;
Is adequately sized for the number of World Map Markers. Presumed Unused.&lt;br /&gt;
&lt;br /&gt;
=== 0x57 - WORLD_MAP_LEVEL ===&lt;br /&gt;
Seems to be used to track the area covered by clouds on the world map. &lt;br /&gt;
&lt;br /&gt;
=== 0x58 - POSITION_X ===&lt;br /&gt;
Stores the X-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x59 - POSITION_Y ===&lt;br /&gt;
Stores the Y-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5a - POSITION_HEIGHT ===&lt;br /&gt;
Stores the Z-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5b - POSITION_DIRECTION ===&lt;br /&gt;
Stores the direction an entity is facing when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5c - EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game, and is reset between acting scripts.&lt;br /&gt;
&lt;br /&gt;
=== 0x5d - DUNGEON_EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game (possibly while within dungeons?), and is reset between scripts. &lt;br /&gt;
&lt;br /&gt;
=== 0x5e - STATION_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x5f - STATION_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x60 - DELIVER_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x61 - DELIVER_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x62 - BIT_FUWARANTE_LOCAL ===&lt;br /&gt;
Keeps track of the Sky Peak stations the player visited. Used in the script for Drifblim&#039;s Gondola.&lt;br /&gt;
&lt;br /&gt;
=== 0x63 - LOTTERY_RESULT ===&lt;br /&gt;
Used to track what result should occur during the Recycle Shop Prize Ticket Lottery. Has no other use.&lt;br /&gt;
&lt;br /&gt;
=== 0x64 - ITEM_BACKUP ===&lt;br /&gt;
Unlikely to be a backup flag. Conveniently sized for item_GetVariable to extract the item ID and metadata.&lt;br /&gt;
&lt;br /&gt;
Used exclusively by the debug town. Unused in the context of vanilla EoS.&lt;br /&gt;
&lt;br /&gt;
=== 0x65 - ITEM_BACKUP_KUREKURE ===&lt;br /&gt;
Happiny requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x66 - ITEM_BACKUP_TAKE ===&lt;br /&gt;
Numel requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x67 - ITEM_BACKUP_GET ===&lt;br /&gt;
Numel gives this item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x68 - REQUEST_THANKS_RESULT_KIND ===&lt;br /&gt;
Stores the mission type of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x69 - REQUEST_THANKS_RESULT_VARIATION ===&lt;br /&gt;
Stores the mission subtype of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x6a - SUB30_TREASURE_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a treasure was found. &lt;br /&gt;
&lt;br /&gt;
=== 0x6b - SUB30_SPOT_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a new unexplored area was discovered. &lt;br /&gt;
&lt;br /&gt;
=== 0x6c - RECYCLE_COUNT ===&lt;br /&gt;
Stores the number of recycles the player has done. Is only updated by the base-game at the end of each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x6d - SUB30_SPOT_LEVEL ===&lt;br /&gt;
Keeps track of what dungeon was discovered by Project P. &lt;br /&gt;
&lt;br /&gt;
=== 0x6e - TEAM_RANK_EVENT_LEVEL ===&lt;br /&gt;
Updated by message_Menu(76) to the current guild rank. In vanilla, this only seems to happen on clearing a mission.  &lt;br /&gt;
&lt;br /&gt;
=== 0x6f - PLAY_OLD_GAME ===&lt;br /&gt;
True if the player answered yes to the question on the personality quiz that asks if you played Explorers of Time or Darkness. Increases the recruit rate of certain pokémon if you haven&#039;t recruited them yet.&lt;br /&gt;
&lt;br /&gt;
=== 0x70 - NOTE_MODIFY_FLAG ===&lt;br /&gt;
If true, the player will be forced to save on leaving Pelipper island. Likely indicative of whether a rescue has been attempted?&lt;br /&gt;
&lt;br /&gt;
=== 0x71 - SUB30_PROJECTP ===&lt;br /&gt;
If true, the player has viewed the Project P cutscene, and the recycle shop is capable of being upgraded.&lt;br /&gt;
&lt;br /&gt;
=== 0x72 - SUM ===&lt;br /&gt;
Seems to be a marker of the end of &amp;quot;normal&amp;quot; script variables.&lt;br /&gt;
&lt;br /&gt;
=== 0x400 - LOCAL0 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL0 in def 0 is distinct from $LOCAL0 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x401 - LOCAL1 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL1 indef 0 is distinct from $LOCAL1 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x402 - LOCAL2 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
=== 0x403 - LOCAL3 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
== Variable Lengths ==&lt;br /&gt;
Not all variables can store the same sized values! Some were allocated to be different sizes than others. Besides the standard sizes, there are 2 unusual variable sizes worth mentioning. &amp;quot;special&amp;quot; variable sizes are not stored in the same place as every other variable, and instead read some other value, such as the number of money the player currently has, or the current language of the ROM. &amp;quot;None&amp;quot; size is only used by the &amp;quot;SUM&amp;quot; variable, and has no allocated space at all. Below are a list of variables, their sizes, and how many there are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Variable&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Size&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Count&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|VERSION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONDITION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB1&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB2&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB3&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB4&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB5&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB6&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB7&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB8&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE02_TALK&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE06_ROOM&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE08_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE01_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x80 (128)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_TALK_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_FLAG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_DEBUG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_01&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_02&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_03&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG_BACKUP&lt;br /&gt;
|bit&lt;br /&gt;
|0x200 (512)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_SELECT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY&lt;br /&gt;
|uint16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY_BACKUP&lt;br /&gt;
|uint16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_CLEAR_COUNT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|FRIEND_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|UNIT_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CARRY_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|BANK_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RANDOM_REQUEST_NPC03_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_COLOR_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ROM_VARIATION&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LANGUAGE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GAME_MODE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|EXECUTE_SPECIAL_EPISODE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_TYPE&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN_OLD&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_CONQUEST&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|PERFORMANCE_PROGRESS_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x40 (64)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_OPEN_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ARRIVE_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_CONQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_PRESENT_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_REQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_NORMAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_SPECIAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_X&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_Y&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_HEIGHT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_DIRECTION&lt;br /&gt;
|int8&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|BIT_FUWARANTE_LOCAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|LOTTERY_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_KUREKURE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_TAKE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_GET&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_VARIATION&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_TREASURE_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RECYCLE_COUNT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|TEAM_RANK_EVENT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAY_OLD_GAME&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|NOTE_MODIFY_FLAG&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_PROJECTP&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUM&lt;br /&gt;
|none&lt;br /&gt;
|0x0 (0)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL0&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL1&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL2&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL3&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1414</id>
		<title>List of Script Variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1414"/>
		<updated>2026-01-18T07:40:45Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: UNIT_SUM is the number of members on the active team!!!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the variables available on the scripting engine. They can be read or written to from scripts.&lt;br /&gt;
&lt;br /&gt;
Some variables store a single value, whereas others can store multiple bitflags.&lt;br /&gt;
&lt;br /&gt;
== List of variables ==&lt;br /&gt;
&lt;br /&gt;
=== 0x0 - VERSION ===&lt;br /&gt;
Seems to be used to keep track of save file versions. It&#039;s stored in the save file when the game is saved. When loading a save file, if the version value in it doesn&#039;t match the value of this variable, the save file is deleted.&lt;br /&gt;
&lt;br /&gt;
=== 0x1 - CONDITION ===&lt;br /&gt;
Completely unused. Purpose unknown...&lt;br /&gt;
&lt;br /&gt;
=== 0x2 - SCENARIO_SELECT ===&lt;br /&gt;
Two indexed values determined via the Top Menu. These are referenced by Unionall for general control flow.&lt;br /&gt;
&lt;br /&gt;
To be a bit more specific, the first coroutine run after the Top Menu is EVENT_DIVIDE, which checks for these indexed values. In doing so, the game knows when to load scripts from maingame, a Special Episode, or Rescue mode.&lt;br /&gt;
&lt;br /&gt;
During mission rewards, the second index is used to track the index of the mission being processed in the job list.&lt;br /&gt;
&lt;br /&gt;
=== 0x3 - SCENARIO_MAIN ===&lt;br /&gt;
Stores game progress. The first value correlates with the MAIN value (mostly aligns with the story chapter), while the second is generally used to track progress within that MAIN. For the page detailing what these values mean, please see the [[Scenario Main Values]] article. &lt;br /&gt;
&lt;br /&gt;
=== 0x4 - SCENARIO_SIDE ===&lt;br /&gt;
Like SCENARIO_MAIN, but for special episode progress.&lt;br /&gt;
&lt;br /&gt;
=== 0x5 - SCENARIO_SUB1 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x6 - SCENARIO_SUB2 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x7 - SCENARIO_SUB3 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x8 - SCENARIO_SUB4 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x9 - SCENARIO_SUB5 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xa - SCENARIO_SUB6 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xb - SCENARIO_SUB7 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xc - SCENARIO_SUB8 ===&lt;br /&gt;
As far as is currently known, SCENARIO_SUB1 through SCENARIO_SUB8 are completely unused by the base-game! Perhaps they were intended to store side-quest progress of some sort?&lt;br /&gt;
&lt;br /&gt;
=== 0xd - SIDE02_TALK ===&lt;br /&gt;
Three bit flags that keeps track of the neighbors Igglybuff talked to in Special Episode 2&lt;br /&gt;
&lt;br /&gt;
=== 0xe - SIDE06_ROOM ===&lt;br /&gt;
Three bit flags that keeps track of the Limestone Cavern paths Team Charm visited in Special Episode 4&lt;br /&gt;
&lt;br /&gt;
=== 0xf - SIDE08_BOSS2ND ===&lt;br /&gt;
True if the player lose against Sableyes in Barren Valley Clearing in Special Episode 5&lt;br /&gt;
&lt;br /&gt;
=== 0x10 - SIDE01_BOSS2ND ===&lt;br /&gt;
True if Snover has betrayed bidoof in Special Episode 1. Used to determine whether Snover will be an ally in Star Cave or not.&lt;br /&gt;
&lt;br /&gt;
=== 0x11 - SCENARIO_MAIN_BIT_FLAG ===&lt;br /&gt;
Has many purposes, sometimes have hardcoded or technical effects, but not always.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Number&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Gets set to 1 right after waking up in the guild. Used for the game to determine when partner dialogue should be changed to just &amp;quot;Good morning, [hero]...&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Will end the current day if EVENT_DIVIDE is run.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Similar to 3. Seems to be related to missions&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Gets set to 1 if the player decides to go the wrong way during an expedition.&lt;br /&gt;
|-&lt;br /&gt;
|6, 7, 8&lt;br /&gt;
|Used to remember how the game was saved last.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Used in G01P04A/um07. When it&#039;s not set, the game spawns triggers. Upon walkng to them, Croagunk calls hero and partner to tell that the Croagunk Swap Shop is now opened.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do jobs.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do sentry duty. &lt;br /&gt;
|-&lt;br /&gt;
|12, 13&lt;br /&gt;
|Marowak Dojo First Entry/ Final Maze Opening&lt;br /&gt;
|-&lt;br /&gt;
|14-23&lt;br /&gt;
|Used in Marowak&#039;s Dojo. If none of them are set, the player finished all the dojo dungeons.&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|Gets set when the player finishes all dojo dungeons. Used to only show a cutscene about the full dojo completion once. &lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|Gets set to 0 before the check whether it&#039;s set to 1 or not during a cutscene after finishing the Final Maze.&lt;br /&gt;
|-&lt;br /&gt;
|26, 27&lt;br /&gt;
|Unused&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Gets set to 1 when the player finishes Final Maze. Used to give another cutscene if the Final Maze gets finished again. &lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|Gets set to 1 if the player decides to go back to the previous location(or back to the town) from the checkpoint.&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Seems to be used in TITLE_TEST to distinguish between Time and Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Gets set to 1 when the player presses Go Rescue for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Gets set to 1 when the player presses Standby Adventure for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|33-39&lt;br /&gt;
|Used after collecting one of the seven treasures. If none of them are set, the game gives a Seven Treasures collection checkmark.&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|Gets set if the player interacts with anything on the Pelipper Island. If set, the game will save upon leaving the island.&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Gets set to 1 when Chimecho tells hero and partner that they&#039;re now able to change team leader. Used to only show this cutscene once.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|Gets set to 1 when the partner says good morning to hero in Sharpedo Bluff, while $SCENARIO_MAIN is 29, 92. Used to only show this cutscene once, as it&#039;s called in coroutine EVENT_DIVIDE_AFTER, that is called really often.&lt;br /&gt;
|-&lt;br /&gt;
|43-45&lt;br /&gt;
|Aegis Cave&#039;s ice, rock and steel puzzles completion.&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|Gets set to 1 if the player Drifblim&#039;s Gondola. Used to show a cutscene where Drifblim thanks hero and partner for using his service.&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|Gets set to 1 when player talks with Ampharos about Sneasel&#039;s Sky Gift.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Gets set to 1 when the player gets Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|Gets set to 1 when the player leaves the station clearing after getting Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|50-60&lt;br /&gt;
|Sky Gift had been sent to Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk and partner respectively.&lt;br /&gt;
|-&lt;br /&gt;
|61&lt;br /&gt;
|Gets set to 1 when the player gives an item to Happiny.&lt;br /&gt;
|-&lt;br /&gt;
|62-73&lt;br /&gt;
|Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk, partner and Happiny respectively sent a Sky Gift to hero.&lt;br /&gt;
|-&lt;br /&gt;
|74-77&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station Clearing respectively. Happiny will always spawn on the 1st station if ITEM_BACKUP_GET = ITEM_BACKUP_TAKE.&lt;br /&gt;
|-&lt;br /&gt;
|78-81&lt;br /&gt;
|Used to decide whether Numel will appear on the 1st/3rd/5th/7th Station Clearing respectively. &lt;br /&gt;
|-&lt;br /&gt;
|82&lt;br /&gt;
|Gets set to 1 if the player already swapped items with Numel in the current attempt to climb to Sky Peak Summit.&lt;br /&gt;
|-&lt;br /&gt;
|83-87&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station/Summit Clearing respectively.&lt;br /&gt;
|-&lt;br /&gt;
|88&lt;br /&gt;
|Gets set to 1 when the player claims Jumpluff&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|89&lt;br /&gt;
|Used to decide whether Delibird should appear on the 9th Station Clearing. The chance of it being set is 50% each climbing attempt.&lt;br /&gt;
|-&lt;br /&gt;
|90&lt;br /&gt;
|Gets set to 1 when the player claims Delibird&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|91&lt;br /&gt;
|Gets set to 1 if the player gives an item to Heracross.&lt;br /&gt;
|-&lt;br /&gt;
|92&lt;br /&gt;
|Used to decide if a bottle should appear on the beach. The chance of it being set is 10%&lt;br /&gt;
|-&lt;br /&gt;
|93&lt;br /&gt;
|Used to decide if a client should appear in the cafe. The chance of it being set is 80%&lt;br /&gt;
|-&lt;br /&gt;
|94&lt;br /&gt;
|Gets set to 1 if the player receives a Gracidea.&lt;br /&gt;
|-&lt;br /&gt;
|95&lt;br /&gt;
|Gets set to 1 when Ursaring says that hero and partner can evolve.&lt;br /&gt;
|-&lt;br /&gt;
|96&lt;br /&gt;
|Gets set to 1 when Krabby says that bottles can appear on the beach.&lt;br /&gt;
|-&lt;br /&gt;
|97&lt;br /&gt;
|Gets set to 1 when Chimecho asks hero if recruits can stay at the cafe.&lt;br /&gt;
|-&lt;br /&gt;
|98&lt;br /&gt;
|Gets set to 1 in m00a01a. Doesn&#039;t seem to be used anywhere else.&lt;br /&gt;
|-&lt;br /&gt;
|99-127&lt;br /&gt;
|Unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12 - SCENARIO_TALK_BIT_FLAG ===&lt;br /&gt;
Up through [140] are in use, and they primarily exist to remember if the player has already talked with an NPC (therefore playing modified or shorter dialogue the second time around). For example, every merchant in treasure town comments on the player&#039;s accomplishments (like defeating Darkrai) the first time you talk to them. Whether that conversation has happened yet is tracked with SCENARIO_TALK_BIT_FLAG.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Number&lt;br /&gt;
!Used By&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Cafe Client&lt;br /&gt;
|P01P04A\enter11.ssb&lt;br /&gt;
|Used by the Cafe Client for the Gabite Mission, and the 7-Treasures Missions. In both Mission types, it&#039;s used to skip the lengthy exposition for the mission if the player declined the job earlier in the day. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Spoink&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Spoink&#039;s talk scripts. Used to remember if Spoink has given the player their helpful exploration tip about enemies not moving unless you do.&lt;br /&gt;
|-&lt;br /&gt;
|3-22&lt;br /&gt;
|Chimecho&lt;br /&gt;
|G01P03A&lt;br /&gt;
|Used in all of Chimecho&#039;s talk scripts. Flag 18 is unused!&lt;br /&gt;
|-&lt;br /&gt;
|23, 24, 26&lt;br /&gt;
|Dugtrio&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Dugtrio&#039;s talk scripts. Flag 25 is unused! Likely related to triggering CORO_EVENT_M00_04.&lt;br /&gt;
|-&lt;br /&gt;
|27, 28&lt;br /&gt;
|Pink Celebi&lt;br /&gt;
|D23P11A\um19&lt;br /&gt;
|Used in both Celebi talk scripts for the player to probe deeper about her not minding that she gets to spend more time with grovyle.&lt;br /&gt;
|-&lt;br /&gt;
|29-40&lt;br /&gt;
|Croagunk&lt;br /&gt;
|G01P04A\enter05.ssb&lt;br /&gt;
|Flags 36 and 38 are unused! By mistake, 37 and 39 are used two separate times for Croagunk&#039;s dialogue!&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Cresselia&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Cresselia&#039;s talk scripts. Used to remember if the player has rejected recruiting her to the team. Intended to only appear in H01P99A.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|-&lt;br /&gt;
|43-47&lt;br /&gt;
|Lapras&lt;br /&gt;
|D01P01A&lt;br /&gt;
|Used in all of Lapras&#039; talk scripts.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Vigoroth&lt;br /&gt;
|T01P02A&lt;br /&gt;
|Used for Vigoroth to give a shortened advertisement for the Marowak Dojo. Apparently he&#039;s &amp;quot;sponsored&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|49, 50&lt;br /&gt;
|Chatot&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Chatot&#039;s talk scripts. Used for dialogue relating to the player going to Amp Plains. Intended to only appear in G01P04A.&lt;br /&gt;
|-&lt;br /&gt;
|51-59&lt;br /&gt;
|Electivire&lt;br /&gt;
|T01P01A\enter06.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|60-62&lt;br /&gt;
|Marowak (Main Story)&lt;br /&gt;
|T01P03A\enter07.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|63-71&lt;br /&gt;
|Kangaskhan&lt;br /&gt;
|T01P02A\enter10.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|72-83&lt;br /&gt;
|Green Kecleon&lt;br /&gt;
|T01P02A\enter12.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|84-95&lt;br /&gt;
|Purple Kecleon&lt;br /&gt;
|T01P02A\enter11.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|96-102&lt;br /&gt;
|Xatu&lt;br /&gt;
|T01P02A\enter09.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|103-109&lt;br /&gt;
|Chansey&lt;br /&gt;
|T01P01A\enter07.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|110-118&lt;br /&gt;
|Duskull&lt;br /&gt;
|T01P01A\enter05.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|119&lt;br /&gt;
|Pelipper (Rescue)&lt;br /&gt;
|S01P02A\enter02.ssb&lt;br /&gt;
|Used to remember if the player has ever been &amp;quot;welcomed&amp;quot; to Pelipper Island before after selecting &amp;quot;Go Rescue&amp;quot; on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
|120&lt;br /&gt;
|Pelipper (Explore)&lt;br /&gt;
|S01P02A\enter07.ssb&lt;br /&gt;
|Used to remember if the player has ever been &amp;quot;welcomed&amp;quot; to Pelipper Island before after selecting &amp;quot;Standby Adventure&amp;quot; on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
|121&lt;br /&gt;
|Partner&lt;br /&gt;
|Various&lt;br /&gt;
|Somewhat unclear. Seems to be some kind of game progress, possibly whether or not the partner has (through some means) told the hero that they want to check back on Sharpedo Bluff for Grovyle. Spawns a trigger in T02P02A if enabled.&lt;br /&gt;
|-&lt;br /&gt;
|122&lt;br /&gt;
|Shaymin (Guide)&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Shaymin&#039;s talk scripts throughout the mountain. Remembers if the player has rejected recruiting them to the team. Likely only intended to appear at the summit?&lt;br /&gt;
|-&lt;br /&gt;
|123&lt;br /&gt;
|Shaymin (Sky Gift)&lt;br /&gt;
|D73P11A&lt;br /&gt;
|Used to remember if Shaymin has told the player about Sky Gift delivery.&lt;br /&gt;
|-&lt;br /&gt;
|124&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|-&lt;br /&gt;
|125&lt;br /&gt;
|Pachirisu&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Pachirisu&#039;s talk scripts. Remembers if the player has received a Sky Gift from Pachirisu or not. Likely intended to be used somewhere on the mountain.&lt;br /&gt;
|-&lt;br /&gt;
|126&lt;br /&gt;
|Marowak (Bidoof) &lt;br /&gt;
|T01P03A\enter08.ssb&lt;br /&gt;
|Used to remember if Bidoof has claimed Marowak&#039;s Reviver Seed in the special episode. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|127&lt;br /&gt;
|Kangakshan (Bidoof) &lt;br /&gt;
|T01P02A\un0103.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Kangaskhan in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|128&lt;br /&gt;
|Duskull (Bidoof)&lt;br /&gt;
|T01P01A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Duskull in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|129&lt;br /&gt;
|Green Kecleon (Bidoof)&lt;br /&gt;
|T01P02A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Green Kecleon in the episode before. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|130&lt;br /&gt;
|Purple Kecleon (Bidoof)&lt;br /&gt;
|T01P02A\un0102.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Purple Kecleon in the episode before.  Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|131&lt;br /&gt;
|Wigglytuff (Bidoof)&lt;br /&gt;
|G01P05A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Wigglytuff after unlocking Deep Star Cave in the episode before. Runs CORO_EVENT_N00_01 if not.  &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|132&lt;br /&gt;
|Bidoof (Sunflora)&lt;br /&gt;
|G01P03A\un0401.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Bidoof in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|133&lt;br /&gt;
|Chimecho (Sunflora)&lt;br /&gt;
|G01P03A\un0402.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Chimecho in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|134&lt;br /&gt;
|Dugtrio (Sunflora)&lt;br /&gt;
|H01P99A\un0401.ssb&lt;br /&gt;
|Used to remeber if Sunflora has talked with Dugtrio in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|135&lt;br /&gt;
|Kangaskhan (Sunflora)&lt;br /&gt;
|T01P02A\un0404.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Kangaskhan in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|136&lt;br /&gt;
|Green Kecleon (Sunflora)&lt;br /&gt;
|T01P02A\un0406.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Green Kecleon in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|137&lt;br /&gt;
|Purple Kecleon (Sunflora)&lt;br /&gt;
|T01P02A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Purple Kecleon in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|138&lt;br /&gt;
|Vigoroth (Sunflora)&lt;br /&gt;
|T01P01A\un0404.ssb&lt;br /&gt;
|Used to remember if Sunflora was advertised to by Vigoroth in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|139&lt;br /&gt;
|Team Flame (Sunflora)&lt;br /&gt;
|G01P03A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora talked with Bellsprout of Team Flame in the episode before. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|140&lt;br /&gt;
|Duskull (Sunflora)&lt;br /&gt;
|T01P01A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora talked with Duskull in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|141+&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13 - SCENARIO_BALANCE_FLAG ===&lt;br /&gt;
Starts at 0 and gets increased as the player completes certain story events. Controls bag size, Wynaut/Spinda dungeon unlocks, and the spawn threshold value of pokémon, which restricts spawning of some species until this variable reaches a certain value. Is also used as a general game progression marker by other things, restriction certain mission types, the croagunk swap shop being able to contain a water float, and other things like that. &lt;br /&gt;
&lt;br /&gt;
==== Value changes ====&lt;br /&gt;
This table lists the exact story spots where the value of the flag is increased.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Story chapter&lt;br /&gt;
!Story event&lt;br /&gt;
!Scene&lt;br /&gt;
!Script&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|Start of a new game&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|3&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V03P12A&lt;br /&gt;
|m03a1314.ssb&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|6&lt;br /&gt;
|Expedition members are announced&lt;br /&gt;
|G01P04A&lt;br /&gt;
|m08a0301.ssb&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|9&lt;br /&gt;
|End of chapter&lt;br /&gt;
|P04P01C&lt;br /&gt;
|m10a1213.ssb&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|13&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V16P02A&lt;br /&gt;
|m16a0702.ssb&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|15&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V19P06A&lt;br /&gt;
|m19b1014.ssb&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Post-game 1&lt;br /&gt;
|After graduating and moving to Sharpedo Bluff&lt;br /&gt;
|H02P99A&lt;br /&gt;
|s01p1103.ssb&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Game complete&lt;br /&gt;
|The Ursarings tell Hero and Partner they can evolve&lt;br /&gt;
(After unlocking Marine Resort) &lt;br /&gt;
|T01P01A&lt;br /&gt;
|m00p1401.ssb&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Bag size ====&lt;br /&gt;
This table lists the maximum bag size depending on the current value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Bag size&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|48&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|48&lt;br /&gt;
|}&lt;br /&gt;
Values higher than 7 will read garbage data and cause crashes.&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;PERFORMANCE_PROGRESS_LIST[2]&amp;lt;/code&amp;gt; is 0, the bag will only have 1 slot, regardless of the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x14 - SCENARIO_BALANCE_DEBUG ===&lt;br /&gt;
If &amp;gt;= 0, overrides the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x15 - CRYSTAL_COLOR_01 ===&lt;br /&gt;
Used to keep track of the current color of the first crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x16 - CRYSTAL_COLOR_02 ===&lt;br /&gt;
Used to keep track of the current color of the second crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x17 - CRYSTAL_COLOR_03 ===&lt;br /&gt;
Used to keep track of the current color of the third crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
Outside of this puzzle, these 3 variables are completely unused by the base game!&lt;br /&gt;
&lt;br /&gt;
=== 0x18 - COMPULSORY_SAVE_POINT ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in the main story.&lt;br /&gt;
&lt;br /&gt;
=== 0x19 - COMPULSORY_SAVE_POINT_SIDE ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in special episode.&lt;br /&gt;
&lt;br /&gt;
=== 0x1a - SCENARIO_SELECT_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x1b - SCENARIO_MAIN_BIT_FLAG_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused, and is a huge list of flags that can be used locally, or in places the player is unable to save!&lt;br /&gt;
&lt;br /&gt;
=== 0x1c - GROUND_ENTER ===&lt;br /&gt;
The map ID the player is currently in the enter scene for.&lt;br /&gt;
&lt;br /&gt;
=== 0x1d - GROUND_ENTER_LINK ===&lt;br /&gt;
Set to zero by EVENT_FORMATION. Purpose Unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x1e - GROUND_GETOUT ===&lt;br /&gt;
The map ID of the enter scene the player was on before the current one. Usually used to decide where the player should enter from on the next map. &lt;br /&gt;
&lt;br /&gt;
=== 0x1f - GROUND_MAP ===&lt;br /&gt;
The map ID of the map currently rendered. Usually this is identical to GROUND_ENTER, unless the map that was loaded changes (Such as P01P01A changing to P01P03A when the cafe is unlocked). &lt;br /&gt;
&lt;br /&gt;
=== 0x20 - GROUND_PLACE ===&lt;br /&gt;
Determines the index for the map marker on the top-screen world map.&lt;br /&gt;
&lt;br /&gt;
=== 0x21 - GROUND_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x22 - GROUND_ENTER_LINK_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER_LINK used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x23 - GROUND_GETOUT_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_GETOUT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x24 - GROUND_MAP_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_MAP used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x25 - GROUND_PLACE_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_PLACE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x26 - DUNGEON_SELECT ===&lt;br /&gt;
The dungeon ID selected by the crossroads. Possibly reused elsewhere. &lt;br /&gt;
&lt;br /&gt;
=== 0x27 - DUNGEON_ENTER ===&lt;br /&gt;
Stores the dungeon ID the player enters, but only in DMODE_OPEN or DMODE_CLOSED. Otherwise, may be set to 214 or 215.  &lt;br /&gt;
&lt;br /&gt;
DUNGEON_ENTER_INDEX is a more reliable tracker of the dungeon ID.  &lt;br /&gt;
&lt;br /&gt;
=== 0x28 - DUNGEON_ENTER_MODE ===&lt;br /&gt;
Seems to be the DMODE of the dungeon being entered. &lt;br /&gt;
&lt;br /&gt;
=== 0x29 - DUNGEON_ENTER_INDEX ===&lt;br /&gt;
Is written on selecting a dungeon from the crossroads (and probably elsewhere). Generally used by the base game to remember the dungeon ID that the player is about to enter or has just exited. &lt;br /&gt;
&lt;br /&gt;
=== 0x2a - DUNGEON_ENTER_FREQUENCY ===&lt;br /&gt;
A running total of how many times the player has entered any dungeon. &lt;br /&gt;
&lt;br /&gt;
=== 0x2b - DUNGEON_RESULT ===&lt;br /&gt;
Stores how the dungeon was exited. Typically GROUND_START_MODE also stores this information, though that has other uses in ground mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Dungeon was cleared&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Escape Orb Used&lt;br /&gt;
|-&lt;br /&gt;
|Other&lt;br /&gt;
|Defeated in Dungeon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x2c - GROUND_START_MODE ===&lt;br /&gt;
The &amp;quot;mode&amp;quot; the game is in when it enters Ground Mode. Uses the same values as DUNGEON_RESULT when exiting a dungeon, but other values appear to be present. coroutine EVENT_FORMATION assigns it to 3, for unknown reasons.&lt;br /&gt;
&lt;br /&gt;
=== 0x2d - DUNGEON_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2e - DUNGEON_ENTER_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2f - DUNGEON_ENTER_INDEX_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_INDEX used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x30 - DUNGEON_ENTER_FREQUENCY_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_FREQUENCY used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x31 - DUNGEON_RESULT_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_RESULT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x32 - GROUND_START_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_START_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x33 - REQUEST_CLEAR_COUNT ===&lt;br /&gt;
Stores the number of jobs the player has completed at certain points in the story to determine when the next story event will occur. Will never increment above 100 in the base game.&lt;br /&gt;
&lt;br /&gt;
=== 0x34 - PLAYER_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_PLAYER when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ACTOR_ATTENDANT_BIPPA&lt;br /&gt;
|Bidoof&lt;br /&gt;
|Special Episode 1&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|ACTOR_ATTENDANT_PUPURIN&lt;br /&gt;
|Igglybuff&lt;br /&gt;
|Special Episode 2&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ACTOR_ATTENDANT_KIMAWARI&lt;br /&gt;
|Sunflora&lt;br /&gt;
|Special Episode 3&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ACTOR_ATTENDANT_FUTURE&lt;br /&gt;
|Grovyle&lt;br /&gt;
|Special Episode 5&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ACTOR_ATTENDANT_CHARMS&lt;br /&gt;
|Lopunny&lt;br /&gt;
|Special Episode 4&lt;br /&gt;
|-&lt;br /&gt;
|9+&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x35 - ATTENDANT1_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT1 (and possibly other related actors) when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5-9&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ACTOR_ATTENDANT_MANAFI&lt;br /&gt;
|Manaphy&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x36 - ATTENDANT2_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT2 when displayed.&lt;br /&gt;
&lt;br /&gt;
Will be &amp;quot;Nothing&amp;quot; unless it is 10, in which case Manaphy will slowly follow ATTENDANT1_KIND&lt;br /&gt;
&lt;br /&gt;
=== 0x37 - PLAYER_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of PLAYER_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x38 - ATTENDANT1_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT1_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x39 - ATTENDANT2_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT2_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x3a - FRIEND_SUM ===&lt;br /&gt;
When called by LoadScriptVariableValue(), will always return 1. Seems unused outside of this.&lt;br /&gt;
&lt;br /&gt;
=== 0x3b - UNIT_SUM ===&lt;br /&gt;
In a switch case, will return the number of pokemon in the active team. Cannot be written to, only read. Skytemple&#039;s Variable reader will mistakenly read this as zero, as the script variable slot itself is unused, and the number of team members is a hardcoded return from LoadScriptVariable. &lt;br /&gt;
&lt;br /&gt;
=== 0x3c - CARRY_GOLD ===&lt;br /&gt;
Stores the current amount of money carried by the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x3d - BANK_GOLD ===&lt;br /&gt;
Stores the current amount of money stored in Duskull&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
=== 0x3e - HERO_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial hero starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x3f - HERO_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial hero starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x40 - PARTNER_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial partner starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x41 - PARTNER_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial partner starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x42 - HERO_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the hero will use. In base game, only 4 and 5 are used for HERO_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Hero Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Male Pokemon&lt;br /&gt;
|Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Female/Genderless Pokemon&lt;br /&gt;
|Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x43 - PARTNER_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the partner will use. In base game, only 1, 2, and 3 are used for PARTNER_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Partner Species&lt;br /&gt;
!Use Case&lt;br /&gt;
!Example Dialogue Use&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Squirtle, Totodile, Chimchar, Meowth or Munchlax&lt;br /&gt;
|More &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|No more wimping out. I have to be brave today.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|All other Male Species&lt;br /&gt;
|Less &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. I have to steel my courage today.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|All female Species&lt;br /&gt;
|Least &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. Today I’m going to be brave.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x44 - RANDOM_REQUEST_NPC03_KIND ===&lt;br /&gt;
Determines the species of ACTOR_RANDOM_REQUEST_NPC03, or the Spinda Cafe client Pokémon. It is either a random Pokémon, Magnemite, or Togetic, depending on the mission.&lt;br /&gt;
&lt;br /&gt;
=== 0x45 - CONFIG_COLOR_KIND ===&lt;br /&gt;
The aura bow color determined by the personality quiz at the beginning of the game. Only ever used by wigglytuff to determine the color of aura bow given to the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x46 - ROM_VARIATION ===&lt;br /&gt;
Unknown, but hardcoded to zero.&lt;br /&gt;
&lt;br /&gt;
=== 0x47 - LANGUAGE_TYPE ===&lt;br /&gt;
Stores the language from DS Firmware. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Language&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Japanese&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|English&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|French&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|German&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Italian&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Spanish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x48 - GAME_MODE ===&lt;br /&gt;
Keeps track of the current game mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!ID&lt;br /&gt;
!Mode&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Top menu&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Normal play, including overworld and dungeons&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Special episode&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Rescue&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
There might be more valid values.&lt;br /&gt;
&lt;br /&gt;
=== 0x49 - EXECUTE_SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active. The base-game prefers this variable over SPECIAL_EPISODE_TYPE, though it is unknown if they differ at all.&lt;br /&gt;
&lt;br /&gt;
=== 0x4a - SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active, just like EXECUTE_SPECIAL_EPISODE_TYPE.&lt;br /&gt;
&lt;br /&gt;
=== 0x4b - SPECIAL_EPISODE_OPEN ===&lt;br /&gt;
Keeps track of what Special Episodes are unlocked.&lt;br /&gt;
&lt;br /&gt;
The following is the list of scripts where the Special Episodes are unlocked in the base-game:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[0] (Bidoof&#039;s Wish): V03P12A - m03a1314&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[1] (Igglybuff the Prodigy): P04P01C - m10a1213&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[2] (Today&#039;s Oh My Gosh): G01P04A - m16a0105&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[3] (Here Comes Team Charm!): D01P11A - m20a0101&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[4] (In the Future of Darkness): H02P99A - s01p1103&lt;br /&gt;
&lt;br /&gt;
=== 0x4c - SPECIAL_EPISODE_OPEN_OLD ===&lt;br /&gt;
Keeps track of what Special Episodes were started. Used to show an exclamation mark if the episode is opened but wasn&#039;t started.&lt;br /&gt;
&lt;br /&gt;
=== 0x4d - SPECIAL_EPISODE_CONQUEST ===&lt;br /&gt;
Keeps track of what Special Episodes did the player finished. Also unlocks the Special Episode&#039;s respective Clear Icons.&lt;br /&gt;
&lt;br /&gt;
Note: This specific script variable is not in any script. It is actually triggered by an &#039;&#039;&#039;adventure_log&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
The following is the list of the &#039;&#039;&#039;adventure_log&#039;&#039;&#039; that triggers this Script Variable and its location for each Special Episode:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[0] (Bidoof&#039;s Wish): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1000; in S04P01A - n03a3103&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[1] (Igglybuff the Prodigy): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1001; in S04P01A - n03a1704&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[2] (Today&#039;s Oh My Gosh): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1002; in S04P01A - n04a2606&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[3] (Here Comes Team Charm!): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1003; in S04P01A - n06a3909&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[4] (In the Future of Darkness): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1004; in S04P01A - n09a2212&lt;br /&gt;
&lt;br /&gt;
=== 0x4e - PERFORMANCE_PROGRESS_LIST ===&lt;br /&gt;
List of flags used to keep track of unlocked features and achievements. See [[Performance Progress Flags]] for the full list.&lt;br /&gt;
&lt;br /&gt;
=== 0x4f - DUNGEON_OPEN_LIST ===&lt;br /&gt;
List of unlocked dungeons. One bit per dungeon ID. If true, and the dungeon isn&#039;t on some blacklist, you can enter this dungeon from the crossroads/dojo/igglybuff&#039;s house/pelipper standby adventure. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_OPEN or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
=== 0x50 - DUNGEON_ENTER_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. This is checked at [NA]0x204CEE0, but never assigned. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x51 - DUNGEON_ARRIVE_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x52 - DUNGEON_CONQUEST_LIST ===&lt;br /&gt;
List of completed dungeons. One bit per dungeon ID. Automatically set on clearing any dungeon. &lt;br /&gt;
&lt;br /&gt;
In many cases, this bitfield renders other flags or variables redundant in a vanilla setting, especially certain $PERFORMANCE_PROGRESS_LIST flags that are always enabled after clearing certain dungeons for the first time. &lt;br /&gt;
&lt;br /&gt;
=== 0x53 - DUNGEON_PRESENT_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x54 - DUNGEON_REQUEST_LIST ===&lt;br /&gt;
List of dungeons that no longer have story progression. On completing a dungeon with this bit enabled, the player will enter [INSERT THE RIGHT COROUTINE HERE] in unionall. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_REQUEST or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
Contrary to the name, this field alone is insufficient for missions to show up on the job board! Only dungeon in DMODE_OPEN_AND_REQUEST can have missions, and other (hardcoded) conditions must be met. &lt;br /&gt;
&lt;br /&gt;
=== 0x55 - WORLD_MAP_MARK_LIST_NORMAL ===&lt;br /&gt;
Is adequately sized for the number of World Map Markers. Presumed Unused.&lt;br /&gt;
&lt;br /&gt;
=== 0x56 - WORLD_MAP_MARK_LIST_SPECIAL ===&lt;br /&gt;
Is adequately sized for the number of World Map Markers. Presumed Unused.&lt;br /&gt;
&lt;br /&gt;
=== 0x57 - WORLD_MAP_LEVEL ===&lt;br /&gt;
Seems to be used to track the area covered by clouds on the world map. &lt;br /&gt;
&lt;br /&gt;
=== 0x58 - POSITION_X ===&lt;br /&gt;
Stores the X-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x59 - POSITION_Y ===&lt;br /&gt;
Stores the Y-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5a - POSITION_HEIGHT ===&lt;br /&gt;
Stores the Z-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5b - POSITION_DIRECTION ===&lt;br /&gt;
Stores the direction an entity is facing when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5c - EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game, and is reset between scripts.&lt;br /&gt;
&lt;br /&gt;
=== 0x5d - DUNGEON_EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game (possibly while within dungeons?), and is reset between scripts. &lt;br /&gt;
&lt;br /&gt;
=== 0x5e - STATION_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x5f - STATION_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x60 - DELIVER_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x61 - DELIVER_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x62 - BIT_FUWARANTE_LOCAL ===&lt;br /&gt;
Keeps track of the Sky Peak stations the player visited. Used in the script for Drifblim&#039;s Gondola.&lt;br /&gt;
&lt;br /&gt;
=== 0x63 - LOTTERY_RESULT ===&lt;br /&gt;
Used to track what result should occur during the Recycle Shop Prize Ticket Lottery. Has no other use.&lt;br /&gt;
&lt;br /&gt;
=== 0x64 - ITEM_BACKUP ===&lt;br /&gt;
Unlikely to be a backup flag. Conveniently sized for item_GetVariable to extract the item ID and metadata.&lt;br /&gt;
&lt;br /&gt;
Used exclusively by the debug town. Unused in the context of vanilla EoS.&lt;br /&gt;
&lt;br /&gt;
=== 0x65 - ITEM_BACKUP_KUREKURE ===&lt;br /&gt;
Happiny requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x66 - ITEM_BACKUP_TAKE ===&lt;br /&gt;
Numel requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x67 - ITEM_BACKUP_GET ===&lt;br /&gt;
Numel gives this item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x68 - REQUEST_THANKS_RESULT_KIND ===&lt;br /&gt;
Stores the mission type of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x69 - REQUEST_THANKS_RESULT_VARIATION ===&lt;br /&gt;
Stores the mission subtype of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x6a - SUB30_TREASURE_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a treasure was found. &lt;br /&gt;
&lt;br /&gt;
=== 0x6b - SUB30_SPOT_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a new unexplored area was discovered. &lt;br /&gt;
&lt;br /&gt;
=== 0x6c - RECYCLE_COUNT ===&lt;br /&gt;
Stores the number of recycles the player has done. Is only updated by the base-game at the end of each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x6d - SUB30_SPOT_LEVEL ===&lt;br /&gt;
Keeps track of what dungeon was discovered by Project P. &lt;br /&gt;
&lt;br /&gt;
=== 0x6e - TEAM_RANK_EVENT_LEVEL ===&lt;br /&gt;
Updated by message_Menu(76) to the current guild rank. In vanilla, this only seems to happen on clearing a mission.  &lt;br /&gt;
&lt;br /&gt;
=== 0x6f - PLAY_OLD_GAME ===&lt;br /&gt;
True if the player answered yes to the question on the personality quiz that asks if you played Explorers of Time or Darkness. Increases the recruit rate of certain pokémon if you haven&#039;t recruited them yet.&lt;br /&gt;
&lt;br /&gt;
=== 0x70 - NOTE_MODIFY_FLAG ===&lt;br /&gt;
If true, the player will be forced to save on leaving Pelipper island. Likely indicative of whether a rescue has been attempted?&lt;br /&gt;
&lt;br /&gt;
=== 0x71 - SUB30_PROJECTP ===&lt;br /&gt;
If true, the player has viewed the Project P cutscene, and the recycle shop is capable of being upgraded.&lt;br /&gt;
&lt;br /&gt;
=== 0x72 - SUM ===&lt;br /&gt;
Seems to be a marker of the end of &amp;quot;normal&amp;quot; script variables.&lt;br /&gt;
&lt;br /&gt;
=== 0x400 - LOCAL0 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL0 in def 0 is distinct from $LOCAL0 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x401 - LOCAL1 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL1 indef 0 is distinct from $LOCAL1 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x402 - LOCAL2 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
=== 0x403 - LOCAL3 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
== Variable Lengths ==&lt;br /&gt;
Not all variables can store the same sized values! Some were allocated to be different sizes than others. Besides the standard sizes, there are 2 unusual variable sizes worth mentioning. &amp;quot;special&amp;quot; variable sizes are not stored in the same place as every other variable, and instead read some other value, such as the number of money the player currently has, or the current language of the ROM. &amp;quot;None&amp;quot; size is only used by the &amp;quot;SUM&amp;quot; variable, and has no allocated space at all. Below are a list of variables, their sizes, and how many there are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Variable&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Size&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Count&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|VERSION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONDITION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB1&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB2&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB3&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB4&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB5&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB6&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB7&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB8&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE02_TALK&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE06_ROOM&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE08_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE01_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x80 (128)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_TALK_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_FLAG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_DEBUG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_01&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_02&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_03&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG_BACKUP&lt;br /&gt;
|bit&lt;br /&gt;
|0x200 (512)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_SELECT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY&lt;br /&gt;
|uint16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY_BACKUP&lt;br /&gt;
|uint16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_CLEAR_COUNT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|FRIEND_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|UNIT_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CARRY_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|BANK_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RANDOM_REQUEST_NPC03_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_COLOR_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ROM_VARIATION&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LANGUAGE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GAME_MODE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|EXECUTE_SPECIAL_EPISODE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_TYPE&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN_OLD&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_CONQUEST&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|PERFORMANCE_PROGRESS_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x40 (64)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_OPEN_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ARRIVE_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_CONQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_PRESENT_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_REQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_NORMAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_SPECIAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_X&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_Y&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_HEIGHT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_DIRECTION&lt;br /&gt;
|int8&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|BIT_FUWARANTE_LOCAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|LOTTERY_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_KUREKURE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_TAKE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_GET&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_VARIATION&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_TREASURE_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RECYCLE_COUNT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|TEAM_RANK_EVENT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAY_OLD_GAME&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|NOTE_MODIFY_FLAG&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_PROJECTP&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUM&lt;br /&gt;
|none&lt;br /&gt;
|0x0 (0)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL0&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL1&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL2&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL3&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1413</id>
		<title>List of Script Variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1413"/>
		<updated>2026-01-18T06:56:06Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* 0x64 - ITEM_BACKUP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the variables available on the scripting engine. They can be read or written to from scripts.&lt;br /&gt;
&lt;br /&gt;
Some variables store a single value, whereas others can store multiple bitflags.&lt;br /&gt;
&lt;br /&gt;
== List of variables ==&lt;br /&gt;
&lt;br /&gt;
=== 0x0 - VERSION ===&lt;br /&gt;
Seems to be used to keep track of save file versions. It&#039;s stored in the save file when the game is saved. When loading a save file, if the version value in it doesn&#039;t match the value of this variable, the save file is deleted.&lt;br /&gt;
&lt;br /&gt;
=== 0x1 - CONDITION ===&lt;br /&gt;
Completely unused. Purpose unknown...&lt;br /&gt;
&lt;br /&gt;
=== 0x2 - SCENARIO_SELECT ===&lt;br /&gt;
Two indexed values determined via the Top Menu. These are referenced by Unionall for general control flow.&lt;br /&gt;
&lt;br /&gt;
To be a bit more specific, the first coroutine run after the Top Menu is EVENT_DIVIDE, which checks for these indexed values. In doing so, the game knows when to load scripts from maingame, a Special Episode, or Rescue mode.&lt;br /&gt;
&lt;br /&gt;
During mission rewards, the second index is used to track the index of the mission being processed in the job list.&lt;br /&gt;
&lt;br /&gt;
=== 0x3 - SCENARIO_MAIN ===&lt;br /&gt;
Stores game progress. The first value correlates with the MAIN value (mostly aligns with the story chapter), while the second is generally used to track progress within that MAIN. For the page detailing what these values mean, please see the [[Scenario Main Values]] article. &lt;br /&gt;
&lt;br /&gt;
=== 0x4 - SCENARIO_SIDE ===&lt;br /&gt;
Like SCENARIO_MAIN, but for special episode progress.&lt;br /&gt;
&lt;br /&gt;
=== 0x5 - SCENARIO_SUB1 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x6 - SCENARIO_SUB2 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x7 - SCENARIO_SUB3 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x8 - SCENARIO_SUB4 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x9 - SCENARIO_SUB5 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xa - SCENARIO_SUB6 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xb - SCENARIO_SUB7 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xc - SCENARIO_SUB8 ===&lt;br /&gt;
As far as is currently known, SCENARIO_SUB1 through SCENARIO_SUB8 are completely unused by the base-game! Perhaps they were intended to store side-quest progress of some sort?&lt;br /&gt;
&lt;br /&gt;
=== 0xd - SIDE02_TALK ===&lt;br /&gt;
Three bit flags that keeps track of the neighbors Igglybuff talked to in Special Episode 2&lt;br /&gt;
&lt;br /&gt;
=== 0xe - SIDE06_ROOM ===&lt;br /&gt;
Three bit flags that keeps track of the Limestone Cavern paths Team Charm visited in Special Episode 4&lt;br /&gt;
&lt;br /&gt;
=== 0xf - SIDE08_BOSS2ND ===&lt;br /&gt;
True if the player lose against Sableyes in Barren Valley Clearing in Special Episode 5&lt;br /&gt;
&lt;br /&gt;
=== 0x10 - SIDE01_BOSS2ND ===&lt;br /&gt;
True if Snover has betrayed bidoof in Special Episode 1. Used to determine whether Snover will be an ally in Star Cave or not.&lt;br /&gt;
&lt;br /&gt;
=== 0x11 - SCENARIO_MAIN_BIT_FLAG ===&lt;br /&gt;
Has many purposes, sometimes have hardcoded or technical effects, but not always.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Number&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Gets set to 1 right after waking up in the guild. Used for the game to determine when partner dialogue should be changed to just &amp;quot;Good morning, [hero]...&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Will end the current day if EVENT_DIVIDE is run.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Similar to 3. Seems to be related to missions&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Gets set to 1 if the player decides to go the wrong way during an expedition.&lt;br /&gt;
|-&lt;br /&gt;
|6, 7, 8&lt;br /&gt;
|Used to remember how the game was saved last.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Used in G01P04A/um07. When it&#039;s not set, the game spawns triggers. Upon walkng to them, Croagunk calls hero and partner to tell that the Croagunk Swap Shop is now opened.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do jobs.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do sentry duty. &lt;br /&gt;
|-&lt;br /&gt;
|12, 13&lt;br /&gt;
|Marowak Dojo First Entry/ Final Maze Opening&lt;br /&gt;
|-&lt;br /&gt;
|14-23&lt;br /&gt;
|Used in Marowak&#039;s Dojo. If none of them are set, the player finished all the dojo dungeons.&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|Gets set when the player finishes all dojo dungeons. Used to only show a cutscene about the full dojo completion once. &lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|Gets set to 0 before the check whether it&#039;s set to 1 or not during a cutscene after finishing the Final Maze.&lt;br /&gt;
|-&lt;br /&gt;
|26, 27&lt;br /&gt;
|Unused&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Gets set to 1 when the player finishes Final Maze. Used to give another cutscene if the Final Maze gets finished again. &lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|Gets set to 1 if the player decides to go back to the previous location(or back to the town) from the checkpoint.&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Seems to be used in TITLE_TEST to distinguish between Time and Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Gets set to 1 when the player presses Go Rescue for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Gets set to 1 when the player presses Standby Adventure for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|33-39&lt;br /&gt;
|Used after collecting one of the seven treasures. If none of them are set, the game gives a Seven Treasures collection checkmark.&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|Gets set if the player interacts with anything on the Pelipper Island. If set, the game will save upon leaving the island.&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Gets set to 1 when Chimecho tells hero and partner that they&#039;re now able to change team leader. Used to only show this cutscene once.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|Gets set to 1 when the partner says good morning to hero in Sharpedo Bluff, while $SCENARIO_MAIN is 29, 92. Used to only show this cutscene once, as it&#039;s called in coroutine EVENT_DIVIDE_AFTER, that is called really often.&lt;br /&gt;
|-&lt;br /&gt;
|43-45&lt;br /&gt;
|Aegis Cave&#039;s ice, rock and steel puzzles completion.&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|Gets set to 1 if the player Drifblim&#039;s Gondola. Used to show a cutscene where Drifblim thanks hero and partner for using his service.&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|Gets set to 1 when player talks with Ampharos about Sneasel&#039;s Sky Gift.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Gets set to 1 when the player gets Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|Gets set to 1 when the player leaves the station clearing after getting Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|50-60&lt;br /&gt;
|Sky Gift had been sent to Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk and partner respectively.&lt;br /&gt;
|-&lt;br /&gt;
|61&lt;br /&gt;
|Gets set to 1 when the player gives an item to Happiny.&lt;br /&gt;
|-&lt;br /&gt;
|62-73&lt;br /&gt;
|Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk, partner and Happiny respectively sent a Sky Gift to hero.&lt;br /&gt;
|-&lt;br /&gt;
|74-77&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station Clearing respectively. Happiny will always spawn on the 1st station if ITEM_BACKUP_GET = ITEM_BACKUP_TAKE.&lt;br /&gt;
|-&lt;br /&gt;
|78-81&lt;br /&gt;
|Used to decide whether Numel will appear on the 1st/3rd/5th/7th Station Clearing respectively. &lt;br /&gt;
|-&lt;br /&gt;
|82&lt;br /&gt;
|Gets set to 1 if the player already swapped items with Numel in the current attempt to climb to Sky Peak Summit.&lt;br /&gt;
|-&lt;br /&gt;
|83-87&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station/Summit Clearing respectively.&lt;br /&gt;
|-&lt;br /&gt;
|88&lt;br /&gt;
|Gets set to 1 when the player claims Jumpluff&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|89&lt;br /&gt;
|Used to decide whether Delibird should appear on the 9th Station Clearing. The chance of it being set is 50% each climbing attempt.&lt;br /&gt;
|-&lt;br /&gt;
|90&lt;br /&gt;
|Gets set to 1 when the player claims Delibird&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|91&lt;br /&gt;
|Gets set to 1 if the player gives an item to Heracross.&lt;br /&gt;
|-&lt;br /&gt;
|92&lt;br /&gt;
|Used to decide if a bottle should appear on the beach. The chance of it being set is 10%&lt;br /&gt;
|-&lt;br /&gt;
|93&lt;br /&gt;
|Used to decide if a client should appear in the cafe. The chance of it being set is 80%&lt;br /&gt;
|-&lt;br /&gt;
|94&lt;br /&gt;
|Gets set to 1 if the player receives a Gracidea.&lt;br /&gt;
|-&lt;br /&gt;
|95&lt;br /&gt;
|Gets set to 1 when Ursaring says that hero and partner can evolve.&lt;br /&gt;
|-&lt;br /&gt;
|96&lt;br /&gt;
|Gets set to 1 when Krabby says that bottles can appear on the beach.&lt;br /&gt;
|-&lt;br /&gt;
|97&lt;br /&gt;
|Gets set to 1 when Chimecho asks hero if recruits can stay at the cafe.&lt;br /&gt;
|-&lt;br /&gt;
|98&lt;br /&gt;
|Gets set to 1 in m00a01a. Doesn&#039;t seem to be used anywhere else.&lt;br /&gt;
|-&lt;br /&gt;
|99-127&lt;br /&gt;
|Unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12 - SCENARIO_TALK_BIT_FLAG ===&lt;br /&gt;
Up through [140] are in use, and they primarily exist to remember if the player has already talked with an NPC (therefore playing modified or shorter dialogue the second time around). For example, every merchant in treasure town comments on the player&#039;s accomplishments (like defeating Darkrai) the first time you talk to them. Whether that conversation has happened yet is tracked with SCENARIO_TALK_BIT_FLAG.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Number&lt;br /&gt;
!Used By&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Cafe Client&lt;br /&gt;
|P01P04A\enter11.ssb&lt;br /&gt;
|Used by the Cafe Client for the Gabite Mission, and the 7-Treasures Missions. In both Mission types, it&#039;s used to skip the lengthy exposition for the mission if the player declined the job earlier in the day. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Spoink&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Spoink&#039;s talk scripts. Used to remember if Spoink has given the player their helpful exploration tip about enemies not moving unless you do.&lt;br /&gt;
|-&lt;br /&gt;
|3-22&lt;br /&gt;
|Chimecho&lt;br /&gt;
|G01P03A&lt;br /&gt;
|Used in all of Chimecho&#039;s talk scripts. Flag 18 is unused!&lt;br /&gt;
|-&lt;br /&gt;
|23, 24, 26&lt;br /&gt;
|Dugtrio&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Dugtrio&#039;s talk scripts. Flag 25 is unused! Likely related to triggering CORO_EVENT_M00_04.&lt;br /&gt;
|-&lt;br /&gt;
|27, 28&lt;br /&gt;
|Pink Celebi&lt;br /&gt;
|D23P11A\um19&lt;br /&gt;
|Used in both Celebi talk scripts for the player to probe deeper about her not minding that she gets to spend more time with grovyle.&lt;br /&gt;
|-&lt;br /&gt;
|29-40&lt;br /&gt;
|Croagunk&lt;br /&gt;
|G01P04A\enter05.ssb&lt;br /&gt;
|Flags 36 and 38 are unused! By mistake, 37 and 39 are used two separate times for Croagunk&#039;s dialogue!&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Cresselia&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Cresselia&#039;s talk scripts. Used to remember if the player has rejected recruiting her to the team. Intended to only appear in H01P99A.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|-&lt;br /&gt;
|43-47&lt;br /&gt;
|Lapras&lt;br /&gt;
|D01P01A&lt;br /&gt;
|Used in all of Lapras&#039; talk scripts.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Vigoroth&lt;br /&gt;
|T01P02A&lt;br /&gt;
|Used for Vigoroth to give a shortened advertisement for the Marowak Dojo. Apparently he&#039;s &amp;quot;sponsored&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|49, 50&lt;br /&gt;
|Chatot&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Chatot&#039;s talk scripts. Used for dialogue relating to the player going to Amp Plains. Intended to only appear in G01P04A.&lt;br /&gt;
|-&lt;br /&gt;
|51-59&lt;br /&gt;
|Electivire&lt;br /&gt;
|T01P01A\enter06.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|60-62&lt;br /&gt;
|Marowak (Main Story)&lt;br /&gt;
|T01P03A\enter07.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|63-71&lt;br /&gt;
|Kangaskhan&lt;br /&gt;
|T01P02A\enter10.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|72-83&lt;br /&gt;
|Green Kecleon&lt;br /&gt;
|T01P02A\enter12.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|84-95&lt;br /&gt;
|Purple Kecleon&lt;br /&gt;
|T01P02A\enter11.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|96-102&lt;br /&gt;
|Xatu&lt;br /&gt;
|T01P02A\enter09.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|103-109&lt;br /&gt;
|Chansey&lt;br /&gt;
|T01P01A\enter07.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|110-118&lt;br /&gt;
|Duskull&lt;br /&gt;
|T01P01A\enter05.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|119&lt;br /&gt;
|Pelipper (Rescue)&lt;br /&gt;
|S01P02A\enter02.ssb&lt;br /&gt;
|Used to remember if the player has ever been &amp;quot;welcomed&amp;quot; to Pelipper Island before after selecting &amp;quot;Go Rescue&amp;quot; on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
|120&lt;br /&gt;
|Pelipper (Explore)&lt;br /&gt;
|S01P02A\enter07.ssb&lt;br /&gt;
|Used to remember if the player has ever been &amp;quot;welcomed&amp;quot; to Pelipper Island before after selecting &amp;quot;Standby Adventure&amp;quot; on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
|121&lt;br /&gt;
|Partner&lt;br /&gt;
|Various&lt;br /&gt;
|Somewhat unclear. Seems to be some kind of game progress, possibly whether or not the partner has (through some means) told the hero that they want to check back on Sharpedo Bluff for Grovyle. Spawns a trigger in T02P02A if enabled.&lt;br /&gt;
|-&lt;br /&gt;
|122&lt;br /&gt;
|Shaymin (Guide)&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Shaymin&#039;s talk scripts throughout the mountain. Remembers if the player has rejected recruiting them to the team. Likely only intended to appear at the summit?&lt;br /&gt;
|-&lt;br /&gt;
|123&lt;br /&gt;
|Shaymin (Sky Gift)&lt;br /&gt;
|D73P11A&lt;br /&gt;
|Used to remember if Shaymin has told the player about Sky Gift delivery.&lt;br /&gt;
|-&lt;br /&gt;
|124&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|-&lt;br /&gt;
|125&lt;br /&gt;
|Pachirisu&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Pachirisu&#039;s talk scripts. Remembers if the player has received a Sky Gift from Pachirisu or not. Likely intended to be used somewhere on the mountain.&lt;br /&gt;
|-&lt;br /&gt;
|126&lt;br /&gt;
|Marowak (Bidoof) &lt;br /&gt;
|T01P03A\enter08.ssb&lt;br /&gt;
|Used to remember if Bidoof has claimed Marowak&#039;s Reviver Seed in the special episode. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|127&lt;br /&gt;
|Kangakshan (Bidoof) &lt;br /&gt;
|T01P02A\un0103.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Kangaskhan in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|128&lt;br /&gt;
|Duskull (Bidoof)&lt;br /&gt;
|T01P01A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Duskull in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|129&lt;br /&gt;
|Green Kecleon (Bidoof)&lt;br /&gt;
|T01P02A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Green Kecleon in the episode before. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|130&lt;br /&gt;
|Purple Kecleon (Bidoof)&lt;br /&gt;
|T01P02A\un0102.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Purple Kecleon in the episode before.  Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|131&lt;br /&gt;
|Wigglytuff (Bidoof)&lt;br /&gt;
|G01P05A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Wigglytuff after unlocking Deep Star Cave in the episode before. Runs CORO_EVENT_N00_01 if not.  &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|132&lt;br /&gt;
|Bidoof (Sunflora)&lt;br /&gt;
|G01P03A\un0401.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Bidoof in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|133&lt;br /&gt;
|Chimecho (Sunflora)&lt;br /&gt;
|G01P03A\un0402.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Chimecho in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|134&lt;br /&gt;
|Dugtrio (Sunflora)&lt;br /&gt;
|H01P99A\un0401.ssb&lt;br /&gt;
|Used to remeber if Sunflora has talked with Dugtrio in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|135&lt;br /&gt;
|Kangaskhan (Sunflora)&lt;br /&gt;
|T01P02A\un0404.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Kangaskhan in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|136&lt;br /&gt;
|Green Kecleon (Sunflora)&lt;br /&gt;
|T01P02A\un0406.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Green Kecleon in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|137&lt;br /&gt;
|Purple Kecleon (Sunflora)&lt;br /&gt;
|T01P02A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Purple Kecleon in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|138&lt;br /&gt;
|Vigoroth (Sunflora)&lt;br /&gt;
|T01P01A\un0404.ssb&lt;br /&gt;
|Used to remember if Sunflora was advertised to by Vigoroth in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|139&lt;br /&gt;
|Team Flame (Sunflora)&lt;br /&gt;
|G01P03A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora talked with Bellsprout of Team Flame in the episode before. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|140&lt;br /&gt;
|Duskull (Sunflora)&lt;br /&gt;
|T01P01A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora talked with Duskull in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|141+&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13 - SCENARIO_BALANCE_FLAG ===&lt;br /&gt;
Starts at 0 and gets increased as the player completes certain story events. Controls bag size, Wynaut/Spinda dungeon unlocks, and the spawn threshold value of pokémon, which restricts spawning of some species until this variable reaches a certain value. Is also used as a general game progression marker by other things, restriction certain mission types, the croagunk swap shop being able to contain a water float, and other things like that. &lt;br /&gt;
&lt;br /&gt;
==== Value changes ====&lt;br /&gt;
This table lists the exact story spots where the value of the flag is increased.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Story chapter&lt;br /&gt;
!Story event&lt;br /&gt;
!Scene&lt;br /&gt;
!Script&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|Start of a new game&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|3&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V03P12A&lt;br /&gt;
|m03a1314.ssb&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|6&lt;br /&gt;
|Expedition members are announced&lt;br /&gt;
|G01P04A&lt;br /&gt;
|m08a0301.ssb&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|9&lt;br /&gt;
|End of chapter&lt;br /&gt;
|P04P01C&lt;br /&gt;
|m10a1213.ssb&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|13&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V16P02A&lt;br /&gt;
|m16a0702.ssb&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|15&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V19P06A&lt;br /&gt;
|m19b1014.ssb&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Post-game 1&lt;br /&gt;
|After graduating and moving to Sharpedo Bluff&lt;br /&gt;
|H02P99A&lt;br /&gt;
|s01p1103.ssb&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Game complete&lt;br /&gt;
|The Ursarings tell Hero and Partner they can evolve&lt;br /&gt;
(After unlocking Marine Resort) &lt;br /&gt;
|T01P01A&lt;br /&gt;
|m00p1401.ssb&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Bag size ====&lt;br /&gt;
This table lists the maximum bag size depending on the current value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Bag size&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|48&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|48&lt;br /&gt;
|}&lt;br /&gt;
Values higher than 7 will read garbage data and cause crashes.&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;PERFORMANCE_PROGRESS_LIST[2]&amp;lt;/code&amp;gt; is 0, the bag will only have 1 slot, regardless of the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x14 - SCENARIO_BALANCE_DEBUG ===&lt;br /&gt;
If &amp;gt;= 0, overrides the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x15 - CRYSTAL_COLOR_01 ===&lt;br /&gt;
Used to keep track of the current color of the first crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x16 - CRYSTAL_COLOR_02 ===&lt;br /&gt;
Used to keep track of the current color of the second crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x17 - CRYSTAL_COLOR_03 ===&lt;br /&gt;
Used to keep track of the current color of the third crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
Outside of this puzzle, these 3 variables are completely unused by the base game!&lt;br /&gt;
&lt;br /&gt;
=== 0x18 - COMPULSORY_SAVE_POINT ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in the main story.&lt;br /&gt;
&lt;br /&gt;
=== 0x19 - COMPULSORY_SAVE_POINT_SIDE ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in special episode.&lt;br /&gt;
&lt;br /&gt;
=== 0x1a - SCENARIO_SELECT_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x1b - SCENARIO_MAIN_BIT_FLAG_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused, and is a huge list of flags that can be used locally, or in places the player is unable to save!&lt;br /&gt;
&lt;br /&gt;
=== 0x1c - GROUND_ENTER ===&lt;br /&gt;
The map ID the player is currently in the enter scene for.&lt;br /&gt;
&lt;br /&gt;
=== 0x1d - GROUND_ENTER_LINK ===&lt;br /&gt;
Set to zero by EVENT_FORMATION. Purpose Unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x1e - GROUND_GETOUT ===&lt;br /&gt;
The map ID of the enter scene the player was on before the current one. Usually used to decide where the player should enter from on the next map. &lt;br /&gt;
&lt;br /&gt;
=== 0x1f - GROUND_MAP ===&lt;br /&gt;
The map ID of the map currently rendered. Usually this is identical to GROUND_ENTER, unless the map that was loaded changes (Such as P01P01A changing to P01P03A when the cafe is unlocked). &lt;br /&gt;
&lt;br /&gt;
=== 0x20 - GROUND_PLACE ===&lt;br /&gt;
Determines the index for the map marker on the top-screen world map.&lt;br /&gt;
&lt;br /&gt;
=== 0x21 - GROUND_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x22 - GROUND_ENTER_LINK_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER_LINK used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x23 - GROUND_GETOUT_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_GETOUT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x24 - GROUND_MAP_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_MAP used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x25 - GROUND_PLACE_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_PLACE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x26 - DUNGEON_SELECT ===&lt;br /&gt;
The dungeon ID selected by the crossroads. Possibly reused elsewhere. &lt;br /&gt;
&lt;br /&gt;
=== 0x27 - DUNGEON_ENTER ===&lt;br /&gt;
Stores the dungeon ID the player enters, but only in DMODE_OPEN or DMODE_CLOSED. Otherwise, may be set to 214 or 215.  &lt;br /&gt;
&lt;br /&gt;
DUNGEON_ENTER_INDEX is a more reliable tracker of the dungeon ID.  &lt;br /&gt;
&lt;br /&gt;
=== 0x28 - DUNGEON_ENTER_MODE ===&lt;br /&gt;
Seems to be the DMODE of the dungeon being entered. &lt;br /&gt;
&lt;br /&gt;
=== 0x29 - DUNGEON_ENTER_INDEX ===&lt;br /&gt;
Is written on selecting a dungeon from the crossroads (and probably elsewhere). Generally used by the base game to remember the dungeon ID that the player is about to enter or has just exited. &lt;br /&gt;
&lt;br /&gt;
=== 0x2a - DUNGEON_ENTER_FREQUENCY ===&lt;br /&gt;
A running total of how many times the player has entered any dungeon. &lt;br /&gt;
&lt;br /&gt;
=== 0x2b - DUNGEON_RESULT ===&lt;br /&gt;
Stores how the dungeon was exited. Typically GROUND_START_MODE also stores this information, though that has other uses in ground mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Dungeon was cleared&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Escape Orb Used&lt;br /&gt;
|-&lt;br /&gt;
|Other&lt;br /&gt;
|Defeated in Dungeon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x2c - GROUND_START_MODE ===&lt;br /&gt;
The &amp;quot;mode&amp;quot; the game is in when it enters Ground Mode. Uses the same values as DUNGEON_RESULT when exiting a dungeon, but other values appear to be present. coroutine EVENT_FORMATION assigns it to 3, for unknown reasons.&lt;br /&gt;
&lt;br /&gt;
=== 0x2d - DUNGEON_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2e - DUNGEON_ENTER_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2f - DUNGEON_ENTER_INDEX_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_INDEX used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x30 - DUNGEON_ENTER_FREQUENCY_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_FREQUENCY used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x31 - DUNGEON_RESULT_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_RESULT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x32 - GROUND_START_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_START_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x33 - REQUEST_CLEAR_COUNT ===&lt;br /&gt;
Stores the number of jobs the player has completed at certain points in the story to determine when the next story event will occur. Will never increment above 100 in the base game.&lt;br /&gt;
&lt;br /&gt;
=== 0x34 - PLAYER_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_PLAYER when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ACTOR_ATTENDANT_BIPPA&lt;br /&gt;
|Bidoof&lt;br /&gt;
|Special Episode 1&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|ACTOR_ATTENDANT_PUPURIN&lt;br /&gt;
|Igglybuff&lt;br /&gt;
|Special Episode 2&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ACTOR_ATTENDANT_KIMAWARI&lt;br /&gt;
|Sunflora&lt;br /&gt;
|Special Episode 3&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ACTOR_ATTENDANT_FUTURE&lt;br /&gt;
|Grovyle&lt;br /&gt;
|Special Episode 5&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ACTOR_ATTENDANT_CHARMS&lt;br /&gt;
|Lopunny&lt;br /&gt;
|Special Episode 4&lt;br /&gt;
|-&lt;br /&gt;
|9+&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x35 - ATTENDANT1_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT1 (and possibly other related actors) when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5-9&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ACTOR_ATTENDANT_MANAFI&lt;br /&gt;
|Manaphy&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x36 - ATTENDANT2_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT2 when displayed.&lt;br /&gt;
&lt;br /&gt;
Will be &amp;quot;Nothing&amp;quot; unless it is 10, in which case Manaphy will slowly follow ATTENDANT1_KIND&lt;br /&gt;
&lt;br /&gt;
=== 0x37 - PLAYER_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of PLAYER_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x38 - ATTENDANT1_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT1_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x39 - ATTENDANT2_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT2_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x3a - FRIEND_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3b - UNIT_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3c - CARRY_GOLD ===&lt;br /&gt;
Stores the current amount of money carried by the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x3d - BANK_GOLD ===&lt;br /&gt;
Stores the current amount of money stored in Duskull&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
=== 0x3e - HERO_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial hero starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x3f - HERO_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial hero starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x40 - PARTNER_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial partner starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x41 - PARTNER_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial partner starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x42 - HERO_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the hero will use. In base game, only 4 and 5 are used for HERO_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Hero Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Male Pokemon&lt;br /&gt;
|Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Female/Genderless Pokemon&lt;br /&gt;
|Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x43 - PARTNER_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the partner will use. In base game, only 1, 2, and 3 are used for PARTNER_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Partner Species&lt;br /&gt;
!Use Case&lt;br /&gt;
!Example Dialogue Use&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Squirtle, Totodile, Chimchar, Meowth or Munchlax&lt;br /&gt;
|More &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|No more wimping out. I have to be brave today.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|All other Male Species&lt;br /&gt;
|Less &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. I have to steel my courage today.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|All female Species&lt;br /&gt;
|Least &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. Today I’m going to be brave.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x44 - RANDOM_REQUEST_NPC03_KIND ===&lt;br /&gt;
Determines the species of ACTOR_RANDOM_REQUEST_NPC03, or the Spinda Cafe client Pokémon. It is either a random Pokémon, Magnemite, or Togetic, depending on the mission.&lt;br /&gt;
&lt;br /&gt;
=== 0x45 - CONFIG_COLOR_KIND ===&lt;br /&gt;
The aura bow color determined by the personality quiz at the beginning of the game. Only ever used by wigglytuff to determine the color of aura bow given to the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x46 - ROM_VARIATION ===&lt;br /&gt;
Unknown, but hardcoded to zero.&lt;br /&gt;
&lt;br /&gt;
=== 0x47 - LANGUAGE_TYPE ===&lt;br /&gt;
Stores the language from DS Firmware. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Language&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Japanese&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|English&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|French&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|German&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Italian&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Spanish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x48 - GAME_MODE ===&lt;br /&gt;
Keeps track of the current game mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!ID&lt;br /&gt;
!Mode&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Top menu&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Normal play, including overworld and dungeons&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Special episode&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Rescue&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
There might be more valid values.&lt;br /&gt;
&lt;br /&gt;
=== 0x49 - EXECUTE_SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active. The base-game prefers this variable over SPECIAL_EPISODE_TYPE, though it is unknown if they differ at all.&lt;br /&gt;
&lt;br /&gt;
=== 0x4a - SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active, just like EXECUTE_SPECIAL_EPISODE_TYPE.&lt;br /&gt;
&lt;br /&gt;
=== 0x4b - SPECIAL_EPISODE_OPEN ===&lt;br /&gt;
Keeps track of what Special Episodes are unlocked.&lt;br /&gt;
&lt;br /&gt;
The following is the list of scripts where the Special Episodes are unlocked in the base-game:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[0] (Bidoof&#039;s Wish): V03P12A - m03a1314&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[1] (Igglybuff the Prodigy): P04P01C - m10a1213&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[2] (Today&#039;s Oh My Gosh): G01P04A - m16a0105&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[3] (Here Comes Team Charm!): D01P11A - m20a0101&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[4] (In the Future of Darkness): H02P99A - s01p1103&lt;br /&gt;
&lt;br /&gt;
=== 0x4c - SPECIAL_EPISODE_OPEN_OLD ===&lt;br /&gt;
Keeps track of what Special Episodes were started. Used to show an exclamation mark if the episode is opened but wasn&#039;t started.&lt;br /&gt;
&lt;br /&gt;
=== 0x4d - SPECIAL_EPISODE_CONQUEST ===&lt;br /&gt;
Keeps track of what Special Episodes did the player finished. Also unlocks the Special Episode&#039;s respective Clear Icons.&lt;br /&gt;
&lt;br /&gt;
Note: This specific script variable is not in any script. It is actually triggered by an &#039;&#039;&#039;adventure_log&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
The following is the list of the &#039;&#039;&#039;adventure_log&#039;&#039;&#039; that triggers this Script Variable and its location for each Special Episode:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[0] (Bidoof&#039;s Wish): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1000; in S04P01A - n03a3103&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[1] (Igglybuff the Prodigy): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1001; in S04P01A - n03a1704&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[2] (Today&#039;s Oh My Gosh): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1002; in S04P01A - n04a2606&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[3] (Here Comes Team Charm!): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1003; in S04P01A - n06a3909&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[4] (In the Future of Darkness): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1004; in S04P01A - n09a2212&lt;br /&gt;
&lt;br /&gt;
=== 0x4e - PERFORMANCE_PROGRESS_LIST ===&lt;br /&gt;
List of flags used to keep track of unlocked features and achievements. See [[Performance Progress Flags]] for the full list.&lt;br /&gt;
&lt;br /&gt;
=== 0x4f - DUNGEON_OPEN_LIST ===&lt;br /&gt;
List of unlocked dungeons. One bit per dungeon ID. If true, and the dungeon isn&#039;t on some blacklist, you can enter this dungeon from the crossroads/dojo/igglybuff&#039;s house/pelipper standby adventure. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_OPEN or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
=== 0x50 - DUNGEON_ENTER_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. This is checked at [NA]0x204CEE0, but never assigned. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x51 - DUNGEON_ARRIVE_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x52 - DUNGEON_CONQUEST_LIST ===&lt;br /&gt;
List of completed dungeons. One bit per dungeon ID. Automatically set on clearing any dungeon. &lt;br /&gt;
&lt;br /&gt;
In many cases, this bitfield renders other flags or variables redundant in a vanilla setting, especially certain $PERFORMANCE_PROGRESS_LIST flags that are always enabled after clearing certain dungeons for the first time. &lt;br /&gt;
&lt;br /&gt;
=== 0x53 - DUNGEON_PRESENT_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x54 - DUNGEON_REQUEST_LIST ===&lt;br /&gt;
List of dungeons that no longer have story progression. On completing a dungeon with this bit enabled, the player will enter [INSERT THE RIGHT COROUTINE HERE] in unionall. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_REQUEST or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
Contrary to the name, this field alone is insufficient for missions to show up on the job board! Only dungeon in DMODE_OPEN_AND_REQUEST can have missions, and other (hardcoded) conditions must be met. &lt;br /&gt;
&lt;br /&gt;
=== 0x55 - WORLD_MAP_MARK_LIST_NORMAL ===&lt;br /&gt;
Is adequately sized for the number of World Map Markers. Presumed Unused.&lt;br /&gt;
&lt;br /&gt;
=== 0x56 - WORLD_MAP_MARK_LIST_SPECIAL ===&lt;br /&gt;
Is adequately sized for the number of World Map Markers. Presumed Unused.&lt;br /&gt;
&lt;br /&gt;
=== 0x57 - WORLD_MAP_LEVEL ===&lt;br /&gt;
Seems to be used to track the area covered by clouds on the world map. &lt;br /&gt;
&lt;br /&gt;
=== 0x58 - POSITION_X ===&lt;br /&gt;
Stores the X-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x59 - POSITION_Y ===&lt;br /&gt;
Stores the Y-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5a - POSITION_HEIGHT ===&lt;br /&gt;
Stores the Z-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5b - POSITION_DIRECTION ===&lt;br /&gt;
Stores the direction an entity is facing when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5c - EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game, and is reset between scripts.&lt;br /&gt;
&lt;br /&gt;
=== 0x5d - DUNGEON_EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game (possibly while within dungeons?), and is reset between scripts. &lt;br /&gt;
&lt;br /&gt;
=== 0x5e - STATION_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x5f - STATION_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x60 - DELIVER_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x61 - DELIVER_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x62 - BIT_FUWARANTE_LOCAL ===&lt;br /&gt;
Keeps track of the Sky Peak stations the player visited. Used in the script for Drifblim&#039;s Gondola.&lt;br /&gt;
&lt;br /&gt;
=== 0x63 - LOTTERY_RESULT ===&lt;br /&gt;
Used to track what result should occur during the Recycle Shop Prize Ticket Lottery. Has no other use.&lt;br /&gt;
&lt;br /&gt;
=== 0x64 - ITEM_BACKUP ===&lt;br /&gt;
Unlikely to be a backup flag. Conveniently sized for item_GetVariable to extract the item ID and metadata.&lt;br /&gt;
&lt;br /&gt;
Used exclusively by the debug town. Unused in the context of vanilla EoS.&lt;br /&gt;
&lt;br /&gt;
=== 0x65 - ITEM_BACKUP_KUREKURE ===&lt;br /&gt;
Happiny requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x66 - ITEM_BACKUP_TAKE ===&lt;br /&gt;
Numel requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x67 - ITEM_BACKUP_GET ===&lt;br /&gt;
Numel gives this item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x68 - REQUEST_THANKS_RESULT_KIND ===&lt;br /&gt;
Stores the mission type of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x69 - REQUEST_THANKS_RESULT_VARIATION ===&lt;br /&gt;
Stores the mission subtype of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x6a - SUB30_TREASURE_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a treasure was found. &lt;br /&gt;
&lt;br /&gt;
=== 0x6b - SUB30_SPOT_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a new unexplored area was discovered. &lt;br /&gt;
&lt;br /&gt;
=== 0x6c - RECYCLE_COUNT ===&lt;br /&gt;
Stores the number of recycles the player has done. Is only updated by the base-game at the end of each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x6d - SUB30_SPOT_LEVEL ===&lt;br /&gt;
Keeps track of what dungeon was discovered by Project P. &lt;br /&gt;
&lt;br /&gt;
=== 0x6e - TEAM_RANK_EVENT_LEVEL ===&lt;br /&gt;
Updated by message_Menu(76) to the current guild rank. In vanilla, this only seems to happen on clearing a mission.  &lt;br /&gt;
&lt;br /&gt;
=== 0x6f - PLAY_OLD_GAME ===&lt;br /&gt;
True if the player answered yes to the question on the personality quiz that asks if you played Explorers of Time or Darkness. Increases the recruit rate of certain pokémon if you haven&#039;t recruited them yet.&lt;br /&gt;
&lt;br /&gt;
=== 0x70 - NOTE_MODIFY_FLAG ===&lt;br /&gt;
If true, the player will be forced to save on leaving Pelipper island. Likely indicative of whether a rescue has been attempted?&lt;br /&gt;
&lt;br /&gt;
=== 0x71 - SUB30_PROJECTP ===&lt;br /&gt;
If true, the player has viewed the Project P cutscene, and the recycle shop is capable of being upgraded.&lt;br /&gt;
&lt;br /&gt;
=== 0x72 - SUM ===&lt;br /&gt;
Seems to be a marker of the end of &amp;quot;normal&amp;quot; script variables.&lt;br /&gt;
&lt;br /&gt;
=== 0x400 - LOCAL0 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL0 in def 0 is distinct from $LOCAL0 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x401 - LOCAL1 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL1 indef 0 is distinct from $LOCAL1 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x402 - LOCAL2 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
=== 0x403 - LOCAL3 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
== Variable Lengths ==&lt;br /&gt;
Not all variables can store the same sized values! Some were allocated to be different sizes than others. Besides the standard sizes, there are 2 unusual variable sizes worth mentioning. &amp;quot;special&amp;quot; variable sizes are not stored in the same place as every other variable, and instead read some other value, such as the number of money the player currently has, or the current language of the ROM. &amp;quot;None&amp;quot; size is only used by the &amp;quot;SUM&amp;quot; variable, and has no allocated space at all. Below are a list of variables, their sizes, and how many there are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Variable&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Size&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Count&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|VERSION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONDITION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB1&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB2&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB3&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB4&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB5&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB6&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB7&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB8&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE02_TALK&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE06_ROOM&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE08_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE01_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x80 (128)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_TALK_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_FLAG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_DEBUG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_01&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_02&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_03&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG_BACKUP&lt;br /&gt;
|bit&lt;br /&gt;
|0x200 (512)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_SELECT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY&lt;br /&gt;
|uint16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY_BACKUP&lt;br /&gt;
|uint16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_CLEAR_COUNT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|FRIEND_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|UNIT_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CARRY_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|BANK_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RANDOM_REQUEST_NPC03_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_COLOR_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ROM_VARIATION&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LANGUAGE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GAME_MODE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|EXECUTE_SPECIAL_EPISODE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_TYPE&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN_OLD&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_CONQUEST&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|PERFORMANCE_PROGRESS_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x40 (64)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_OPEN_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ARRIVE_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_CONQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_PRESENT_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_REQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_NORMAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_SPECIAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_X&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_Y&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_HEIGHT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_DIRECTION&lt;br /&gt;
|int8&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|BIT_FUWARANTE_LOCAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|LOTTERY_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_KUREKURE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_TAKE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_GET&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_VARIATION&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_TREASURE_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RECYCLE_COUNT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|TEAM_RANK_EVENT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAY_OLD_GAME&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|NOTE_MODIFY_FLAG&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_PROJECTP&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUM&lt;br /&gt;
|none&lt;br /&gt;
|0x0 (0)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL0&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL1&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL2&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL3&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1412</id>
		<title>List of Script Variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1412"/>
		<updated>2026-01-18T06:53:26Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* 0x55 - WORLD_MAP_MARK_LIST_NORMAL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the variables available on the scripting engine. They can be read or written to from scripts.&lt;br /&gt;
&lt;br /&gt;
Some variables store a single value, whereas others can store multiple bitflags.&lt;br /&gt;
&lt;br /&gt;
== List of variables ==&lt;br /&gt;
&lt;br /&gt;
=== 0x0 - VERSION ===&lt;br /&gt;
Seems to be used to keep track of save file versions. It&#039;s stored in the save file when the game is saved. When loading a save file, if the version value in it doesn&#039;t match the value of this variable, the save file is deleted.&lt;br /&gt;
&lt;br /&gt;
=== 0x1 - CONDITION ===&lt;br /&gt;
Completely unused. Purpose unknown...&lt;br /&gt;
&lt;br /&gt;
=== 0x2 - SCENARIO_SELECT ===&lt;br /&gt;
Two indexed values determined via the Top Menu. These are referenced by Unionall for general control flow.&lt;br /&gt;
&lt;br /&gt;
To be a bit more specific, the first coroutine run after the Top Menu is EVENT_DIVIDE, which checks for these indexed values. In doing so, the game knows when to load scripts from maingame, a Special Episode, or Rescue mode.&lt;br /&gt;
&lt;br /&gt;
During mission rewards, the second index is used to track the index of the mission being processed in the job list.&lt;br /&gt;
&lt;br /&gt;
=== 0x3 - SCENARIO_MAIN ===&lt;br /&gt;
Stores game progress. The first value correlates with the MAIN value (mostly aligns with the story chapter), while the second is generally used to track progress within that MAIN. For the page detailing what these values mean, please see the [[Scenario Main Values]] article. &lt;br /&gt;
&lt;br /&gt;
=== 0x4 - SCENARIO_SIDE ===&lt;br /&gt;
Like SCENARIO_MAIN, but for special episode progress.&lt;br /&gt;
&lt;br /&gt;
=== 0x5 - SCENARIO_SUB1 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x6 - SCENARIO_SUB2 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x7 - SCENARIO_SUB3 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x8 - SCENARIO_SUB4 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x9 - SCENARIO_SUB5 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xa - SCENARIO_SUB6 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xb - SCENARIO_SUB7 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xc - SCENARIO_SUB8 ===&lt;br /&gt;
As far as is currently known, SCENARIO_SUB1 through SCENARIO_SUB8 are completely unused by the base-game! Perhaps they were intended to store side-quest progress of some sort?&lt;br /&gt;
&lt;br /&gt;
=== 0xd - SIDE02_TALK ===&lt;br /&gt;
Three bit flags that keeps track of the neighbors Igglybuff talked to in Special Episode 2&lt;br /&gt;
&lt;br /&gt;
=== 0xe - SIDE06_ROOM ===&lt;br /&gt;
Three bit flags that keeps track of the Limestone Cavern paths Team Charm visited in Special Episode 4&lt;br /&gt;
&lt;br /&gt;
=== 0xf - SIDE08_BOSS2ND ===&lt;br /&gt;
True if the player lose against Sableyes in Barren Valley Clearing in Special Episode 5&lt;br /&gt;
&lt;br /&gt;
=== 0x10 - SIDE01_BOSS2ND ===&lt;br /&gt;
True if Snover has betrayed bidoof in Special Episode 1. Used to determine whether Snover will be an ally in Star Cave or not.&lt;br /&gt;
&lt;br /&gt;
=== 0x11 - SCENARIO_MAIN_BIT_FLAG ===&lt;br /&gt;
Has many purposes, sometimes have hardcoded or technical effects, but not always.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Number&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Gets set to 1 right after waking up in the guild. Used for the game to determine when partner dialogue should be changed to just &amp;quot;Good morning, [hero]...&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Will end the current day if EVENT_DIVIDE is run.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Similar to 3. Seems to be related to missions&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Gets set to 1 if the player decides to go the wrong way during an expedition.&lt;br /&gt;
|-&lt;br /&gt;
|6, 7, 8&lt;br /&gt;
|Used to remember how the game was saved last.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Used in G01P04A/um07. When it&#039;s not set, the game spawns triggers. Upon walkng to them, Croagunk calls hero and partner to tell that the Croagunk Swap Shop is now opened.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do jobs.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do sentry duty. &lt;br /&gt;
|-&lt;br /&gt;
|12, 13&lt;br /&gt;
|Marowak Dojo First Entry/ Final Maze Opening&lt;br /&gt;
|-&lt;br /&gt;
|14-23&lt;br /&gt;
|Used in Marowak&#039;s Dojo. If none of them are set, the player finished all the dojo dungeons.&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|Gets set when the player finishes all dojo dungeons. Used to only show a cutscene about the full dojo completion once. &lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|Gets set to 0 before the check whether it&#039;s set to 1 or not during a cutscene after finishing the Final Maze.&lt;br /&gt;
|-&lt;br /&gt;
|26, 27&lt;br /&gt;
|Unused&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Gets set to 1 when the player finishes Final Maze. Used to give another cutscene if the Final Maze gets finished again. &lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|Gets set to 1 if the player decides to go back to the previous location(or back to the town) from the checkpoint.&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Seems to be used in TITLE_TEST to distinguish between Time and Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Gets set to 1 when the player presses Go Rescue for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Gets set to 1 when the player presses Standby Adventure for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|33-39&lt;br /&gt;
|Used after collecting one of the seven treasures. If none of them are set, the game gives a Seven Treasures collection checkmark.&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|Gets set if the player interacts with anything on the Pelipper Island. If set, the game will save upon leaving the island.&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Gets set to 1 when Chimecho tells hero and partner that they&#039;re now able to change team leader. Used to only show this cutscene once.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|Gets set to 1 when the partner says good morning to hero in Sharpedo Bluff, while $SCENARIO_MAIN is 29, 92. Used to only show this cutscene once, as it&#039;s called in coroutine EVENT_DIVIDE_AFTER, that is called really often.&lt;br /&gt;
|-&lt;br /&gt;
|43-45&lt;br /&gt;
|Aegis Cave&#039;s ice, rock and steel puzzles completion.&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|Gets set to 1 if the player Drifblim&#039;s Gondola. Used to show a cutscene where Drifblim thanks hero and partner for using his service.&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|Gets set to 1 when player talks with Ampharos about Sneasel&#039;s Sky Gift.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Gets set to 1 when the player gets Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|Gets set to 1 when the player leaves the station clearing after getting Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|50-60&lt;br /&gt;
|Sky Gift had been sent to Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk and partner respectively.&lt;br /&gt;
|-&lt;br /&gt;
|61&lt;br /&gt;
|Gets set to 1 when the player gives an item to Happiny.&lt;br /&gt;
|-&lt;br /&gt;
|62-73&lt;br /&gt;
|Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk, partner and Happiny respectively sent a Sky Gift to hero.&lt;br /&gt;
|-&lt;br /&gt;
|74-77&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station Clearing respectively. Happiny will always spawn on the 1st station if ITEM_BACKUP_GET = ITEM_BACKUP_TAKE.&lt;br /&gt;
|-&lt;br /&gt;
|78-81&lt;br /&gt;
|Used to decide whether Numel will appear on the 1st/3rd/5th/7th Station Clearing respectively. &lt;br /&gt;
|-&lt;br /&gt;
|82&lt;br /&gt;
|Gets set to 1 if the player already swapped items with Numel in the current attempt to climb to Sky Peak Summit.&lt;br /&gt;
|-&lt;br /&gt;
|83-87&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station/Summit Clearing respectively.&lt;br /&gt;
|-&lt;br /&gt;
|88&lt;br /&gt;
|Gets set to 1 when the player claims Jumpluff&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|89&lt;br /&gt;
|Used to decide whether Delibird should appear on the 9th Station Clearing. The chance of it being set is 50% each climbing attempt.&lt;br /&gt;
|-&lt;br /&gt;
|90&lt;br /&gt;
|Gets set to 1 when the player claims Delibird&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|91&lt;br /&gt;
|Gets set to 1 if the player gives an item to Heracross.&lt;br /&gt;
|-&lt;br /&gt;
|92&lt;br /&gt;
|Used to decide if a bottle should appear on the beach. The chance of it being set is 10%&lt;br /&gt;
|-&lt;br /&gt;
|93&lt;br /&gt;
|Used to decide if a client should appear in the cafe. The chance of it being set is 80%&lt;br /&gt;
|-&lt;br /&gt;
|94&lt;br /&gt;
|Gets set to 1 if the player receives a Gracidea.&lt;br /&gt;
|-&lt;br /&gt;
|95&lt;br /&gt;
|Gets set to 1 when Ursaring says that hero and partner can evolve.&lt;br /&gt;
|-&lt;br /&gt;
|96&lt;br /&gt;
|Gets set to 1 when Krabby says that bottles can appear on the beach.&lt;br /&gt;
|-&lt;br /&gt;
|97&lt;br /&gt;
|Gets set to 1 when Chimecho asks hero if recruits can stay at the cafe.&lt;br /&gt;
|-&lt;br /&gt;
|98&lt;br /&gt;
|Gets set to 1 in m00a01a. Doesn&#039;t seem to be used anywhere else.&lt;br /&gt;
|-&lt;br /&gt;
|99-127&lt;br /&gt;
|Unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12 - SCENARIO_TALK_BIT_FLAG ===&lt;br /&gt;
Up through [140] are in use, and they primarily exist to remember if the player has already talked with an NPC (therefore playing modified or shorter dialogue the second time around). For example, every merchant in treasure town comments on the player&#039;s accomplishments (like defeating Darkrai) the first time you talk to them. Whether that conversation has happened yet is tracked with SCENARIO_TALK_BIT_FLAG.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Number&lt;br /&gt;
!Used By&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Cafe Client&lt;br /&gt;
|P01P04A\enter11.ssb&lt;br /&gt;
|Used by the Cafe Client for the Gabite Mission, and the 7-Treasures Missions. In both Mission types, it&#039;s used to skip the lengthy exposition for the mission if the player declined the job earlier in the day. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Spoink&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Spoink&#039;s talk scripts. Used to remember if Spoink has given the player their helpful exploration tip about enemies not moving unless you do.&lt;br /&gt;
|-&lt;br /&gt;
|3-22&lt;br /&gt;
|Chimecho&lt;br /&gt;
|G01P03A&lt;br /&gt;
|Used in all of Chimecho&#039;s talk scripts. Flag 18 is unused!&lt;br /&gt;
|-&lt;br /&gt;
|23, 24, 26&lt;br /&gt;
|Dugtrio&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Dugtrio&#039;s talk scripts. Flag 25 is unused! Likely related to triggering CORO_EVENT_M00_04.&lt;br /&gt;
|-&lt;br /&gt;
|27, 28&lt;br /&gt;
|Pink Celebi&lt;br /&gt;
|D23P11A\um19&lt;br /&gt;
|Used in both Celebi talk scripts for the player to probe deeper about her not minding that she gets to spend more time with grovyle.&lt;br /&gt;
|-&lt;br /&gt;
|29-40&lt;br /&gt;
|Croagunk&lt;br /&gt;
|G01P04A\enter05.ssb&lt;br /&gt;
|Flags 36 and 38 are unused! By mistake, 37 and 39 are used two separate times for Croagunk&#039;s dialogue!&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Cresselia&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Cresselia&#039;s talk scripts. Used to remember if the player has rejected recruiting her to the team. Intended to only appear in H01P99A.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|-&lt;br /&gt;
|43-47&lt;br /&gt;
|Lapras&lt;br /&gt;
|D01P01A&lt;br /&gt;
|Used in all of Lapras&#039; talk scripts.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Vigoroth&lt;br /&gt;
|T01P02A&lt;br /&gt;
|Used for Vigoroth to give a shortened advertisement for the Marowak Dojo. Apparently he&#039;s &amp;quot;sponsored&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|49, 50&lt;br /&gt;
|Chatot&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Chatot&#039;s talk scripts. Used for dialogue relating to the player going to Amp Plains. Intended to only appear in G01P04A.&lt;br /&gt;
|-&lt;br /&gt;
|51-59&lt;br /&gt;
|Electivire&lt;br /&gt;
|T01P01A\enter06.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|60-62&lt;br /&gt;
|Marowak (Main Story)&lt;br /&gt;
|T01P03A\enter07.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|63-71&lt;br /&gt;
|Kangaskhan&lt;br /&gt;
|T01P02A\enter10.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|72-83&lt;br /&gt;
|Green Kecleon&lt;br /&gt;
|T01P02A\enter12.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|84-95&lt;br /&gt;
|Purple Kecleon&lt;br /&gt;
|T01P02A\enter11.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|96-102&lt;br /&gt;
|Xatu&lt;br /&gt;
|T01P02A\enter09.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|103-109&lt;br /&gt;
|Chansey&lt;br /&gt;
|T01P01A\enter07.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|110-118&lt;br /&gt;
|Duskull&lt;br /&gt;
|T01P01A\enter05.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|119&lt;br /&gt;
|Pelipper (Rescue)&lt;br /&gt;
|S01P02A\enter02.ssb&lt;br /&gt;
|Used to remember if the player has ever been &amp;quot;welcomed&amp;quot; to Pelipper Island before after selecting &amp;quot;Go Rescue&amp;quot; on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
|120&lt;br /&gt;
|Pelipper (Explore)&lt;br /&gt;
|S01P02A\enter07.ssb&lt;br /&gt;
|Used to remember if the player has ever been &amp;quot;welcomed&amp;quot; to Pelipper Island before after selecting &amp;quot;Standby Adventure&amp;quot; on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
|121&lt;br /&gt;
|Partner&lt;br /&gt;
|Various&lt;br /&gt;
|Somewhat unclear. Seems to be some kind of game progress, possibly whether or not the partner has (through some means) told the hero that they want to check back on Sharpedo Bluff for Grovyle. Spawns a trigger in T02P02A if enabled.&lt;br /&gt;
|-&lt;br /&gt;
|122&lt;br /&gt;
|Shaymin (Guide)&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Shaymin&#039;s talk scripts throughout the mountain. Remembers if the player has rejected recruiting them to the team. Likely only intended to appear at the summit?&lt;br /&gt;
|-&lt;br /&gt;
|123&lt;br /&gt;
|Shaymin (Sky Gift)&lt;br /&gt;
|D73P11A&lt;br /&gt;
|Used to remember if Shaymin has told the player about Sky Gift delivery.&lt;br /&gt;
|-&lt;br /&gt;
|124&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|-&lt;br /&gt;
|125&lt;br /&gt;
|Pachirisu&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Pachirisu&#039;s talk scripts. Remembers if the player has received a Sky Gift from Pachirisu or not. Likely intended to be used somewhere on the mountain.&lt;br /&gt;
|-&lt;br /&gt;
|126&lt;br /&gt;
|Marowak (Bidoof) &lt;br /&gt;
|T01P03A\enter08.ssb&lt;br /&gt;
|Used to remember if Bidoof has claimed Marowak&#039;s Reviver Seed in the special episode. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|127&lt;br /&gt;
|Kangakshan (Bidoof) &lt;br /&gt;
|T01P02A\un0103.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Kangaskhan in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|128&lt;br /&gt;
|Duskull (Bidoof)&lt;br /&gt;
|T01P01A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Duskull in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|129&lt;br /&gt;
|Green Kecleon (Bidoof)&lt;br /&gt;
|T01P02A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Green Kecleon in the episode before. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|130&lt;br /&gt;
|Purple Kecleon (Bidoof)&lt;br /&gt;
|T01P02A\un0102.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Purple Kecleon in the episode before.  Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|131&lt;br /&gt;
|Wigglytuff (Bidoof)&lt;br /&gt;
|G01P05A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Wigglytuff after unlocking Deep Star Cave in the episode before. Runs CORO_EVENT_N00_01 if not.  &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|132&lt;br /&gt;
|Bidoof (Sunflora)&lt;br /&gt;
|G01P03A\un0401.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Bidoof in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|133&lt;br /&gt;
|Chimecho (Sunflora)&lt;br /&gt;
|G01P03A\un0402.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Chimecho in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|134&lt;br /&gt;
|Dugtrio (Sunflora)&lt;br /&gt;
|H01P99A\un0401.ssb&lt;br /&gt;
|Used to remeber if Sunflora has talked with Dugtrio in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|135&lt;br /&gt;
|Kangaskhan (Sunflora)&lt;br /&gt;
|T01P02A\un0404.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Kangaskhan in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|136&lt;br /&gt;
|Green Kecleon (Sunflora)&lt;br /&gt;
|T01P02A\un0406.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Green Kecleon in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|137&lt;br /&gt;
|Purple Kecleon (Sunflora)&lt;br /&gt;
|T01P02A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Purple Kecleon in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|138&lt;br /&gt;
|Vigoroth (Sunflora)&lt;br /&gt;
|T01P01A\un0404.ssb&lt;br /&gt;
|Used to remember if Sunflora was advertised to by Vigoroth in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|139&lt;br /&gt;
|Team Flame (Sunflora)&lt;br /&gt;
|G01P03A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora talked with Bellsprout of Team Flame in the episode before. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|140&lt;br /&gt;
|Duskull (Sunflora)&lt;br /&gt;
|T01P01A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora talked with Duskull in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|141+&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13 - SCENARIO_BALANCE_FLAG ===&lt;br /&gt;
Starts at 0 and gets increased as the player completes certain story events. Controls bag size, Wynaut/Spinda dungeon unlocks, and the spawn threshold value of pokémon, which restricts spawning of some species until this variable reaches a certain value. Is also used as a general game progression marker by other things, restriction certain mission types, the croagunk swap shop being able to contain a water float, and other things like that. &lt;br /&gt;
&lt;br /&gt;
==== Value changes ====&lt;br /&gt;
This table lists the exact story spots where the value of the flag is increased.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Story chapter&lt;br /&gt;
!Story event&lt;br /&gt;
!Scene&lt;br /&gt;
!Script&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|Start of a new game&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|3&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V03P12A&lt;br /&gt;
|m03a1314.ssb&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|6&lt;br /&gt;
|Expedition members are announced&lt;br /&gt;
|G01P04A&lt;br /&gt;
|m08a0301.ssb&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|9&lt;br /&gt;
|End of chapter&lt;br /&gt;
|P04P01C&lt;br /&gt;
|m10a1213.ssb&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|13&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V16P02A&lt;br /&gt;
|m16a0702.ssb&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|15&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V19P06A&lt;br /&gt;
|m19b1014.ssb&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Post-game 1&lt;br /&gt;
|After graduating and moving to Sharpedo Bluff&lt;br /&gt;
|H02P99A&lt;br /&gt;
|s01p1103.ssb&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Game complete&lt;br /&gt;
|The Ursarings tell Hero and Partner they can evolve&lt;br /&gt;
(After unlocking Marine Resort) &lt;br /&gt;
|T01P01A&lt;br /&gt;
|m00p1401.ssb&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Bag size ====&lt;br /&gt;
This table lists the maximum bag size depending on the current value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Bag size&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|48&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|48&lt;br /&gt;
|}&lt;br /&gt;
Values higher than 7 will read garbage data and cause crashes.&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;PERFORMANCE_PROGRESS_LIST[2]&amp;lt;/code&amp;gt; is 0, the bag will only have 1 slot, regardless of the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x14 - SCENARIO_BALANCE_DEBUG ===&lt;br /&gt;
If &amp;gt;= 0, overrides the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x15 - CRYSTAL_COLOR_01 ===&lt;br /&gt;
Used to keep track of the current color of the first crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x16 - CRYSTAL_COLOR_02 ===&lt;br /&gt;
Used to keep track of the current color of the second crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x17 - CRYSTAL_COLOR_03 ===&lt;br /&gt;
Used to keep track of the current color of the third crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
Outside of this puzzle, these 3 variables are completely unused by the base game!&lt;br /&gt;
&lt;br /&gt;
=== 0x18 - COMPULSORY_SAVE_POINT ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in the main story.&lt;br /&gt;
&lt;br /&gt;
=== 0x19 - COMPULSORY_SAVE_POINT_SIDE ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in special episode.&lt;br /&gt;
&lt;br /&gt;
=== 0x1a - SCENARIO_SELECT_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x1b - SCENARIO_MAIN_BIT_FLAG_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused, and is a huge list of flags that can be used locally, or in places the player is unable to save!&lt;br /&gt;
&lt;br /&gt;
=== 0x1c - GROUND_ENTER ===&lt;br /&gt;
The map ID the player is currently in the enter scene for.&lt;br /&gt;
&lt;br /&gt;
=== 0x1d - GROUND_ENTER_LINK ===&lt;br /&gt;
Set to zero by EVENT_FORMATION. Purpose Unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x1e - GROUND_GETOUT ===&lt;br /&gt;
The map ID of the enter scene the player was on before the current one. Usually used to decide where the player should enter from on the next map. &lt;br /&gt;
&lt;br /&gt;
=== 0x1f - GROUND_MAP ===&lt;br /&gt;
The map ID of the map currently rendered. Usually this is identical to GROUND_ENTER, unless the map that was loaded changes (Such as P01P01A changing to P01P03A when the cafe is unlocked). &lt;br /&gt;
&lt;br /&gt;
=== 0x20 - GROUND_PLACE ===&lt;br /&gt;
Determines the index for the map marker on the top-screen world map.&lt;br /&gt;
&lt;br /&gt;
=== 0x21 - GROUND_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x22 - GROUND_ENTER_LINK_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER_LINK used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x23 - GROUND_GETOUT_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_GETOUT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x24 - GROUND_MAP_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_MAP used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x25 - GROUND_PLACE_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_PLACE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x26 - DUNGEON_SELECT ===&lt;br /&gt;
The dungeon ID selected by the crossroads. Possibly reused elsewhere. &lt;br /&gt;
&lt;br /&gt;
=== 0x27 - DUNGEON_ENTER ===&lt;br /&gt;
Stores the dungeon ID the player enters, but only in DMODE_OPEN or DMODE_CLOSED. Otherwise, may be set to 214 or 215.  &lt;br /&gt;
&lt;br /&gt;
DUNGEON_ENTER_INDEX is a more reliable tracker of the dungeon ID.  &lt;br /&gt;
&lt;br /&gt;
=== 0x28 - DUNGEON_ENTER_MODE ===&lt;br /&gt;
Seems to be the DMODE of the dungeon being entered. &lt;br /&gt;
&lt;br /&gt;
=== 0x29 - DUNGEON_ENTER_INDEX ===&lt;br /&gt;
Is written on selecting a dungeon from the crossroads (and probably elsewhere). Generally used by the base game to remember the dungeon ID that the player is about to enter or has just exited. &lt;br /&gt;
&lt;br /&gt;
=== 0x2a - DUNGEON_ENTER_FREQUENCY ===&lt;br /&gt;
A running total of how many times the player has entered any dungeon. &lt;br /&gt;
&lt;br /&gt;
=== 0x2b - DUNGEON_RESULT ===&lt;br /&gt;
Stores how the dungeon was exited. Typically GROUND_START_MODE also stores this information, though that has other uses in ground mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Dungeon was cleared&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Escape Orb Used&lt;br /&gt;
|-&lt;br /&gt;
|Other&lt;br /&gt;
|Defeated in Dungeon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x2c - GROUND_START_MODE ===&lt;br /&gt;
The &amp;quot;mode&amp;quot; the game is in when it enters Ground Mode. Uses the same values as DUNGEON_RESULT when exiting a dungeon, but other values appear to be present. coroutine EVENT_FORMATION assigns it to 3, for unknown reasons.&lt;br /&gt;
&lt;br /&gt;
=== 0x2d - DUNGEON_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2e - DUNGEON_ENTER_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2f - DUNGEON_ENTER_INDEX_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_INDEX used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x30 - DUNGEON_ENTER_FREQUENCY_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_FREQUENCY used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x31 - DUNGEON_RESULT_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_RESULT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x32 - GROUND_START_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_START_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x33 - REQUEST_CLEAR_COUNT ===&lt;br /&gt;
Stores the number of jobs the player has completed at certain points in the story to determine when the next story event will occur. Will never increment above 100 in the base game.&lt;br /&gt;
&lt;br /&gt;
=== 0x34 - PLAYER_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_PLAYER when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ACTOR_ATTENDANT_BIPPA&lt;br /&gt;
|Bidoof&lt;br /&gt;
|Special Episode 1&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|ACTOR_ATTENDANT_PUPURIN&lt;br /&gt;
|Igglybuff&lt;br /&gt;
|Special Episode 2&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ACTOR_ATTENDANT_KIMAWARI&lt;br /&gt;
|Sunflora&lt;br /&gt;
|Special Episode 3&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ACTOR_ATTENDANT_FUTURE&lt;br /&gt;
|Grovyle&lt;br /&gt;
|Special Episode 5&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ACTOR_ATTENDANT_CHARMS&lt;br /&gt;
|Lopunny&lt;br /&gt;
|Special Episode 4&lt;br /&gt;
|-&lt;br /&gt;
|9+&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x35 - ATTENDANT1_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT1 (and possibly other related actors) when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5-9&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ACTOR_ATTENDANT_MANAFI&lt;br /&gt;
|Manaphy&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x36 - ATTENDANT2_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT2 when displayed.&lt;br /&gt;
&lt;br /&gt;
Will be &amp;quot;Nothing&amp;quot; unless it is 10, in which case Manaphy will slowly follow ATTENDANT1_KIND&lt;br /&gt;
&lt;br /&gt;
=== 0x37 - PLAYER_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of PLAYER_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x38 - ATTENDANT1_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT1_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x39 - ATTENDANT2_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT2_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x3a - FRIEND_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3b - UNIT_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3c - CARRY_GOLD ===&lt;br /&gt;
Stores the current amount of money carried by the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x3d - BANK_GOLD ===&lt;br /&gt;
Stores the current amount of money stored in Duskull&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
=== 0x3e - HERO_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial hero starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x3f - HERO_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial hero starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x40 - PARTNER_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial partner starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x41 - PARTNER_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial partner starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x42 - HERO_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the hero will use. In base game, only 4 and 5 are used for HERO_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Hero Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Male Pokemon&lt;br /&gt;
|Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Female/Genderless Pokemon&lt;br /&gt;
|Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x43 - PARTNER_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the partner will use. In base game, only 1, 2, and 3 are used for PARTNER_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Partner Species&lt;br /&gt;
!Use Case&lt;br /&gt;
!Example Dialogue Use&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Squirtle, Totodile, Chimchar, Meowth or Munchlax&lt;br /&gt;
|More &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|No more wimping out. I have to be brave today.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|All other Male Species&lt;br /&gt;
|Less &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. I have to steel my courage today.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|All female Species&lt;br /&gt;
|Least &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. Today I’m going to be brave.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x44 - RANDOM_REQUEST_NPC03_KIND ===&lt;br /&gt;
Determines the species of ACTOR_RANDOM_REQUEST_NPC03, or the Spinda Cafe client Pokémon. It is either a random Pokémon, Magnemite, or Togetic, depending on the mission.&lt;br /&gt;
&lt;br /&gt;
=== 0x45 - CONFIG_COLOR_KIND ===&lt;br /&gt;
The aura bow color determined by the personality quiz at the beginning of the game. Only ever used by wigglytuff to determine the color of aura bow given to the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x46 - ROM_VARIATION ===&lt;br /&gt;
Unknown, but hardcoded to zero.&lt;br /&gt;
&lt;br /&gt;
=== 0x47 - LANGUAGE_TYPE ===&lt;br /&gt;
Stores the language from DS Firmware. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Language&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Japanese&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|English&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|French&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|German&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Italian&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Spanish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x48 - GAME_MODE ===&lt;br /&gt;
Keeps track of the current game mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!ID&lt;br /&gt;
!Mode&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Top menu&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Normal play, including overworld and dungeons&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Special episode&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Rescue&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
There might be more valid values.&lt;br /&gt;
&lt;br /&gt;
=== 0x49 - EXECUTE_SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active. The base-game prefers this variable over SPECIAL_EPISODE_TYPE, though it is unknown if they differ at all.&lt;br /&gt;
&lt;br /&gt;
=== 0x4a - SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active, just like EXECUTE_SPECIAL_EPISODE_TYPE.&lt;br /&gt;
&lt;br /&gt;
=== 0x4b - SPECIAL_EPISODE_OPEN ===&lt;br /&gt;
Keeps track of what Special Episodes are unlocked.&lt;br /&gt;
&lt;br /&gt;
The following is the list of scripts where the Special Episodes are unlocked in the base-game:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[0] (Bidoof&#039;s Wish): V03P12A - m03a1314&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[1] (Igglybuff the Prodigy): P04P01C - m10a1213&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[2] (Today&#039;s Oh My Gosh): G01P04A - m16a0105&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[3] (Here Comes Team Charm!): D01P11A - m20a0101&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[4] (In the Future of Darkness): H02P99A - s01p1103&lt;br /&gt;
&lt;br /&gt;
=== 0x4c - SPECIAL_EPISODE_OPEN_OLD ===&lt;br /&gt;
Keeps track of what Special Episodes were started. Used to show an exclamation mark if the episode is opened but wasn&#039;t started.&lt;br /&gt;
&lt;br /&gt;
=== 0x4d - SPECIAL_EPISODE_CONQUEST ===&lt;br /&gt;
Keeps track of what Special Episodes did the player finished. Also unlocks the Special Episode&#039;s respective Clear Icons.&lt;br /&gt;
&lt;br /&gt;
Note: This specific script variable is not in any script. It is actually triggered by an &#039;&#039;&#039;adventure_log&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
The following is the list of the &#039;&#039;&#039;adventure_log&#039;&#039;&#039; that triggers this Script Variable and its location for each Special Episode:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[0] (Bidoof&#039;s Wish): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1000; in S04P01A - n03a3103&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[1] (Igglybuff the Prodigy): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1001; in S04P01A - n03a1704&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[2] (Today&#039;s Oh My Gosh): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1002; in S04P01A - n04a2606&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[3] (Here Comes Team Charm!): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1003; in S04P01A - n06a3909&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[4] (In the Future of Darkness): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1004; in S04P01A - n09a2212&lt;br /&gt;
&lt;br /&gt;
=== 0x4e - PERFORMANCE_PROGRESS_LIST ===&lt;br /&gt;
List of flags used to keep track of unlocked features and achievements. See [[Performance Progress Flags]] for the full list.&lt;br /&gt;
&lt;br /&gt;
=== 0x4f - DUNGEON_OPEN_LIST ===&lt;br /&gt;
List of unlocked dungeons. One bit per dungeon ID. If true, and the dungeon isn&#039;t on some blacklist, you can enter this dungeon from the crossroads/dojo/igglybuff&#039;s house/pelipper standby adventure. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_OPEN or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
=== 0x50 - DUNGEON_ENTER_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. This is checked at [NA]0x204CEE0, but never assigned. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x51 - DUNGEON_ARRIVE_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x52 - DUNGEON_CONQUEST_LIST ===&lt;br /&gt;
List of completed dungeons. One bit per dungeon ID. Automatically set on clearing any dungeon. &lt;br /&gt;
&lt;br /&gt;
In many cases, this bitfield renders other flags or variables redundant in a vanilla setting, especially certain $PERFORMANCE_PROGRESS_LIST flags that are always enabled after clearing certain dungeons for the first time. &lt;br /&gt;
&lt;br /&gt;
=== 0x53 - DUNGEON_PRESENT_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x54 - DUNGEON_REQUEST_LIST ===&lt;br /&gt;
List of dungeons that no longer have story progression. On completing a dungeon with this bit enabled, the player will enter [INSERT THE RIGHT COROUTINE HERE] in unionall. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_REQUEST or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
Contrary to the name, this field alone is insufficient for missions to show up on the job board! Only dungeon in DMODE_OPEN_AND_REQUEST can have missions, and other (hardcoded) conditions must be met. &lt;br /&gt;
&lt;br /&gt;
=== 0x55 - WORLD_MAP_MARK_LIST_NORMAL ===&lt;br /&gt;
Is adequately sized for the number of World Map Markers. Presumed Unused.&lt;br /&gt;
&lt;br /&gt;
=== 0x56 - WORLD_MAP_MARK_LIST_SPECIAL ===&lt;br /&gt;
Is adequately sized for the number of World Map Markers. Presumed Unused.&lt;br /&gt;
&lt;br /&gt;
=== 0x57 - WORLD_MAP_LEVEL ===&lt;br /&gt;
Seems to be used to track the area covered by clouds on the world map. &lt;br /&gt;
&lt;br /&gt;
=== 0x58 - POSITION_X ===&lt;br /&gt;
Stores the X-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x59 - POSITION_Y ===&lt;br /&gt;
Stores the Y-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5a - POSITION_HEIGHT ===&lt;br /&gt;
Stores the Z-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5b - POSITION_DIRECTION ===&lt;br /&gt;
Stores the direction an entity is facing when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5c - EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game, and is reset between scripts.&lt;br /&gt;
&lt;br /&gt;
=== 0x5d - DUNGEON_EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game (possibly while within dungeons?), and is reset between scripts. &lt;br /&gt;
&lt;br /&gt;
=== 0x5e - STATION_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x5f - STATION_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x60 - DELIVER_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x61 - DELIVER_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x62 - BIT_FUWARANTE_LOCAL ===&lt;br /&gt;
Keeps track of the Sky Peak stations the player visited. Used in the script for Drifblim&#039;s Gondola.&lt;br /&gt;
&lt;br /&gt;
=== 0x63 - LOTTERY_RESULT ===&lt;br /&gt;
Used to track what result should occur during the Recycle Shop Prize Ticket Lottery. Has no other use.&lt;br /&gt;
&lt;br /&gt;
=== 0x64 - ITEM_BACKUP ===&lt;br /&gt;
Unlikely to be a backup flag. Conveniently sized for item_GetVariable to extract the item ID and metadata.&lt;br /&gt;
&lt;br /&gt;
Used somewhere in Sky Peak&lt;br /&gt;
&lt;br /&gt;
=== 0x65 - ITEM_BACKUP_KUREKURE ===&lt;br /&gt;
Happiny requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x66 - ITEM_BACKUP_TAKE ===&lt;br /&gt;
Numel requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x67 - ITEM_BACKUP_GET ===&lt;br /&gt;
Numel gives this item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x68 - REQUEST_THANKS_RESULT_KIND ===&lt;br /&gt;
Stores the mission type of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x69 - REQUEST_THANKS_RESULT_VARIATION ===&lt;br /&gt;
Stores the mission subtype of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x6a - SUB30_TREASURE_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a treasure was found. &lt;br /&gt;
&lt;br /&gt;
=== 0x6b - SUB30_SPOT_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a new unexplored area was discovered. &lt;br /&gt;
&lt;br /&gt;
=== 0x6c - RECYCLE_COUNT ===&lt;br /&gt;
Stores the number of recycles the player has done. Is only updated by the base-game at the end of each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x6d - SUB30_SPOT_LEVEL ===&lt;br /&gt;
Keeps track of what dungeon was discovered by Project P. &lt;br /&gt;
&lt;br /&gt;
=== 0x6e - TEAM_RANK_EVENT_LEVEL ===&lt;br /&gt;
Updated by message_Menu(76) to the current guild rank. In vanilla, this only seems to happen on clearing a mission.  &lt;br /&gt;
&lt;br /&gt;
=== 0x6f - PLAY_OLD_GAME ===&lt;br /&gt;
True if the player answered yes to the question on the personality quiz that asks if you played Explorers of Time or Darkness. Increases the recruit rate of certain pokémon if you haven&#039;t recruited them yet.&lt;br /&gt;
&lt;br /&gt;
=== 0x70 - NOTE_MODIFY_FLAG ===&lt;br /&gt;
If true, the player will be forced to save on leaving Pelipper island. Likely indicative of whether a rescue has been attempted?&lt;br /&gt;
&lt;br /&gt;
=== 0x71 - SUB30_PROJECTP ===&lt;br /&gt;
If true, the player has viewed the Project P cutscene, and the recycle shop is capable of being upgraded.&lt;br /&gt;
&lt;br /&gt;
=== 0x72 - SUM ===&lt;br /&gt;
Seems to be a marker of the end of &amp;quot;normal&amp;quot; script variables.&lt;br /&gt;
&lt;br /&gt;
=== 0x400 - LOCAL0 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL0 in def 0 is distinct from $LOCAL0 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x401 - LOCAL1 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL1 indef 0 is distinct from $LOCAL1 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x402 - LOCAL2 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
=== 0x403 - LOCAL3 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
== Variable Lengths ==&lt;br /&gt;
Not all variables can store the same sized values! Some were allocated to be different sizes than others. Besides the standard sizes, there are 2 unusual variable sizes worth mentioning. &amp;quot;special&amp;quot; variable sizes are not stored in the same place as every other variable, and instead read some other value, such as the number of money the player currently has, or the current language of the ROM. &amp;quot;None&amp;quot; size is only used by the &amp;quot;SUM&amp;quot; variable, and has no allocated space at all. Below are a list of variables, their sizes, and how many there are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Variable&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Size&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Count&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|VERSION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONDITION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB1&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB2&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB3&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB4&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB5&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB6&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB7&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB8&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE02_TALK&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE06_ROOM&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE08_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE01_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x80 (128)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_TALK_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_FLAG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_DEBUG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_01&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_02&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_03&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG_BACKUP&lt;br /&gt;
|bit&lt;br /&gt;
|0x200 (512)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_SELECT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY&lt;br /&gt;
|uint16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY_BACKUP&lt;br /&gt;
|uint16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_CLEAR_COUNT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|FRIEND_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|UNIT_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CARRY_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|BANK_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RANDOM_REQUEST_NPC03_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_COLOR_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ROM_VARIATION&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LANGUAGE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GAME_MODE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|EXECUTE_SPECIAL_EPISODE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_TYPE&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN_OLD&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_CONQUEST&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|PERFORMANCE_PROGRESS_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x40 (64)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_OPEN_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ARRIVE_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_CONQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_PRESENT_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_REQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_NORMAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_SPECIAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_X&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_Y&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_HEIGHT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_DIRECTION&lt;br /&gt;
|int8&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|BIT_FUWARANTE_LOCAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|LOTTERY_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_KUREKURE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_TAKE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_GET&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_VARIATION&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_TREASURE_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RECYCLE_COUNT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|TEAM_RANK_EVENT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAY_OLD_GAME&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|NOTE_MODIFY_FLAG&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_PROJECTP&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUM&lt;br /&gt;
|none&lt;br /&gt;
|0x0 (0)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL0&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL1&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL2&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL3&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1411</id>
		<title>List of Script Variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1411"/>
		<updated>2026-01-18T06:46:12Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* 0x13 - SCENARIO_BALANCE_FLAG */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the variables available on the scripting engine. They can be read or written to from scripts.&lt;br /&gt;
&lt;br /&gt;
Some variables store a single value, whereas others can store multiple bitflags.&lt;br /&gt;
&lt;br /&gt;
== List of variables ==&lt;br /&gt;
&lt;br /&gt;
=== 0x0 - VERSION ===&lt;br /&gt;
Seems to be used to keep track of save file versions. It&#039;s stored in the save file when the game is saved. When loading a save file, if the version value in it doesn&#039;t match the value of this variable, the save file is deleted.&lt;br /&gt;
&lt;br /&gt;
=== 0x1 - CONDITION ===&lt;br /&gt;
Completely unused. Purpose unknown...&lt;br /&gt;
&lt;br /&gt;
=== 0x2 - SCENARIO_SELECT ===&lt;br /&gt;
Two indexed values determined via the Top Menu. These are referenced by Unionall for general control flow.&lt;br /&gt;
&lt;br /&gt;
To be a bit more specific, the first coroutine run after the Top Menu is EVENT_DIVIDE, which checks for these indexed values. In doing so, the game knows when to load scripts from maingame, a Special Episode, or Rescue mode.&lt;br /&gt;
&lt;br /&gt;
During mission rewards, the second index is used to track the index of the mission being processed in the job list.&lt;br /&gt;
&lt;br /&gt;
=== 0x3 - SCENARIO_MAIN ===&lt;br /&gt;
Stores game progress. The first value correlates with the MAIN value (mostly aligns with the story chapter), while the second is generally used to track progress within that MAIN. For the page detailing what these values mean, please see the [[Scenario Main Values]] article. &lt;br /&gt;
&lt;br /&gt;
=== 0x4 - SCENARIO_SIDE ===&lt;br /&gt;
Like SCENARIO_MAIN, but for special episode progress.&lt;br /&gt;
&lt;br /&gt;
=== 0x5 - SCENARIO_SUB1 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x6 - SCENARIO_SUB2 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x7 - SCENARIO_SUB3 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x8 - SCENARIO_SUB4 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x9 - SCENARIO_SUB5 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xa - SCENARIO_SUB6 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xb - SCENARIO_SUB7 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xc - SCENARIO_SUB8 ===&lt;br /&gt;
As far as is currently known, SCENARIO_SUB1 through SCENARIO_SUB8 are completely unused by the base-game! Perhaps they were intended to store side-quest progress of some sort?&lt;br /&gt;
&lt;br /&gt;
=== 0xd - SIDE02_TALK ===&lt;br /&gt;
Three bit flags that keeps track of the neighbors Igglybuff talked to in Special Episode 2&lt;br /&gt;
&lt;br /&gt;
=== 0xe - SIDE06_ROOM ===&lt;br /&gt;
Three bit flags that keeps track of the Limestone Cavern paths Team Charm visited in Special Episode 4&lt;br /&gt;
&lt;br /&gt;
=== 0xf - SIDE08_BOSS2ND ===&lt;br /&gt;
True if the player lose against Sableyes in Barren Valley Clearing in Special Episode 5&lt;br /&gt;
&lt;br /&gt;
=== 0x10 - SIDE01_BOSS2ND ===&lt;br /&gt;
True if Snover has betrayed bidoof in Special Episode 1. Used to determine whether Snover will be an ally in Star Cave or not.&lt;br /&gt;
&lt;br /&gt;
=== 0x11 - SCENARIO_MAIN_BIT_FLAG ===&lt;br /&gt;
Has many purposes, sometimes have hardcoded or technical effects, but not always.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Number&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Gets set to 1 right after waking up in the guild. Used for the game to determine when partner dialogue should be changed to just &amp;quot;Good morning, [hero]...&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Will end the current day if EVENT_DIVIDE is run.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Similar to 3. Seems to be related to missions&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Gets set to 1 if the player decides to go the wrong way during an expedition.&lt;br /&gt;
|-&lt;br /&gt;
|6, 7, 8&lt;br /&gt;
|Used to remember how the game was saved last.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Used in G01P04A/um07. When it&#039;s not set, the game spawns triggers. Upon walkng to them, Croagunk calls hero and partner to tell that the Croagunk Swap Shop is now opened.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do jobs.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do sentry duty. &lt;br /&gt;
|-&lt;br /&gt;
|12, 13&lt;br /&gt;
|Marowak Dojo First Entry/ Final Maze Opening&lt;br /&gt;
|-&lt;br /&gt;
|14-23&lt;br /&gt;
|Used in Marowak&#039;s Dojo. If none of them are set, the player finished all the dojo dungeons.&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|Gets set when the player finishes all dojo dungeons. Used to only show a cutscene about the full dojo completion once. &lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|Gets set to 0 before the check whether it&#039;s set to 1 or not during a cutscene after finishing the Final Maze.&lt;br /&gt;
|-&lt;br /&gt;
|26, 27&lt;br /&gt;
|Unused&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Gets set to 1 when the player finishes Final Maze. Used to give another cutscene if the Final Maze gets finished again. &lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|Gets set to 1 if the player decides to go back to the previous location(or back to the town) from the checkpoint.&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Seems to be used in TITLE_TEST to distinguish between Time and Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Gets set to 1 when the player presses Go Rescue for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Gets set to 1 when the player presses Standby Adventure for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|33-39&lt;br /&gt;
|Used after collecting one of the seven treasures. If none of them are set, the game gives a Seven Treasures collection checkmark.&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|Gets set if the player interacts with anything on the Pelipper Island. If set, the game will save upon leaving the island.&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Gets set to 1 when Chimecho tells hero and partner that they&#039;re now able to change team leader. Used to only show this cutscene once.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|Gets set to 1 when the partner says good morning to hero in Sharpedo Bluff, while $SCENARIO_MAIN is 29, 92. Used to only show this cutscene once, as it&#039;s called in coroutine EVENT_DIVIDE_AFTER, that is called really often.&lt;br /&gt;
|-&lt;br /&gt;
|43-45&lt;br /&gt;
|Aegis Cave&#039;s ice, rock and steel puzzles completion.&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|Gets set to 1 if the player Drifblim&#039;s Gondola. Used to show a cutscene where Drifblim thanks hero and partner for using his service.&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|Gets set to 1 when player talks with Ampharos about Sneasel&#039;s Sky Gift.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Gets set to 1 when the player gets Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|Gets set to 1 when the player leaves the station clearing after getting Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|50-60&lt;br /&gt;
|Sky Gift had been sent to Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk and partner respectively.&lt;br /&gt;
|-&lt;br /&gt;
|61&lt;br /&gt;
|Gets set to 1 when the player gives an item to Happiny.&lt;br /&gt;
|-&lt;br /&gt;
|62-73&lt;br /&gt;
|Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk, partner and Happiny respectively sent a Sky Gift to hero.&lt;br /&gt;
|-&lt;br /&gt;
|74-77&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station Clearing respectively. Happiny will always spawn on the 1st station if ITEM_BACKUP_GET = ITEM_BACKUP_TAKE.&lt;br /&gt;
|-&lt;br /&gt;
|78-81&lt;br /&gt;
|Used to decide whether Numel will appear on the 1st/3rd/5th/7th Station Clearing respectively. &lt;br /&gt;
|-&lt;br /&gt;
|82&lt;br /&gt;
|Gets set to 1 if the player already swapped items with Numel in the current attempt to climb to Sky Peak Summit.&lt;br /&gt;
|-&lt;br /&gt;
|83-87&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station/Summit Clearing respectively.&lt;br /&gt;
|-&lt;br /&gt;
|88&lt;br /&gt;
|Gets set to 1 when the player claims Jumpluff&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|89&lt;br /&gt;
|Used to decide whether Delibird should appear on the 9th Station Clearing. The chance of it being set is 50% each climbing attempt.&lt;br /&gt;
|-&lt;br /&gt;
|90&lt;br /&gt;
|Gets set to 1 when the player claims Delibird&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|91&lt;br /&gt;
|Gets set to 1 if the player gives an item to Heracross.&lt;br /&gt;
|-&lt;br /&gt;
|92&lt;br /&gt;
|Used to decide if a bottle should appear on the beach. The chance of it being set is 10%&lt;br /&gt;
|-&lt;br /&gt;
|93&lt;br /&gt;
|Used to decide if a client should appear in the cafe. The chance of it being set is 80%&lt;br /&gt;
|-&lt;br /&gt;
|94&lt;br /&gt;
|Gets set to 1 if the player receives a Gracidea.&lt;br /&gt;
|-&lt;br /&gt;
|95&lt;br /&gt;
|Gets set to 1 when Ursaring says that hero and partner can evolve.&lt;br /&gt;
|-&lt;br /&gt;
|96&lt;br /&gt;
|Gets set to 1 when Krabby says that bottles can appear on the beach.&lt;br /&gt;
|-&lt;br /&gt;
|97&lt;br /&gt;
|Gets set to 1 when Chimecho asks hero if recruits can stay at the cafe.&lt;br /&gt;
|-&lt;br /&gt;
|98&lt;br /&gt;
|Gets set to 1 in m00a01a. Doesn&#039;t seem to be used anywhere else.&lt;br /&gt;
|-&lt;br /&gt;
|99-127&lt;br /&gt;
|Unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12 - SCENARIO_TALK_BIT_FLAG ===&lt;br /&gt;
Up through [140] are in use, and they primarily exist to remember if the player has already talked with an NPC (therefore playing modified or shorter dialogue the second time around). For example, every merchant in treasure town comments on the player&#039;s accomplishments (like defeating Darkrai) the first time you talk to them. Whether that conversation has happened yet is tracked with SCENARIO_TALK_BIT_FLAG.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Number&lt;br /&gt;
!Used By&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Cafe Client&lt;br /&gt;
|P01P04A\enter11.ssb&lt;br /&gt;
|Used by the Cafe Client for the Gabite Mission, and the 7-Treasures Missions. In both Mission types, it&#039;s used to skip the lengthy exposition for the mission if the player declined the job earlier in the day. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Spoink&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Spoink&#039;s talk scripts. Used to remember if Spoink has given the player their helpful exploration tip about enemies not moving unless you do.&lt;br /&gt;
|-&lt;br /&gt;
|3-22&lt;br /&gt;
|Chimecho&lt;br /&gt;
|G01P03A&lt;br /&gt;
|Used in all of Chimecho&#039;s talk scripts. Flag 18 is unused!&lt;br /&gt;
|-&lt;br /&gt;
|23, 24, 26&lt;br /&gt;
|Dugtrio&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Dugtrio&#039;s talk scripts. Flag 25 is unused! Likely related to triggering CORO_EVENT_M00_04.&lt;br /&gt;
|-&lt;br /&gt;
|27, 28&lt;br /&gt;
|Pink Celebi&lt;br /&gt;
|D23P11A\um19&lt;br /&gt;
|Used in both Celebi talk scripts for the player to probe deeper about her not minding that she gets to spend more time with grovyle.&lt;br /&gt;
|-&lt;br /&gt;
|29-40&lt;br /&gt;
|Croagunk&lt;br /&gt;
|G01P04A\enter05.ssb&lt;br /&gt;
|Flags 36 and 38 are unused! By mistake, 37 and 39 are used two separate times for Croagunk&#039;s dialogue!&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Cresselia&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Cresselia&#039;s talk scripts. Used to remember if the player has rejected recruiting her to the team. Intended to only appear in H01P99A.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|-&lt;br /&gt;
|43-47&lt;br /&gt;
|Lapras&lt;br /&gt;
|D01P01A&lt;br /&gt;
|Used in all of Lapras&#039; talk scripts.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Vigoroth&lt;br /&gt;
|T01P02A&lt;br /&gt;
|Used for Vigoroth to give a shortened advertisement for the Marowak Dojo. Apparently he&#039;s &amp;quot;sponsored&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|49, 50&lt;br /&gt;
|Chatot&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Chatot&#039;s talk scripts. Used for dialogue relating to the player going to Amp Plains. Intended to only appear in G01P04A.&lt;br /&gt;
|-&lt;br /&gt;
|51-59&lt;br /&gt;
|Electivire&lt;br /&gt;
|T01P01A\enter06.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|60-62&lt;br /&gt;
|Marowak (Main Story)&lt;br /&gt;
|T01P03A\enter07.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|63-71&lt;br /&gt;
|Kangaskhan&lt;br /&gt;
|T01P02A\enter10.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|72-83&lt;br /&gt;
|Green Kecleon&lt;br /&gt;
|T01P02A\enter12.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|84-95&lt;br /&gt;
|Purple Kecleon&lt;br /&gt;
|T01P02A\enter11.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|96-102&lt;br /&gt;
|Xatu&lt;br /&gt;
|T01P02A\enter09.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|103-109&lt;br /&gt;
|Chansey&lt;br /&gt;
|T01P01A\enter07.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|110-118&lt;br /&gt;
|Duskull&lt;br /&gt;
|T01P01A\enter05.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|119&lt;br /&gt;
|Pelipper (Rescue)&lt;br /&gt;
|S01P02A\enter02.ssb&lt;br /&gt;
|Used to remember if the player has ever been &amp;quot;welcomed&amp;quot; to Pelipper Island before after selecting &amp;quot;Go Rescue&amp;quot; on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
|120&lt;br /&gt;
|Pelipper (Explore)&lt;br /&gt;
|S01P02A\enter07.ssb&lt;br /&gt;
|Used to remember if the player has ever been &amp;quot;welcomed&amp;quot; to Pelipper Island before after selecting &amp;quot;Standby Adventure&amp;quot; on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
|121&lt;br /&gt;
|Partner&lt;br /&gt;
|Various&lt;br /&gt;
|Somewhat unclear. Seems to be some kind of game progress, possibly whether or not the partner has (through some means) told the hero that they want to check back on Sharpedo Bluff for Grovyle. Spawns a trigger in T02P02A if enabled.&lt;br /&gt;
|-&lt;br /&gt;
|122&lt;br /&gt;
|Shaymin (Guide)&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Shaymin&#039;s talk scripts throughout the mountain. Remembers if the player has rejected recruiting them to the team. Likely only intended to appear at the summit?&lt;br /&gt;
|-&lt;br /&gt;
|123&lt;br /&gt;
|Shaymin (Sky Gift)&lt;br /&gt;
|D73P11A&lt;br /&gt;
|Used to remember if Shaymin has told the player about Sky Gift delivery.&lt;br /&gt;
|-&lt;br /&gt;
|124&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|-&lt;br /&gt;
|125&lt;br /&gt;
|Pachirisu&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Pachirisu&#039;s talk scripts. Remembers if the player has received a Sky Gift from Pachirisu or not. Likely intended to be used somewhere on the mountain.&lt;br /&gt;
|-&lt;br /&gt;
|126&lt;br /&gt;
|Marowak (Bidoof) &lt;br /&gt;
|T01P03A\enter08.ssb&lt;br /&gt;
|Used to remember if Bidoof has claimed Marowak&#039;s Reviver Seed in the special episode. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|127&lt;br /&gt;
|Kangakshan (Bidoof) &lt;br /&gt;
|T01P02A\un0103.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Kangaskhan in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|128&lt;br /&gt;
|Duskull (Bidoof)&lt;br /&gt;
|T01P01A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Duskull in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|129&lt;br /&gt;
|Green Kecleon (Bidoof)&lt;br /&gt;
|T01P02A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Green Kecleon in the episode before. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|130&lt;br /&gt;
|Purple Kecleon (Bidoof)&lt;br /&gt;
|T01P02A\un0102.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Purple Kecleon in the episode before.  Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|131&lt;br /&gt;
|Wigglytuff (Bidoof)&lt;br /&gt;
|G01P05A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Wigglytuff after unlocking Deep Star Cave in the episode before. Runs CORO_EVENT_N00_01 if not.  &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|132&lt;br /&gt;
|Bidoof (Sunflora)&lt;br /&gt;
|G01P03A\un0401.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Bidoof in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|133&lt;br /&gt;
|Chimecho (Sunflora)&lt;br /&gt;
|G01P03A\un0402.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Chimecho in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|134&lt;br /&gt;
|Dugtrio (Sunflora)&lt;br /&gt;
|H01P99A\un0401.ssb&lt;br /&gt;
|Used to remeber if Sunflora has talked with Dugtrio in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|135&lt;br /&gt;
|Kangaskhan (Sunflora)&lt;br /&gt;
|T01P02A\un0404.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Kangaskhan in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|136&lt;br /&gt;
|Green Kecleon (Sunflora)&lt;br /&gt;
|T01P02A\un0406.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Green Kecleon in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|137&lt;br /&gt;
|Purple Kecleon (Sunflora)&lt;br /&gt;
|T01P02A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Purple Kecleon in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|138&lt;br /&gt;
|Vigoroth (Sunflora)&lt;br /&gt;
|T01P01A\un0404.ssb&lt;br /&gt;
|Used to remember if Sunflora was advertised to by Vigoroth in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|139&lt;br /&gt;
|Team Flame (Sunflora)&lt;br /&gt;
|G01P03A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora talked with Bellsprout of Team Flame in the episode before. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|140&lt;br /&gt;
|Duskull (Sunflora)&lt;br /&gt;
|T01P01A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora talked with Duskull in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|141+&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13 - SCENARIO_BALANCE_FLAG ===&lt;br /&gt;
Starts at 0 and gets increased as the player completes certain story events. Controls bag size, Wynaut/Spinda dungeon unlocks, and the spawn threshold value of pokémon, which restricts spawning of some species until this variable reaches a certain value. Is also used as a general game progression marker by other things, restriction certain mission types, the croagunk swap shop being able to contain a water float, and other things like that. &lt;br /&gt;
&lt;br /&gt;
==== Value changes ====&lt;br /&gt;
This table lists the exact story spots where the value of the flag is increased.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Story chapter&lt;br /&gt;
!Story event&lt;br /&gt;
!Scene&lt;br /&gt;
!Script&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|Start of a new game&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|3&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V03P12A&lt;br /&gt;
|m03a1314.ssb&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|6&lt;br /&gt;
|Expedition members are announced&lt;br /&gt;
|G01P04A&lt;br /&gt;
|m08a0301.ssb&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|9&lt;br /&gt;
|End of chapter&lt;br /&gt;
|P04P01C&lt;br /&gt;
|m10a1213.ssb&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|13&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V16P02A&lt;br /&gt;
|m16a0702.ssb&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|15&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V19P06A&lt;br /&gt;
|m19b1014.ssb&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Post-game 1&lt;br /&gt;
|After graduating and moving to Sharpedo Bluff&lt;br /&gt;
|H02P99A&lt;br /&gt;
|s01p1103.ssb&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Game complete&lt;br /&gt;
|The Ursarings tell Hero and Partner they can evolve&lt;br /&gt;
(After unlocking Marine Resort) &lt;br /&gt;
|T01P01A&lt;br /&gt;
|m00p1401.ssb&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Bag size ====&lt;br /&gt;
This table lists the maximum bag size depending on the current value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Bag size&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|48&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|48&lt;br /&gt;
|}&lt;br /&gt;
Values higher than 7 will read garbage data and cause crashes.&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;PERFORMANCE_PROGRESS_LIST[2]&amp;lt;/code&amp;gt; is 0, the bag will only have 1 slot, regardless of the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x14 - SCENARIO_BALANCE_DEBUG ===&lt;br /&gt;
If &amp;gt;= 0, overrides the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x15 - CRYSTAL_COLOR_01 ===&lt;br /&gt;
Used to keep track of the current color of the first crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x16 - CRYSTAL_COLOR_02 ===&lt;br /&gt;
Used to keep track of the current color of the second crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x17 - CRYSTAL_COLOR_03 ===&lt;br /&gt;
Used to keep track of the current color of the third crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
Outside of this puzzle, these 3 variables are completely unused by the base game!&lt;br /&gt;
&lt;br /&gt;
=== 0x18 - COMPULSORY_SAVE_POINT ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in the main story.&lt;br /&gt;
&lt;br /&gt;
=== 0x19 - COMPULSORY_SAVE_POINT_SIDE ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in special episode.&lt;br /&gt;
&lt;br /&gt;
=== 0x1a - SCENARIO_SELECT_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x1b - SCENARIO_MAIN_BIT_FLAG_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused, and is a huge list of flags that can be used locally, or in places the player is unable to save!&lt;br /&gt;
&lt;br /&gt;
=== 0x1c - GROUND_ENTER ===&lt;br /&gt;
The map ID the player is currently in the enter scene for.&lt;br /&gt;
&lt;br /&gt;
=== 0x1d - GROUND_ENTER_LINK ===&lt;br /&gt;
Set to zero by EVENT_FORMATION. Purpose Unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x1e - GROUND_GETOUT ===&lt;br /&gt;
The map ID of the enter scene the player was on before the current one. Usually used to decide where the player should enter from on the next map. &lt;br /&gt;
&lt;br /&gt;
=== 0x1f - GROUND_MAP ===&lt;br /&gt;
The map ID of the map currently rendered. Usually this is identical to GROUND_ENTER, unless the map that was loaded changes (Such as P01P01A changing to P01P03A when the cafe is unlocked). &lt;br /&gt;
&lt;br /&gt;
=== 0x20 - GROUND_PLACE ===&lt;br /&gt;
Determines the index for the map marker on the top-screen world map.&lt;br /&gt;
&lt;br /&gt;
=== 0x21 - GROUND_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x22 - GROUND_ENTER_LINK_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER_LINK used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x23 - GROUND_GETOUT_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_GETOUT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x24 - GROUND_MAP_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_MAP used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x25 - GROUND_PLACE_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_PLACE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x26 - DUNGEON_SELECT ===&lt;br /&gt;
The dungeon ID selected by the crossroads. Possibly reused elsewhere. &lt;br /&gt;
&lt;br /&gt;
=== 0x27 - DUNGEON_ENTER ===&lt;br /&gt;
Stores the dungeon ID the player enters, but only in DMODE_OPEN or DMODE_CLOSED. Otherwise, may be set to 214 or 215.  &lt;br /&gt;
&lt;br /&gt;
DUNGEON_ENTER_INDEX is a more reliable tracker of the dungeon ID.  &lt;br /&gt;
&lt;br /&gt;
=== 0x28 - DUNGEON_ENTER_MODE ===&lt;br /&gt;
Seems to be the DMODE of the dungeon being entered. &lt;br /&gt;
&lt;br /&gt;
=== 0x29 - DUNGEON_ENTER_INDEX ===&lt;br /&gt;
Is written on selecting a dungeon from the crossroads (and probably elsewhere). Generally used by the base game to remember the dungeon ID that the player is about to enter or has just exited. &lt;br /&gt;
&lt;br /&gt;
=== 0x2a - DUNGEON_ENTER_FREQUENCY ===&lt;br /&gt;
A running total of how many times the player has entered any dungeon. &lt;br /&gt;
&lt;br /&gt;
=== 0x2b - DUNGEON_RESULT ===&lt;br /&gt;
Stores how the dungeon was exited. Typically GROUND_START_MODE also stores this information, though that has other uses in ground mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Dungeon was cleared&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Escape Orb Used&lt;br /&gt;
|-&lt;br /&gt;
|Other&lt;br /&gt;
|Defeated in Dungeon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x2c - GROUND_START_MODE ===&lt;br /&gt;
The &amp;quot;mode&amp;quot; the game is in when it enters Ground Mode. Uses the same values as DUNGEON_RESULT when exiting a dungeon, but other values appear to be present. coroutine EVENT_FORMATION assigns it to 3, for unknown reasons.&lt;br /&gt;
&lt;br /&gt;
=== 0x2d - DUNGEON_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2e - DUNGEON_ENTER_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2f - DUNGEON_ENTER_INDEX_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_INDEX used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x30 - DUNGEON_ENTER_FREQUENCY_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_FREQUENCY used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x31 - DUNGEON_RESULT_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_RESULT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x32 - GROUND_START_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_START_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x33 - REQUEST_CLEAR_COUNT ===&lt;br /&gt;
Stores the number of jobs the player has completed at certain points in the story to determine when the next story event will occur. Will never increment above 100 in the base game.&lt;br /&gt;
&lt;br /&gt;
=== 0x34 - PLAYER_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_PLAYER when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ACTOR_ATTENDANT_BIPPA&lt;br /&gt;
|Bidoof&lt;br /&gt;
|Special Episode 1&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|ACTOR_ATTENDANT_PUPURIN&lt;br /&gt;
|Igglybuff&lt;br /&gt;
|Special Episode 2&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ACTOR_ATTENDANT_KIMAWARI&lt;br /&gt;
|Sunflora&lt;br /&gt;
|Special Episode 3&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ACTOR_ATTENDANT_FUTURE&lt;br /&gt;
|Grovyle&lt;br /&gt;
|Special Episode 5&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ACTOR_ATTENDANT_CHARMS&lt;br /&gt;
|Lopunny&lt;br /&gt;
|Special Episode 4&lt;br /&gt;
|-&lt;br /&gt;
|9+&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x35 - ATTENDANT1_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT1 (and possibly other related actors) when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5-9&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ACTOR_ATTENDANT_MANAFI&lt;br /&gt;
|Manaphy&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x36 - ATTENDANT2_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT2 when displayed.&lt;br /&gt;
&lt;br /&gt;
Will be &amp;quot;Nothing&amp;quot; unless it is 10, in which case Manaphy will slowly follow ATTENDANT1_KIND&lt;br /&gt;
&lt;br /&gt;
=== 0x37 - PLAYER_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of PLAYER_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x38 - ATTENDANT1_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT1_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x39 - ATTENDANT2_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT2_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x3a - FRIEND_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3b - UNIT_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3c - CARRY_GOLD ===&lt;br /&gt;
Stores the current amount of money carried by the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x3d - BANK_GOLD ===&lt;br /&gt;
Stores the current amount of money stored in Duskull&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
=== 0x3e - HERO_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial hero starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x3f - HERO_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial hero starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x40 - PARTNER_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial partner starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x41 - PARTNER_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial partner starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x42 - HERO_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the hero will use. In base game, only 4 and 5 are used for HERO_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Hero Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Male Pokemon&lt;br /&gt;
|Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Female/Genderless Pokemon&lt;br /&gt;
|Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x43 - PARTNER_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the partner will use. In base game, only 1, 2, and 3 are used for PARTNER_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Partner Species&lt;br /&gt;
!Use Case&lt;br /&gt;
!Example Dialogue Use&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Squirtle, Totodile, Chimchar, Meowth or Munchlax&lt;br /&gt;
|More &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|No more wimping out. I have to be brave today.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|All other Male Species&lt;br /&gt;
|Less &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. I have to steel my courage today.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|All female Species&lt;br /&gt;
|Least &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. Today I’m going to be brave.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x44 - RANDOM_REQUEST_NPC03_KIND ===&lt;br /&gt;
Determines the species of ACTOR_RANDOM_REQUEST_NPC03, or the Spinda Cafe client Pokémon. It is either a random Pokémon, Magnemite, or Togetic, depending on the mission.&lt;br /&gt;
&lt;br /&gt;
=== 0x45 - CONFIG_COLOR_KIND ===&lt;br /&gt;
The aura bow color determined by the personality quiz at the beginning of the game. Only ever used by wigglytuff to determine the color of aura bow given to the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x46 - ROM_VARIATION ===&lt;br /&gt;
Unknown, but hardcoded to zero.&lt;br /&gt;
&lt;br /&gt;
=== 0x47 - LANGUAGE_TYPE ===&lt;br /&gt;
Stores the language from DS Firmware. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Language&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Japanese&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|English&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|French&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|German&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Italian&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Spanish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x48 - GAME_MODE ===&lt;br /&gt;
Keeps track of the current game mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!ID&lt;br /&gt;
!Mode&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Top menu&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Normal play, including overworld and dungeons&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Special episode&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Rescue&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
There might be more valid values.&lt;br /&gt;
&lt;br /&gt;
=== 0x49 - EXECUTE_SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active. The base-game prefers this variable over SPECIAL_EPISODE_TYPE, though it is unknown if they differ at all.&lt;br /&gt;
&lt;br /&gt;
=== 0x4a - SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active, just like EXECUTE_SPECIAL_EPISODE_TYPE.&lt;br /&gt;
&lt;br /&gt;
=== 0x4b - SPECIAL_EPISODE_OPEN ===&lt;br /&gt;
Keeps track of what Special Episodes are unlocked.&lt;br /&gt;
&lt;br /&gt;
The following is the list of scripts where the Special Episodes are unlocked in the base-game:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[0] (Bidoof&#039;s Wish): V03P12A - m03a1314&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[1] (Igglybuff the Prodigy): P04P01C - m10a1213&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[2] (Today&#039;s Oh My Gosh): G01P04A - m16a0105&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[3] (Here Comes Team Charm!): D01P11A - m20a0101&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[4] (In the Future of Darkness): H02P99A - s01p1103&lt;br /&gt;
&lt;br /&gt;
=== 0x4c - SPECIAL_EPISODE_OPEN_OLD ===&lt;br /&gt;
Keeps track of what Special Episodes were started. Used to show an exclamation mark if the episode is opened but wasn&#039;t started.&lt;br /&gt;
&lt;br /&gt;
=== 0x4d - SPECIAL_EPISODE_CONQUEST ===&lt;br /&gt;
Keeps track of what Special Episodes did the player finished. Also unlocks the Special Episode&#039;s respective Clear Icons.&lt;br /&gt;
&lt;br /&gt;
Note: This specific script variable is not in any script. It is actually triggered by an &#039;&#039;&#039;adventure_log&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
The following is the list of the &#039;&#039;&#039;adventure_log&#039;&#039;&#039; that triggers this Script Variable and its location for each Special Episode:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[0] (Bidoof&#039;s Wish): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1000; in S04P01A - n03a3103&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[1] (Igglybuff the Prodigy): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1001; in S04P01A - n03a1704&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[2] (Today&#039;s Oh My Gosh): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1002; in S04P01A - n04a2606&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[3] (Here Comes Team Charm!): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1003; in S04P01A - n06a3909&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[4] (In the Future of Darkness): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1004; in S04P01A - n09a2212&lt;br /&gt;
&lt;br /&gt;
=== 0x4e - PERFORMANCE_PROGRESS_LIST ===&lt;br /&gt;
List of flags used to keep track of unlocked features and achievements. See [[Performance Progress Flags]] for the full list.&lt;br /&gt;
&lt;br /&gt;
=== 0x4f - DUNGEON_OPEN_LIST ===&lt;br /&gt;
List of unlocked dungeons. One bit per dungeon ID. If true, and the dungeon isn&#039;t on some blacklist, you can enter this dungeon from the crossroads/dojo/igglybuff&#039;s house/pelipper standby adventure. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_OPEN or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
=== 0x50 - DUNGEON_ENTER_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. This is checked at [NA]0x204CEE0, but never assigned. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x51 - DUNGEON_ARRIVE_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x52 - DUNGEON_CONQUEST_LIST ===&lt;br /&gt;
List of completed dungeons. One bit per dungeon ID. Automatically set on clearing any dungeon. &lt;br /&gt;
&lt;br /&gt;
In many cases, this bitfield renders other flags or variables redundant in a vanilla setting, especially certain $PERFORMANCE_PROGRESS_LIST flags that are always enabled after clearing certain dungeons for the first time. &lt;br /&gt;
&lt;br /&gt;
=== 0x53 - DUNGEON_PRESENT_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x54 - DUNGEON_REQUEST_LIST ===&lt;br /&gt;
List of dungeons that no longer have story progression. On completing a dungeon with this bit enabled, the player will enter [INSERT THE RIGHT COROUTINE HERE] in unionall. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_REQUEST or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
Contrary to the name, this field alone is insufficient for missions to show up on the job board! Only dungeon in DMODE_OPEN_AND_REQUEST can have missions, and other (hardcoded) conditions must be met. &lt;br /&gt;
&lt;br /&gt;
=== 0x55 - WORLD_MAP_MARK_LIST_NORMAL ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x56 - WORLD_MAP_MARK_LIST_SPECIAL ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x57 - WORLD_MAP_LEVEL ===&lt;br /&gt;
Seems to be used to track the area covered by clouds on the world map. &lt;br /&gt;
&lt;br /&gt;
=== 0x58 - POSITION_X ===&lt;br /&gt;
Stores the X-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x59 - POSITION_Y ===&lt;br /&gt;
Stores the Y-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5a - POSITION_HEIGHT ===&lt;br /&gt;
Stores the Z-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5b - POSITION_DIRECTION ===&lt;br /&gt;
Stores the direction an entity is facing when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5c - EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game, and is reset between scripts.&lt;br /&gt;
&lt;br /&gt;
=== 0x5d - DUNGEON_EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game (possibly while within dungeons?), and is reset between scripts. &lt;br /&gt;
&lt;br /&gt;
=== 0x5e - STATION_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x5f - STATION_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x60 - DELIVER_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x61 - DELIVER_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x62 - BIT_FUWARANTE_LOCAL ===&lt;br /&gt;
Keeps track of the Sky Peak stations the player visited. Used in the script for Drifblim&#039;s Gondola.&lt;br /&gt;
&lt;br /&gt;
=== 0x63 - LOTTERY_RESULT ===&lt;br /&gt;
Used to track what result should occur during the Recycle Shop Prize Ticket Lottery. Has no other use.&lt;br /&gt;
&lt;br /&gt;
=== 0x64 - ITEM_BACKUP ===&lt;br /&gt;
Unlikely to be a backup flag. Conveniently sized for item_GetVariable to extract the item ID and metadata.&lt;br /&gt;
&lt;br /&gt;
Used somewhere in Sky Peak&lt;br /&gt;
&lt;br /&gt;
=== 0x65 - ITEM_BACKUP_KUREKURE ===&lt;br /&gt;
Happiny requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x66 - ITEM_BACKUP_TAKE ===&lt;br /&gt;
Numel requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x67 - ITEM_BACKUP_GET ===&lt;br /&gt;
Numel gives this item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x68 - REQUEST_THANKS_RESULT_KIND ===&lt;br /&gt;
Stores the mission type of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x69 - REQUEST_THANKS_RESULT_VARIATION ===&lt;br /&gt;
Stores the mission subtype of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x6a - SUB30_TREASURE_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a treasure was found. &lt;br /&gt;
&lt;br /&gt;
=== 0x6b - SUB30_SPOT_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a new unexplored area was discovered. &lt;br /&gt;
&lt;br /&gt;
=== 0x6c - RECYCLE_COUNT ===&lt;br /&gt;
Stores the number of recycles the player has done. Is only updated by the base-game at the end of each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x6d - SUB30_SPOT_LEVEL ===&lt;br /&gt;
Keeps track of what dungeon was discovered by Project P. &lt;br /&gt;
&lt;br /&gt;
=== 0x6e - TEAM_RANK_EVENT_LEVEL ===&lt;br /&gt;
Updated by message_Menu(76) to the current guild rank. In vanilla, this only seems to happen on clearing a mission.  &lt;br /&gt;
&lt;br /&gt;
=== 0x6f - PLAY_OLD_GAME ===&lt;br /&gt;
True if the player answered yes to the question on the personality quiz that asks if you played Explorers of Time or Darkness. Increases the recruit rate of certain pokémon if you haven&#039;t recruited them yet.&lt;br /&gt;
&lt;br /&gt;
=== 0x70 - NOTE_MODIFY_FLAG ===&lt;br /&gt;
If true, the player will be forced to save on leaving Pelipper island. Likely indicative of whether a rescue has been attempted?&lt;br /&gt;
&lt;br /&gt;
=== 0x71 - SUB30_PROJECTP ===&lt;br /&gt;
If true, the player has viewed the Project P cutscene, and the recycle shop is capable of being upgraded.&lt;br /&gt;
&lt;br /&gt;
=== 0x72 - SUM ===&lt;br /&gt;
Seems to be a marker of the end of &amp;quot;normal&amp;quot; script variables.&lt;br /&gt;
&lt;br /&gt;
=== 0x400 - LOCAL0 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL0 in def 0 is distinct from $LOCAL0 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x401 - LOCAL1 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL1 indef 0 is distinct from $LOCAL1 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x402 - LOCAL2 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
=== 0x403 - LOCAL3 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
== Variable Lengths ==&lt;br /&gt;
Not all variables can store the same sized values! Some were allocated to be different sizes than others. Besides the standard sizes, there are 2 unusual variable sizes worth mentioning. &amp;quot;special&amp;quot; variable sizes are not stored in the same place as every other variable, and instead read some other value, such as the number of money the player currently has, or the current language of the ROM. &amp;quot;None&amp;quot; size is only used by the &amp;quot;SUM&amp;quot; variable, and has no allocated space at all. Below are a list of variables, their sizes, and how many there are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Variable&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Size&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Count&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|VERSION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONDITION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB1&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB2&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB3&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB4&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB5&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB6&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB7&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB8&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE02_TALK&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE06_ROOM&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE08_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE01_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x80 (128)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_TALK_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_FLAG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_DEBUG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_01&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_02&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_03&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG_BACKUP&lt;br /&gt;
|bit&lt;br /&gt;
|0x200 (512)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_SELECT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY&lt;br /&gt;
|uint16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY_BACKUP&lt;br /&gt;
|uint16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_CLEAR_COUNT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|FRIEND_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|UNIT_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CARRY_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|BANK_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RANDOM_REQUEST_NPC03_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_COLOR_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ROM_VARIATION&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LANGUAGE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GAME_MODE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|EXECUTE_SPECIAL_EPISODE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_TYPE&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN_OLD&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_CONQUEST&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|PERFORMANCE_PROGRESS_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x40 (64)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_OPEN_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ARRIVE_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_CONQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_PRESENT_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_REQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_NORMAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_SPECIAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_X&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_Y&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_HEIGHT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_DIRECTION&lt;br /&gt;
|int8&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|BIT_FUWARANTE_LOCAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|LOTTERY_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_KUREKURE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_TAKE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_GET&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_VARIATION&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_TREASURE_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RECYCLE_COUNT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|TEAM_RANK_EVENT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAY_OLD_GAME&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|NOTE_MODIFY_FLAG&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_PROJECTP&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUM&lt;br /&gt;
|none&lt;br /&gt;
|0x0 (0)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL0&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL1&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL2&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL3&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1410</id>
		<title>List of Script Variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1410"/>
		<updated>2026-01-18T06:39:11Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: Edit description of talk flags to not say [200] are in use. This is likely incorrect, as 141+ seem to be fully unused as well.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the variables available on the scripting engine. They can be read or written to from scripts.&lt;br /&gt;
&lt;br /&gt;
Some variables store a single value, whereas others can store multiple bitflags.&lt;br /&gt;
&lt;br /&gt;
== List of variables ==&lt;br /&gt;
&lt;br /&gt;
=== 0x0 - VERSION ===&lt;br /&gt;
Seems to be used to keep track of save file versions. It&#039;s stored in the save file when the game is saved. When loading a save file, if the version value in it doesn&#039;t match the value of this variable, the save file is deleted.&lt;br /&gt;
&lt;br /&gt;
=== 0x1 - CONDITION ===&lt;br /&gt;
Completely unused. Purpose unknown...&lt;br /&gt;
&lt;br /&gt;
=== 0x2 - SCENARIO_SELECT ===&lt;br /&gt;
Two indexed values determined via the Top Menu. These are referenced by Unionall for general control flow.&lt;br /&gt;
&lt;br /&gt;
To be a bit more specific, the first coroutine run after the Top Menu is EVENT_DIVIDE, which checks for these indexed values. In doing so, the game knows when to load scripts from maingame, a Special Episode, or Rescue mode.&lt;br /&gt;
&lt;br /&gt;
During mission rewards, the second index is used to track the index of the mission being processed in the job list.&lt;br /&gt;
&lt;br /&gt;
=== 0x3 - SCENARIO_MAIN ===&lt;br /&gt;
Stores game progress. The first value correlates with the MAIN value (mostly aligns with the story chapter), while the second is generally used to track progress within that MAIN. For the page detailing what these values mean, please see the [[Scenario Main Values]] article. &lt;br /&gt;
&lt;br /&gt;
=== 0x4 - SCENARIO_SIDE ===&lt;br /&gt;
Like SCENARIO_MAIN, but for special episode progress.&lt;br /&gt;
&lt;br /&gt;
=== 0x5 - SCENARIO_SUB1 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x6 - SCENARIO_SUB2 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x7 - SCENARIO_SUB3 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x8 - SCENARIO_SUB4 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x9 - SCENARIO_SUB5 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xa - SCENARIO_SUB6 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xb - SCENARIO_SUB7 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xc - SCENARIO_SUB8 ===&lt;br /&gt;
As far as is currently known, SCENARIO_SUB1 through SCENARIO_SUB8 are completely unused by the base-game! Perhaps they were intended to store side-quest progress of some sort?&lt;br /&gt;
&lt;br /&gt;
=== 0xd - SIDE02_TALK ===&lt;br /&gt;
Three bit flags that keeps track of the neighbors Igglybuff talked to in Special Episode 2&lt;br /&gt;
&lt;br /&gt;
=== 0xe - SIDE06_ROOM ===&lt;br /&gt;
Three bit flags that keeps track of the Limestone Cavern paths Team Charm visited in Special Episode 4&lt;br /&gt;
&lt;br /&gt;
=== 0xf - SIDE08_BOSS2ND ===&lt;br /&gt;
True if the player lose against Sableyes in Barren Valley Clearing in Special Episode 5&lt;br /&gt;
&lt;br /&gt;
=== 0x10 - SIDE01_BOSS2ND ===&lt;br /&gt;
True if Snover has betrayed bidoof in Special Episode 1. Used to determine whether Snover will be an ally in Star Cave or not.&lt;br /&gt;
&lt;br /&gt;
=== 0x11 - SCENARIO_MAIN_BIT_FLAG ===&lt;br /&gt;
Has many purposes, sometimes have hardcoded or technical effects, but not always.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Number&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Gets set to 1 right after waking up in the guild. Used for the game to determine when partner dialogue should be changed to just &amp;quot;Good morning, [hero]...&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Will end the current day if EVENT_DIVIDE is run.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Similar to 3. Seems to be related to missions&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Gets set to 1 if the player decides to go the wrong way during an expedition.&lt;br /&gt;
|-&lt;br /&gt;
|6, 7, 8&lt;br /&gt;
|Used to remember how the game was saved last.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Used in G01P04A/um07. When it&#039;s not set, the game spawns triggers. Upon walkng to them, Croagunk calls hero and partner to tell that the Croagunk Swap Shop is now opened.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do jobs.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do sentry duty. &lt;br /&gt;
|-&lt;br /&gt;
|12, 13&lt;br /&gt;
|Marowak Dojo First Entry/ Final Maze Opening&lt;br /&gt;
|-&lt;br /&gt;
|14-23&lt;br /&gt;
|Used in Marowak&#039;s Dojo. If none of them are set, the player finished all the dojo dungeons.&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|Gets set when the player finishes all dojo dungeons. Used to only show a cutscene about the full dojo completion once. &lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|Gets set to 0 before the check whether it&#039;s set to 1 or not during a cutscene after finishing the Final Maze.&lt;br /&gt;
|-&lt;br /&gt;
|26, 27&lt;br /&gt;
|Unused&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Gets set to 1 when the player finishes Final Maze. Used to give another cutscene if the Final Maze gets finished again. &lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|Gets set to 1 if the player decides to go back to the previous location(or back to the town) from the checkpoint.&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Seems to be used in TITLE_TEST to distinguish between Time and Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Gets set to 1 when the player presses Go Rescue for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Gets set to 1 when the player presses Standby Adventure for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|33-39&lt;br /&gt;
|Used after collecting one of the seven treasures. If none of them are set, the game gives a Seven Treasures collection checkmark.&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|Gets set if the player interacts with anything on the Pelipper Island. If set, the game will save upon leaving the island.&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Gets set to 1 when Chimecho tells hero and partner that they&#039;re now able to change team leader. Used to only show this cutscene once.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|Gets set to 1 when the partner says good morning to hero in Sharpedo Bluff, while $SCENARIO_MAIN is 29, 92. Used to only show this cutscene once, as it&#039;s called in coroutine EVENT_DIVIDE_AFTER, that is called really often.&lt;br /&gt;
|-&lt;br /&gt;
|43-45&lt;br /&gt;
|Aegis Cave&#039;s ice, rock and steel puzzles completion.&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|Gets set to 1 if the player Drifblim&#039;s Gondola. Used to show a cutscene where Drifblim thanks hero and partner for using his service.&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|Gets set to 1 when player talks with Ampharos about Sneasel&#039;s Sky Gift.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Gets set to 1 when the player gets Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|Gets set to 1 when the player leaves the station clearing after getting Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|50-60&lt;br /&gt;
|Sky Gift had been sent to Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk and partner respectively.&lt;br /&gt;
|-&lt;br /&gt;
|61&lt;br /&gt;
|Gets set to 1 when the player gives an item to Happiny.&lt;br /&gt;
|-&lt;br /&gt;
|62-73&lt;br /&gt;
|Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk, partner and Happiny respectively sent a Sky Gift to hero.&lt;br /&gt;
|-&lt;br /&gt;
|74-77&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station Clearing respectively. Happiny will always spawn on the 1st station if ITEM_BACKUP_GET = ITEM_BACKUP_TAKE.&lt;br /&gt;
|-&lt;br /&gt;
|78-81&lt;br /&gt;
|Used to decide whether Numel will appear on the 1st/3rd/5th/7th Station Clearing respectively. &lt;br /&gt;
|-&lt;br /&gt;
|82&lt;br /&gt;
|Gets set to 1 if the player already swapped items with Numel in the current attempt to climb to Sky Peak Summit.&lt;br /&gt;
|-&lt;br /&gt;
|83-87&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station/Summit Clearing respectively.&lt;br /&gt;
|-&lt;br /&gt;
|88&lt;br /&gt;
|Gets set to 1 when the player claims Jumpluff&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|89&lt;br /&gt;
|Used to decide whether Delibird should appear on the 9th Station Clearing. The chance of it being set is 50% each climbing attempt.&lt;br /&gt;
|-&lt;br /&gt;
|90&lt;br /&gt;
|Gets set to 1 when the player claims Delibird&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|91&lt;br /&gt;
|Gets set to 1 if the player gives an item to Heracross.&lt;br /&gt;
|-&lt;br /&gt;
|92&lt;br /&gt;
|Used to decide if a bottle should appear on the beach. The chance of it being set is 10%&lt;br /&gt;
|-&lt;br /&gt;
|93&lt;br /&gt;
|Used to decide if a client should appear in the cafe. The chance of it being set is 80%&lt;br /&gt;
|-&lt;br /&gt;
|94&lt;br /&gt;
|Gets set to 1 if the player receives a Gracidea.&lt;br /&gt;
|-&lt;br /&gt;
|95&lt;br /&gt;
|Gets set to 1 when Ursaring says that hero and partner can evolve.&lt;br /&gt;
|-&lt;br /&gt;
|96&lt;br /&gt;
|Gets set to 1 when Krabby says that bottles can appear on the beach.&lt;br /&gt;
|-&lt;br /&gt;
|97&lt;br /&gt;
|Gets set to 1 when Chimecho asks hero if recruits can stay at the cafe.&lt;br /&gt;
|-&lt;br /&gt;
|98&lt;br /&gt;
|Gets set to 1 in m00a01a. Doesn&#039;t seem to be used anywhere else.&lt;br /&gt;
|-&lt;br /&gt;
|99-127&lt;br /&gt;
|Unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12 - SCENARIO_TALK_BIT_FLAG ===&lt;br /&gt;
Up through [140] are in use, and they primarily exist to remember if the player has already talked with an NPC (therefore playing modified or shorter dialogue the second time around). For example, every merchant in treasure town comments on the player&#039;s accomplishments (like defeating Darkrai) the first time you talk to them. Whether that conversation has happened yet is tracked with SCENARIO_TALK_BIT_FLAG.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Number&lt;br /&gt;
!Used By&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Cafe Client&lt;br /&gt;
|P01P04A\enter11.ssb&lt;br /&gt;
|Used by the Cafe Client for the Gabite Mission, and the 7-Treasures Missions. In both Mission types, it&#039;s used to skip the lengthy exposition for the mission if the player declined the job earlier in the day. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Spoink&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Spoink&#039;s talk scripts. Used to remember if Spoink has given the player their helpful exploration tip about enemies not moving unless you do.&lt;br /&gt;
|-&lt;br /&gt;
|3-22&lt;br /&gt;
|Chimecho&lt;br /&gt;
|G01P03A&lt;br /&gt;
|Used in all of Chimecho&#039;s talk scripts. Flag 18 is unused!&lt;br /&gt;
|-&lt;br /&gt;
|23, 24, 26&lt;br /&gt;
|Dugtrio&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Dugtrio&#039;s talk scripts. Flag 25 is unused! Likely related to triggering CORO_EVENT_M00_04.&lt;br /&gt;
|-&lt;br /&gt;
|27, 28&lt;br /&gt;
|Pink Celebi&lt;br /&gt;
|D23P11A\um19&lt;br /&gt;
|Used in both Celebi talk scripts for the player to probe deeper about her not minding that she gets to spend more time with grovyle.&lt;br /&gt;
|-&lt;br /&gt;
|29-40&lt;br /&gt;
|Croagunk&lt;br /&gt;
|G01P04A\enter05.ssb&lt;br /&gt;
|Flags 36 and 38 are unused! By mistake, 37 and 39 are used two separate times for Croagunk&#039;s dialogue!&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Cresselia&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Cresselia&#039;s talk scripts. Used to remember if the player has rejected recruiting her to the team. Intended to only appear in H01P99A.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|-&lt;br /&gt;
|43-47&lt;br /&gt;
|Lapras&lt;br /&gt;
|D01P01A&lt;br /&gt;
|Used in all of Lapras&#039; talk scripts.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Vigoroth&lt;br /&gt;
|T01P02A&lt;br /&gt;
|Used for Vigoroth to give a shortened advertisement for the Marowak Dojo. Apparently he&#039;s &amp;quot;sponsored&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|49, 50&lt;br /&gt;
|Chatot&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Chatot&#039;s talk scripts. Used for dialogue relating to the player going to Amp Plains. Intended to only appear in G01P04A.&lt;br /&gt;
|-&lt;br /&gt;
|51-59&lt;br /&gt;
|Electivire&lt;br /&gt;
|T01P01A\enter06.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|60-62&lt;br /&gt;
|Marowak (Main Story)&lt;br /&gt;
|T01P03A\enter07.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|63-71&lt;br /&gt;
|Kangaskhan&lt;br /&gt;
|T01P02A\enter10.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|72-83&lt;br /&gt;
|Green Kecleon&lt;br /&gt;
|T01P02A\enter12.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|84-95&lt;br /&gt;
|Purple Kecleon&lt;br /&gt;
|T01P02A\enter11.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|96-102&lt;br /&gt;
|Xatu&lt;br /&gt;
|T01P02A\enter09.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|103-109&lt;br /&gt;
|Chansey&lt;br /&gt;
|T01P01A\enter07.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|110-118&lt;br /&gt;
|Duskull&lt;br /&gt;
|T01P01A\enter05.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|119&lt;br /&gt;
|Pelipper (Rescue)&lt;br /&gt;
|S01P02A\enter02.ssb&lt;br /&gt;
|Used to remember if the player has ever been &amp;quot;welcomed&amp;quot; to Pelipper Island before after selecting &amp;quot;Go Rescue&amp;quot; on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
|120&lt;br /&gt;
|Pelipper (Explore)&lt;br /&gt;
|S01P02A\enter07.ssb&lt;br /&gt;
|Used to remember if the player has ever been &amp;quot;welcomed&amp;quot; to Pelipper Island before after selecting &amp;quot;Standby Adventure&amp;quot; on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
|121&lt;br /&gt;
|Partner&lt;br /&gt;
|Various&lt;br /&gt;
|Somewhat unclear. Seems to be some kind of game progress, possibly whether or not the partner has (through some means) told the hero that they want to check back on Sharpedo Bluff for Grovyle. Spawns a trigger in T02P02A if enabled.&lt;br /&gt;
|-&lt;br /&gt;
|122&lt;br /&gt;
|Shaymin (Guide)&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Shaymin&#039;s talk scripts throughout the mountain. Remembers if the player has rejected recruiting them to the team. Likely only intended to appear at the summit?&lt;br /&gt;
|-&lt;br /&gt;
|123&lt;br /&gt;
|Shaymin (Sky Gift)&lt;br /&gt;
|D73P11A&lt;br /&gt;
|Used to remember if Shaymin has told the player about Sky Gift delivery.&lt;br /&gt;
|-&lt;br /&gt;
|124&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|-&lt;br /&gt;
|125&lt;br /&gt;
|Pachirisu&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Pachirisu&#039;s talk scripts. Remembers if the player has received a Sky Gift from Pachirisu or not. Likely intended to be used somewhere on the mountain.&lt;br /&gt;
|-&lt;br /&gt;
|126&lt;br /&gt;
|Marowak (Bidoof) &lt;br /&gt;
|T01P03A\enter08.ssb&lt;br /&gt;
|Used to remember if Bidoof has claimed Marowak&#039;s Reviver Seed in the special episode. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|127&lt;br /&gt;
|Kangakshan (Bidoof) &lt;br /&gt;
|T01P02A\un0103.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Kangaskhan in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|128&lt;br /&gt;
|Duskull (Bidoof)&lt;br /&gt;
|T01P01A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Duskull in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|129&lt;br /&gt;
|Green Kecleon (Bidoof)&lt;br /&gt;
|T01P02A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Green Kecleon in the episode before. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|130&lt;br /&gt;
|Purple Kecleon (Bidoof)&lt;br /&gt;
|T01P02A\un0102.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Purple Kecleon in the episode before.  Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|131&lt;br /&gt;
|Wigglytuff (Bidoof)&lt;br /&gt;
|G01P05A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Wigglytuff after unlocking Deep Star Cave in the episode before. Runs CORO_EVENT_N00_01 if not.  &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|132&lt;br /&gt;
|Bidoof (Sunflora)&lt;br /&gt;
|G01P03A\un0401.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Bidoof in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|133&lt;br /&gt;
|Chimecho (Sunflora)&lt;br /&gt;
|G01P03A\un0402.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Chimecho in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|134&lt;br /&gt;
|Dugtrio (Sunflora)&lt;br /&gt;
|H01P99A\un0401.ssb&lt;br /&gt;
|Used to remeber if Sunflora has talked with Dugtrio in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|135&lt;br /&gt;
|Kangaskhan (Sunflora)&lt;br /&gt;
|T01P02A\un0404.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Kangaskhan in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|136&lt;br /&gt;
|Green Kecleon (Sunflora)&lt;br /&gt;
|T01P02A\un0406.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Green Kecleon in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|137&lt;br /&gt;
|Purple Kecleon (Sunflora)&lt;br /&gt;
|T01P02A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Purple Kecleon in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|138&lt;br /&gt;
|Vigoroth (Sunflora)&lt;br /&gt;
|T01P01A\un0404.ssb&lt;br /&gt;
|Used to remember if Sunflora was advertised to by Vigoroth in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|139&lt;br /&gt;
|Team Flame (Sunflora)&lt;br /&gt;
|G01P03A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora talked with Bellsprout of Team Flame in the episode before. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|140&lt;br /&gt;
|Duskull (Sunflora)&lt;br /&gt;
|T01P01A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora talked with Duskull in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|141+&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13 - SCENARIO_BALANCE_FLAG ===&lt;br /&gt;
Starts at 0 and gets increased as the player completes certain story events. Controls bag size, Wynaut/Spinda dungeon unlocks, and the spawn threshold value of pokémon, which restricts spawning of some species until this variable reaches a certain value.&lt;br /&gt;
&lt;br /&gt;
==== Value changes ====&lt;br /&gt;
This table lists the exact story spots where the value of the flag is increased.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Story chapter&lt;br /&gt;
!Story event&lt;br /&gt;
!Scene&lt;br /&gt;
!Script&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|Start of a new game&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|3&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V03P12A&lt;br /&gt;
|m03a1314.ssb&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|6&lt;br /&gt;
|Expedition members are announced&lt;br /&gt;
|G01P04A&lt;br /&gt;
|m08a0301.ssb&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|9&lt;br /&gt;
|End of chapter&lt;br /&gt;
|P04P01C&lt;br /&gt;
|m10a1213.ssb&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|13&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V16P02A&lt;br /&gt;
|m16a0702.ssb&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|15&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V19P06A&lt;br /&gt;
|m19b1014.ssb&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Post-game 1&lt;br /&gt;
|After graduating and moving to Sharpedo Bluff&lt;br /&gt;
|H02P99A&lt;br /&gt;
|s01p1103.ssb&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Game complete&lt;br /&gt;
|The Ursarings tell Hero and Partner they can evolve&lt;br /&gt;
(After unlocking Marine Resort) &lt;br /&gt;
|T01P01A&lt;br /&gt;
|m00p1401.ssb&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Bag size ====&lt;br /&gt;
This table lists the maximum bag size depending on the current value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Bag size&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|48&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|48&lt;br /&gt;
|}&lt;br /&gt;
Values higher than 7 will read garbage data and cause crashes.&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;PERFORMANCE_PROGRESS_LIST[2]&amp;lt;/code&amp;gt; is 0, the bag will only have 1 slot, regardless of the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x14 - SCENARIO_BALANCE_DEBUG ===&lt;br /&gt;
If &amp;gt;= 0, overrides the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x15 - CRYSTAL_COLOR_01 ===&lt;br /&gt;
Used to keep track of the current color of the first crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x16 - CRYSTAL_COLOR_02 ===&lt;br /&gt;
Used to keep track of the current color of the second crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x17 - CRYSTAL_COLOR_03 ===&lt;br /&gt;
Used to keep track of the current color of the third crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
Outside of this puzzle, these 3 variables are completely unused by the base game!&lt;br /&gt;
&lt;br /&gt;
=== 0x18 - COMPULSORY_SAVE_POINT ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in the main story.&lt;br /&gt;
&lt;br /&gt;
=== 0x19 - COMPULSORY_SAVE_POINT_SIDE ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in special episode.&lt;br /&gt;
&lt;br /&gt;
=== 0x1a - SCENARIO_SELECT_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x1b - SCENARIO_MAIN_BIT_FLAG_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused, and is a huge list of flags that can be used locally, or in places the player is unable to save!&lt;br /&gt;
&lt;br /&gt;
=== 0x1c - GROUND_ENTER ===&lt;br /&gt;
The map ID the player is currently in the enter scene for.&lt;br /&gt;
&lt;br /&gt;
=== 0x1d - GROUND_ENTER_LINK ===&lt;br /&gt;
Set to zero by EVENT_FORMATION. Purpose Unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x1e - GROUND_GETOUT ===&lt;br /&gt;
The map ID of the enter scene the player was on before the current one. Usually used to decide where the player should enter from on the next map. &lt;br /&gt;
&lt;br /&gt;
=== 0x1f - GROUND_MAP ===&lt;br /&gt;
The map ID of the map currently rendered. Usually this is identical to GROUND_ENTER, unless the map that was loaded changes (Such as P01P01A changing to P01P03A when the cafe is unlocked). &lt;br /&gt;
&lt;br /&gt;
=== 0x20 - GROUND_PLACE ===&lt;br /&gt;
Determines the index for the map marker on the top-screen world map.&lt;br /&gt;
&lt;br /&gt;
=== 0x21 - GROUND_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x22 - GROUND_ENTER_LINK_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER_LINK used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x23 - GROUND_GETOUT_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_GETOUT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x24 - GROUND_MAP_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_MAP used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x25 - GROUND_PLACE_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_PLACE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x26 - DUNGEON_SELECT ===&lt;br /&gt;
The dungeon ID selected by the crossroads. Possibly reused elsewhere. &lt;br /&gt;
&lt;br /&gt;
=== 0x27 - DUNGEON_ENTER ===&lt;br /&gt;
Stores the dungeon ID the player enters, but only in DMODE_OPEN or DMODE_CLOSED. Otherwise, may be set to 214 or 215.  &lt;br /&gt;
&lt;br /&gt;
DUNGEON_ENTER_INDEX is a more reliable tracker of the dungeon ID.  &lt;br /&gt;
&lt;br /&gt;
=== 0x28 - DUNGEON_ENTER_MODE ===&lt;br /&gt;
Seems to be the DMODE of the dungeon being entered. &lt;br /&gt;
&lt;br /&gt;
=== 0x29 - DUNGEON_ENTER_INDEX ===&lt;br /&gt;
Is written on selecting a dungeon from the crossroads (and probably elsewhere). Generally used by the base game to remember the dungeon ID that the player is about to enter or has just exited. &lt;br /&gt;
&lt;br /&gt;
=== 0x2a - DUNGEON_ENTER_FREQUENCY ===&lt;br /&gt;
A running total of how many times the player has entered any dungeon. &lt;br /&gt;
&lt;br /&gt;
=== 0x2b - DUNGEON_RESULT ===&lt;br /&gt;
Stores how the dungeon was exited. Typically GROUND_START_MODE also stores this information, though that has other uses in ground mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Dungeon was cleared&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Escape Orb Used&lt;br /&gt;
|-&lt;br /&gt;
|Other&lt;br /&gt;
|Defeated in Dungeon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x2c - GROUND_START_MODE ===&lt;br /&gt;
The &amp;quot;mode&amp;quot; the game is in when it enters Ground Mode. Uses the same values as DUNGEON_RESULT when exiting a dungeon, but other values appear to be present. coroutine EVENT_FORMATION assigns it to 3, for unknown reasons.&lt;br /&gt;
&lt;br /&gt;
=== 0x2d - DUNGEON_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2e - DUNGEON_ENTER_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2f - DUNGEON_ENTER_INDEX_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_INDEX used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x30 - DUNGEON_ENTER_FREQUENCY_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_FREQUENCY used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x31 - DUNGEON_RESULT_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_RESULT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x32 - GROUND_START_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_START_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x33 - REQUEST_CLEAR_COUNT ===&lt;br /&gt;
Stores the number of jobs the player has completed at certain points in the story to determine when the next story event will occur. Will never increment above 100 in the base game.&lt;br /&gt;
&lt;br /&gt;
=== 0x34 - PLAYER_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_PLAYER when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ACTOR_ATTENDANT_BIPPA&lt;br /&gt;
|Bidoof&lt;br /&gt;
|Special Episode 1&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|ACTOR_ATTENDANT_PUPURIN&lt;br /&gt;
|Igglybuff&lt;br /&gt;
|Special Episode 2&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ACTOR_ATTENDANT_KIMAWARI&lt;br /&gt;
|Sunflora&lt;br /&gt;
|Special Episode 3&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ACTOR_ATTENDANT_FUTURE&lt;br /&gt;
|Grovyle&lt;br /&gt;
|Special Episode 5&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ACTOR_ATTENDANT_CHARMS&lt;br /&gt;
|Lopunny&lt;br /&gt;
|Special Episode 4&lt;br /&gt;
|-&lt;br /&gt;
|9+&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x35 - ATTENDANT1_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT1 (and possibly other related actors) when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5-9&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ACTOR_ATTENDANT_MANAFI&lt;br /&gt;
|Manaphy&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x36 - ATTENDANT2_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT2 when displayed.&lt;br /&gt;
&lt;br /&gt;
Will be &amp;quot;Nothing&amp;quot; unless it is 10, in which case Manaphy will slowly follow ATTENDANT1_KIND&lt;br /&gt;
&lt;br /&gt;
=== 0x37 - PLAYER_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of PLAYER_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x38 - ATTENDANT1_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT1_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x39 - ATTENDANT2_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT2_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x3a - FRIEND_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3b - UNIT_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3c - CARRY_GOLD ===&lt;br /&gt;
Stores the current amount of money carried by the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x3d - BANK_GOLD ===&lt;br /&gt;
Stores the current amount of money stored in Duskull&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
=== 0x3e - HERO_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial hero starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x3f - HERO_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial hero starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x40 - PARTNER_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial partner starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x41 - PARTNER_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial partner starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x42 - HERO_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the hero will use. In base game, only 4 and 5 are used for HERO_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Hero Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Male Pokemon&lt;br /&gt;
|Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Female/Genderless Pokemon&lt;br /&gt;
|Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x43 - PARTNER_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the partner will use. In base game, only 1, 2, and 3 are used for PARTNER_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Partner Species&lt;br /&gt;
!Use Case&lt;br /&gt;
!Example Dialogue Use&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Squirtle, Totodile, Chimchar, Meowth or Munchlax&lt;br /&gt;
|More &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|No more wimping out. I have to be brave today.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|All other Male Species&lt;br /&gt;
|Less &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. I have to steel my courage today.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|All female Species&lt;br /&gt;
|Least &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. Today I’m going to be brave.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x44 - RANDOM_REQUEST_NPC03_KIND ===&lt;br /&gt;
Determines the species of ACTOR_RANDOM_REQUEST_NPC03, or the Spinda Cafe client Pokémon. It is either a random Pokémon, Magnemite, or Togetic, depending on the mission.&lt;br /&gt;
&lt;br /&gt;
=== 0x45 - CONFIG_COLOR_KIND ===&lt;br /&gt;
The aura bow color determined by the personality quiz at the beginning of the game. Only ever used by wigglytuff to determine the color of aura bow given to the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x46 - ROM_VARIATION ===&lt;br /&gt;
Unknown, but hardcoded to zero.&lt;br /&gt;
&lt;br /&gt;
=== 0x47 - LANGUAGE_TYPE ===&lt;br /&gt;
Stores the language from DS Firmware. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Language&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Japanese&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|English&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|French&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|German&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Italian&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Spanish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x48 - GAME_MODE ===&lt;br /&gt;
Keeps track of the current game mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!ID&lt;br /&gt;
!Mode&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Top menu&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Normal play, including overworld and dungeons&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Special episode&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Rescue&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
There might be more valid values.&lt;br /&gt;
&lt;br /&gt;
=== 0x49 - EXECUTE_SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active. The base-game prefers this variable over SPECIAL_EPISODE_TYPE, though it is unknown if they differ at all.&lt;br /&gt;
&lt;br /&gt;
=== 0x4a - SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active, just like EXECUTE_SPECIAL_EPISODE_TYPE.&lt;br /&gt;
&lt;br /&gt;
=== 0x4b - SPECIAL_EPISODE_OPEN ===&lt;br /&gt;
Keeps track of what Special Episodes are unlocked.&lt;br /&gt;
&lt;br /&gt;
The following is the list of scripts where the Special Episodes are unlocked in the base-game:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[0] (Bidoof&#039;s Wish): V03P12A - m03a1314&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[1] (Igglybuff the Prodigy): P04P01C - m10a1213&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[2] (Today&#039;s Oh My Gosh): G01P04A - m16a0105&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[3] (Here Comes Team Charm!): D01P11A - m20a0101&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[4] (In the Future of Darkness): H02P99A - s01p1103&lt;br /&gt;
&lt;br /&gt;
=== 0x4c - SPECIAL_EPISODE_OPEN_OLD ===&lt;br /&gt;
Keeps track of what Special Episodes were started. Used to show an exclamation mark if the episode is opened but wasn&#039;t started.&lt;br /&gt;
&lt;br /&gt;
=== 0x4d - SPECIAL_EPISODE_CONQUEST ===&lt;br /&gt;
Keeps track of what Special Episodes did the player finished. Also unlocks the Special Episode&#039;s respective Clear Icons.&lt;br /&gt;
&lt;br /&gt;
Note: This specific script variable is not in any script. It is actually triggered by an &#039;&#039;&#039;adventure_log&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
The following is the list of the &#039;&#039;&#039;adventure_log&#039;&#039;&#039; that triggers this Script Variable and its location for each Special Episode:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[0] (Bidoof&#039;s Wish): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1000; in S04P01A - n03a3103&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[1] (Igglybuff the Prodigy): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1001; in S04P01A - n03a1704&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[2] (Today&#039;s Oh My Gosh): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1002; in S04P01A - n04a2606&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[3] (Here Comes Team Charm!): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1003; in S04P01A - n06a3909&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[4] (In the Future of Darkness): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1004; in S04P01A - n09a2212&lt;br /&gt;
&lt;br /&gt;
=== 0x4e - PERFORMANCE_PROGRESS_LIST ===&lt;br /&gt;
List of flags used to keep track of unlocked features and achievements. See [[Performance Progress Flags]] for the full list.&lt;br /&gt;
&lt;br /&gt;
=== 0x4f - DUNGEON_OPEN_LIST ===&lt;br /&gt;
List of unlocked dungeons. One bit per dungeon ID. If true, and the dungeon isn&#039;t on some blacklist, you can enter this dungeon from the crossroads/dojo/igglybuff&#039;s house/pelipper standby adventure. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_OPEN or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
=== 0x50 - DUNGEON_ENTER_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. This is checked at [NA]0x204CEE0, but never assigned. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x51 - DUNGEON_ARRIVE_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x52 - DUNGEON_CONQUEST_LIST ===&lt;br /&gt;
List of completed dungeons. One bit per dungeon ID. Automatically set on clearing any dungeon. &lt;br /&gt;
&lt;br /&gt;
In many cases, this bitfield renders other flags or variables redundant in a vanilla setting, especially certain $PERFORMANCE_PROGRESS_LIST flags that are always enabled after clearing certain dungeons for the first time. &lt;br /&gt;
&lt;br /&gt;
=== 0x53 - DUNGEON_PRESENT_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x54 - DUNGEON_REQUEST_LIST ===&lt;br /&gt;
List of dungeons that no longer have story progression. On completing a dungeon with this bit enabled, the player will enter [INSERT THE RIGHT COROUTINE HERE] in unionall. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_REQUEST or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
Contrary to the name, this field alone is insufficient for missions to show up on the job board! Only dungeon in DMODE_OPEN_AND_REQUEST can have missions, and other (hardcoded) conditions must be met. &lt;br /&gt;
&lt;br /&gt;
=== 0x55 - WORLD_MAP_MARK_LIST_NORMAL ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x56 - WORLD_MAP_MARK_LIST_SPECIAL ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x57 - WORLD_MAP_LEVEL ===&lt;br /&gt;
Seems to be used to track the area covered by clouds on the world map. &lt;br /&gt;
&lt;br /&gt;
=== 0x58 - POSITION_X ===&lt;br /&gt;
Stores the X-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x59 - POSITION_Y ===&lt;br /&gt;
Stores the Y-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5a - POSITION_HEIGHT ===&lt;br /&gt;
Stores the Z-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5b - POSITION_DIRECTION ===&lt;br /&gt;
Stores the direction an entity is facing when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5c - EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game, and is reset between scripts.&lt;br /&gt;
&lt;br /&gt;
=== 0x5d - DUNGEON_EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game (possibly while within dungeons?), and is reset between scripts. &lt;br /&gt;
&lt;br /&gt;
=== 0x5e - STATION_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x5f - STATION_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x60 - DELIVER_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x61 - DELIVER_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x62 - BIT_FUWARANTE_LOCAL ===&lt;br /&gt;
Keeps track of the Sky Peak stations the player visited. Used in the script for Drifblim&#039;s Gondola.&lt;br /&gt;
&lt;br /&gt;
=== 0x63 - LOTTERY_RESULT ===&lt;br /&gt;
Used to track what result should occur during the Recycle Shop Prize Ticket Lottery. Has no other use.&lt;br /&gt;
&lt;br /&gt;
=== 0x64 - ITEM_BACKUP ===&lt;br /&gt;
Unlikely to be a backup flag. Conveniently sized for item_GetVariable to extract the item ID and metadata.&lt;br /&gt;
&lt;br /&gt;
Used somewhere in Sky Peak&lt;br /&gt;
&lt;br /&gt;
=== 0x65 - ITEM_BACKUP_KUREKURE ===&lt;br /&gt;
Happiny requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x66 - ITEM_BACKUP_TAKE ===&lt;br /&gt;
Numel requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x67 - ITEM_BACKUP_GET ===&lt;br /&gt;
Numel gives this item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x68 - REQUEST_THANKS_RESULT_KIND ===&lt;br /&gt;
Stores the mission type of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x69 - REQUEST_THANKS_RESULT_VARIATION ===&lt;br /&gt;
Stores the mission subtype of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x6a - SUB30_TREASURE_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a treasure was found. &lt;br /&gt;
&lt;br /&gt;
=== 0x6b - SUB30_SPOT_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a new unexplored area was discovered. &lt;br /&gt;
&lt;br /&gt;
=== 0x6c - RECYCLE_COUNT ===&lt;br /&gt;
Stores the number of recycles the player has done. Is only updated by the base-game at the end of each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x6d - SUB30_SPOT_LEVEL ===&lt;br /&gt;
Keeps track of what dungeon was discovered by Project P. &lt;br /&gt;
&lt;br /&gt;
=== 0x6e - TEAM_RANK_EVENT_LEVEL ===&lt;br /&gt;
Updated by message_Menu(76) to the current guild rank. In vanilla, this only seems to happen on clearing a mission.  &lt;br /&gt;
&lt;br /&gt;
=== 0x6f - PLAY_OLD_GAME ===&lt;br /&gt;
True if the player answered yes to the question on the personality quiz that asks if you played Explorers of Time or Darkness. Increases the recruit rate of certain pokémon if you haven&#039;t recruited them yet.&lt;br /&gt;
&lt;br /&gt;
=== 0x70 - NOTE_MODIFY_FLAG ===&lt;br /&gt;
If true, the player will be forced to save on leaving Pelipper island. Likely indicative of whether a rescue has been attempted?&lt;br /&gt;
&lt;br /&gt;
=== 0x71 - SUB30_PROJECTP ===&lt;br /&gt;
If true, the player has viewed the Project P cutscene, and the recycle shop is capable of being upgraded.&lt;br /&gt;
&lt;br /&gt;
=== 0x72 - SUM ===&lt;br /&gt;
Seems to be a marker of the end of &amp;quot;normal&amp;quot; script variables.&lt;br /&gt;
&lt;br /&gt;
=== 0x400 - LOCAL0 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL0 in def 0 is distinct from $LOCAL0 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x401 - LOCAL1 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL1 indef 0 is distinct from $LOCAL1 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x402 - LOCAL2 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
=== 0x403 - LOCAL3 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
== Variable Lengths ==&lt;br /&gt;
Not all variables can store the same sized values! Some were allocated to be different sizes than others. Besides the standard sizes, there are 2 unusual variable sizes worth mentioning. &amp;quot;special&amp;quot; variable sizes are not stored in the same place as every other variable, and instead read some other value, such as the number of money the player currently has, or the current language of the ROM. &amp;quot;None&amp;quot; size is only used by the &amp;quot;SUM&amp;quot; variable, and has no allocated space at all. Below are a list of variables, their sizes, and how many there are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Variable&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Size&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Count&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|VERSION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONDITION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB1&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB2&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB3&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB4&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB5&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB6&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB7&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB8&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE02_TALK&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE06_ROOM&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE08_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE01_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x80 (128)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_TALK_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_FLAG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_DEBUG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_01&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_02&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_03&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG_BACKUP&lt;br /&gt;
|bit&lt;br /&gt;
|0x200 (512)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_SELECT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY&lt;br /&gt;
|uint16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY_BACKUP&lt;br /&gt;
|uint16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_CLEAR_COUNT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|FRIEND_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|UNIT_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CARRY_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|BANK_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RANDOM_REQUEST_NPC03_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_COLOR_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ROM_VARIATION&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LANGUAGE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GAME_MODE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|EXECUTE_SPECIAL_EPISODE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_TYPE&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN_OLD&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_CONQUEST&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|PERFORMANCE_PROGRESS_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x40 (64)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_OPEN_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ARRIVE_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_CONQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_PRESENT_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_REQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_NORMAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_SPECIAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_X&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_Y&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_HEIGHT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_DIRECTION&lt;br /&gt;
|int8&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|BIT_FUWARANTE_LOCAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|LOTTERY_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_KUREKURE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_TAKE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_GET&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_VARIATION&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_TREASURE_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RECYCLE_COUNT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|TEAM_RANK_EVENT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAY_OLD_GAME&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|NOTE_MODIFY_FLAG&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_PROJECTP&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUM&lt;br /&gt;
|none&lt;br /&gt;
|0x0 (0)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL0&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL1&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL2&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL3&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1409</id>
		<title>List of Script Variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1409"/>
		<updated>2026-01-18T06:38:29Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: Documented every known $SCENARIO_TALK_BIT_FLAG.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the variables available on the scripting engine. They can be read or written to from scripts.&lt;br /&gt;
&lt;br /&gt;
Some variables store a single value, whereas others can store multiple bitflags.&lt;br /&gt;
&lt;br /&gt;
== List of variables ==&lt;br /&gt;
&lt;br /&gt;
=== 0x0 - VERSION ===&lt;br /&gt;
Seems to be used to keep track of save file versions. It&#039;s stored in the save file when the game is saved. When loading a save file, if the version value in it doesn&#039;t match the value of this variable, the save file is deleted.&lt;br /&gt;
&lt;br /&gt;
=== 0x1 - CONDITION ===&lt;br /&gt;
Completely unused. Purpose unknown...&lt;br /&gt;
&lt;br /&gt;
=== 0x2 - SCENARIO_SELECT ===&lt;br /&gt;
Two indexed values determined via the Top Menu. These are referenced by Unionall for general control flow.&lt;br /&gt;
&lt;br /&gt;
To be a bit more specific, the first coroutine run after the Top Menu is EVENT_DIVIDE, which checks for these indexed values. In doing so, the game knows when to load scripts from maingame, a Special Episode, or Rescue mode.&lt;br /&gt;
&lt;br /&gt;
During mission rewards, the second index is used to track the index of the mission being processed in the job list.&lt;br /&gt;
&lt;br /&gt;
=== 0x3 - SCENARIO_MAIN ===&lt;br /&gt;
Stores game progress. The first value correlates with the MAIN value (mostly aligns with the story chapter), while the second is generally used to track progress within that MAIN. For the page detailing what these values mean, please see the [[Scenario Main Values]] article. &lt;br /&gt;
&lt;br /&gt;
=== 0x4 - SCENARIO_SIDE ===&lt;br /&gt;
Like SCENARIO_MAIN, but for special episode progress.&lt;br /&gt;
&lt;br /&gt;
=== 0x5 - SCENARIO_SUB1 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x6 - SCENARIO_SUB2 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x7 - SCENARIO_SUB3 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x8 - SCENARIO_SUB4 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x9 - SCENARIO_SUB5 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xa - SCENARIO_SUB6 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xb - SCENARIO_SUB7 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xc - SCENARIO_SUB8 ===&lt;br /&gt;
As far as is currently known, SCENARIO_SUB1 through SCENARIO_SUB8 are completely unused by the base-game! Perhaps they were intended to store side-quest progress of some sort?&lt;br /&gt;
&lt;br /&gt;
=== 0xd - SIDE02_TALK ===&lt;br /&gt;
Three bit flags that keeps track of the neighbors Igglybuff talked to in Special Episode 2&lt;br /&gt;
&lt;br /&gt;
=== 0xe - SIDE06_ROOM ===&lt;br /&gt;
Three bit flags that keeps track of the Limestone Cavern paths Team Charm visited in Special Episode 4&lt;br /&gt;
&lt;br /&gt;
=== 0xf - SIDE08_BOSS2ND ===&lt;br /&gt;
True if the player lose against Sableyes in Barren Valley Clearing in Special Episode 5&lt;br /&gt;
&lt;br /&gt;
=== 0x10 - SIDE01_BOSS2ND ===&lt;br /&gt;
True if Snover has betrayed bidoof in Special Episode 1. Used to determine whether Snover will be an ally in Star Cave or not.&lt;br /&gt;
&lt;br /&gt;
=== 0x11 - SCENARIO_MAIN_BIT_FLAG ===&lt;br /&gt;
Has many purposes, sometimes have hardcoded or technical effects, but not always.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Number&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Gets set to 1 right after waking up in the guild. Used for the game to determine when partner dialogue should be changed to just &amp;quot;Good morning, [hero]...&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Will end the current day if EVENT_DIVIDE is run.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Similar to 3. Seems to be related to missions&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Gets set to 1 if the player decides to go the wrong way during an expedition.&lt;br /&gt;
|-&lt;br /&gt;
|6, 7, 8&lt;br /&gt;
|Used to remember how the game was saved last.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Used in G01P04A/um07. When it&#039;s not set, the game spawns triggers. Upon walkng to them, Croagunk calls hero and partner to tell that the Croagunk Swap Shop is now opened.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do jobs.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do sentry duty. &lt;br /&gt;
|-&lt;br /&gt;
|12, 13&lt;br /&gt;
|Marowak Dojo First Entry/ Final Maze Opening&lt;br /&gt;
|-&lt;br /&gt;
|14-23&lt;br /&gt;
|Used in Marowak&#039;s Dojo. If none of them are set, the player finished all the dojo dungeons.&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|Gets set when the player finishes all dojo dungeons. Used to only show a cutscene about the full dojo completion once. &lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|Gets set to 0 before the check whether it&#039;s set to 1 or not during a cutscene after finishing the Final Maze.&lt;br /&gt;
|-&lt;br /&gt;
|26, 27&lt;br /&gt;
|Unused&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Gets set to 1 when the player finishes Final Maze. Used to give another cutscene if the Final Maze gets finished again. &lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|Gets set to 1 if the player decides to go back to the previous location(or back to the town) from the checkpoint.&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Seems to be used in TITLE_TEST to distinguish between Time and Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Gets set to 1 when the player presses Go Rescue for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Gets set to 1 when the player presses Standby Adventure for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|33-39&lt;br /&gt;
|Used after collecting one of the seven treasures. If none of them are set, the game gives a Seven Treasures collection checkmark.&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|Gets set if the player interacts with anything on the Pelipper Island. If set, the game will save upon leaving the island.&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Gets set to 1 when Chimecho tells hero and partner that they&#039;re now able to change team leader. Used to only show this cutscene once.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|Gets set to 1 when the partner says good morning to hero in Sharpedo Bluff, while $SCENARIO_MAIN is 29, 92. Used to only show this cutscene once, as it&#039;s called in coroutine EVENT_DIVIDE_AFTER, that is called really often.&lt;br /&gt;
|-&lt;br /&gt;
|43-45&lt;br /&gt;
|Aegis Cave&#039;s ice, rock and steel puzzles completion.&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|Gets set to 1 if the player Drifblim&#039;s Gondola. Used to show a cutscene where Drifblim thanks hero and partner for using his service.&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|Gets set to 1 when player talks with Ampharos about Sneasel&#039;s Sky Gift.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Gets set to 1 when the player gets Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|Gets set to 1 when the player leaves the station clearing after getting Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|50-60&lt;br /&gt;
|Sky Gift had been sent to Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk and partner respectively.&lt;br /&gt;
|-&lt;br /&gt;
|61&lt;br /&gt;
|Gets set to 1 when the player gives an item to Happiny.&lt;br /&gt;
|-&lt;br /&gt;
|62-73&lt;br /&gt;
|Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk, partner and Happiny respectively sent a Sky Gift to hero.&lt;br /&gt;
|-&lt;br /&gt;
|74-77&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station Clearing respectively. Happiny will always spawn on the 1st station if ITEM_BACKUP_GET = ITEM_BACKUP_TAKE.&lt;br /&gt;
|-&lt;br /&gt;
|78-81&lt;br /&gt;
|Used to decide whether Numel will appear on the 1st/3rd/5th/7th Station Clearing respectively. &lt;br /&gt;
|-&lt;br /&gt;
|82&lt;br /&gt;
|Gets set to 1 if the player already swapped items with Numel in the current attempt to climb to Sky Peak Summit.&lt;br /&gt;
|-&lt;br /&gt;
|83-87&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station/Summit Clearing respectively.&lt;br /&gt;
|-&lt;br /&gt;
|88&lt;br /&gt;
|Gets set to 1 when the player claims Jumpluff&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|89&lt;br /&gt;
|Used to decide whether Delibird should appear on the 9th Station Clearing. The chance of it being set is 50% each climbing attempt.&lt;br /&gt;
|-&lt;br /&gt;
|90&lt;br /&gt;
|Gets set to 1 when the player claims Delibird&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|91&lt;br /&gt;
|Gets set to 1 if the player gives an item to Heracross.&lt;br /&gt;
|-&lt;br /&gt;
|92&lt;br /&gt;
|Used to decide if a bottle should appear on the beach. The chance of it being set is 10%&lt;br /&gt;
|-&lt;br /&gt;
|93&lt;br /&gt;
|Used to decide if a client should appear in the cafe. The chance of it being set is 80%&lt;br /&gt;
|-&lt;br /&gt;
|94&lt;br /&gt;
|Gets set to 1 if the player receives a Gracidea.&lt;br /&gt;
|-&lt;br /&gt;
|95&lt;br /&gt;
|Gets set to 1 when Ursaring says that hero and partner can evolve.&lt;br /&gt;
|-&lt;br /&gt;
|96&lt;br /&gt;
|Gets set to 1 when Krabby says that bottles can appear on the beach.&lt;br /&gt;
|-&lt;br /&gt;
|97&lt;br /&gt;
|Gets set to 1 when Chimecho asks hero if recruits can stay at the cafe.&lt;br /&gt;
|-&lt;br /&gt;
|98&lt;br /&gt;
|Gets set to 1 in m00a01a. Doesn&#039;t seem to be used anywhere else.&lt;br /&gt;
|-&lt;br /&gt;
|99-127&lt;br /&gt;
|Unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12 - SCENARIO_TALK_BIT_FLAG ===&lt;br /&gt;
Up through [200] are in use, and they primarily exist to remember if the player has already talked with an NPC (therefore playing modified or shorter dialogue the second time around). For example, every merchant in treasure town comments on the player&#039;s accomplishments (like defeating Darkrai) the first time you talk to them. Whether that conversation has happened yet is tracked with SCENARIO_TALK_BIT_FLAG.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Number&lt;br /&gt;
!Used By&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Cafe Client&lt;br /&gt;
|P01P04A\enter11.ssb&lt;br /&gt;
|Used by the Cafe Client for the Gabite Mission, and the 7-Treasures Missions. In both Mission types, it&#039;s used to skip the lengthy exposition for the mission if the player declined the job earlier in the day. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Spoink&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Spoink&#039;s talk scripts. Used to remember if Spoink has given the player their helpful exploration tip about enemies not moving unless you do.&lt;br /&gt;
|-&lt;br /&gt;
|3-22&lt;br /&gt;
|Chimecho&lt;br /&gt;
|G01P03A&lt;br /&gt;
|Used in all of Chimecho&#039;s talk scripts. Flag 18 is unused!&lt;br /&gt;
|-&lt;br /&gt;
|23, 24, 26&lt;br /&gt;
|Dugtrio&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Dugtrio&#039;s talk scripts. Flag 25 is unused! Likely related to triggering CORO_EVENT_M00_04.&lt;br /&gt;
|-&lt;br /&gt;
|27, 28&lt;br /&gt;
|Pink Celebi&lt;br /&gt;
|D23P11A\um19&lt;br /&gt;
|Used in both Celebi talk scripts for the player to probe deeper about her not minding that she gets to spend more time with grovyle.&lt;br /&gt;
|-&lt;br /&gt;
|29-40&lt;br /&gt;
|Croagunk&lt;br /&gt;
|G01P04A\enter05.ssb&lt;br /&gt;
|Flags 36 and 38 are unused! By mistake, 37 and 39 are used two separate times for Croagunk&#039;s dialogue!&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Cresselia&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Cresselia&#039;s talk scripts. Used to remember if the player has rejected recruiting her to the team. Intended to only appear in H01P99A.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|-&lt;br /&gt;
|43-47&lt;br /&gt;
|Lapras&lt;br /&gt;
|D01P01A&lt;br /&gt;
|Used in all of Lapras&#039; talk scripts.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Vigoroth&lt;br /&gt;
|T01P02A&lt;br /&gt;
|Used for Vigoroth to give a shortened advertisement for the Marowak Dojo. Apparently he&#039;s &amp;quot;sponsored&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|49, 50&lt;br /&gt;
|Chatot&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Chatot&#039;s talk scripts. Used for dialogue relating to the player going to Amp Plains. Intended to only appear in G01P04A.&lt;br /&gt;
|-&lt;br /&gt;
|51-59&lt;br /&gt;
|Electivire&lt;br /&gt;
|T01P01A\enter06.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|60-62&lt;br /&gt;
|Marowak (Main Story)&lt;br /&gt;
|T01P03A\enter07.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|63-71&lt;br /&gt;
|Kangaskhan&lt;br /&gt;
|T01P02A\enter10.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|72-83&lt;br /&gt;
|Green Kecleon&lt;br /&gt;
|T01P02A\enter12.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|84-95&lt;br /&gt;
|Purple Kecleon&lt;br /&gt;
|T01P02A\enter11.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|96-102&lt;br /&gt;
|Xatu&lt;br /&gt;
|T01P02A\enter09.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|103-109&lt;br /&gt;
|Chansey&lt;br /&gt;
|T01P01A\enter07.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|110-118&lt;br /&gt;
|Duskull&lt;br /&gt;
|T01P01A\enter05.ssb&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|119&lt;br /&gt;
|Pelipper (Rescue)&lt;br /&gt;
|S01P02A\enter02.ssb&lt;br /&gt;
|Used to remember if the player has ever been &amp;quot;welcomed&amp;quot; to Pelipper Island before after selecting &amp;quot;Go Rescue&amp;quot; on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
|120&lt;br /&gt;
|Pelipper (Explore)&lt;br /&gt;
|S01P02A\enter07.ssb&lt;br /&gt;
|Used to remember if the player has ever been &amp;quot;welcomed&amp;quot; to Pelipper Island before after selecting &amp;quot;Standby Adventure&amp;quot; on the main menu.&lt;br /&gt;
|-&lt;br /&gt;
|121&lt;br /&gt;
|Partner&lt;br /&gt;
|Various&lt;br /&gt;
|Somewhat unclear. Seems to be some kind of game progress, possibly whether or not the partner has (through some means) told the hero that they want to check back on Sharpedo Bluff for Grovyle. Spawns a trigger in T02P02A if enabled.&lt;br /&gt;
|-&lt;br /&gt;
|122&lt;br /&gt;
|Shaymin (Guide)&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Shaymin&#039;s talk scripts throughout the mountain. Remembers if the player has rejected recruiting them to the team. Likely only intended to appear at the summit?&lt;br /&gt;
|-&lt;br /&gt;
|123&lt;br /&gt;
|Shaymin (Sky Gift)&lt;br /&gt;
|D73P11A&lt;br /&gt;
|Used to remember if Shaymin has told the player about Sky Gift delivery.&lt;br /&gt;
|-&lt;br /&gt;
|124&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|-&lt;br /&gt;
|125&lt;br /&gt;
|Pachirisu&lt;br /&gt;
|Various&lt;br /&gt;
|Used in all of Pachirisu&#039;s talk scripts. Remembers if the player has received a Sky Gift from Pachirisu or not. Likely intended to be used somewhere on the mountain.&lt;br /&gt;
|-&lt;br /&gt;
|126&lt;br /&gt;
|Marowak (Bidoof) &lt;br /&gt;
|T01P03A\enter08.ssb&lt;br /&gt;
|Used to remember if Bidoof has claimed Marowak&#039;s Reviver Seed in the special episode. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|127&lt;br /&gt;
|Kangakshan (Bidoof) &lt;br /&gt;
|T01P02A\un0103.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Kangaskhan in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|128&lt;br /&gt;
|Duskull (Bidoof)&lt;br /&gt;
|T01P01A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Duskull in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|129&lt;br /&gt;
|Green Kecleon (Bidoof)&lt;br /&gt;
|T01P02A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Green Kecleon in the episode before. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|130&lt;br /&gt;
|Purple Kecleon (Bidoof)&lt;br /&gt;
|T01P02A\un0102.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Purple Kecleon in the episode before.  Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|131&lt;br /&gt;
|Wigglytuff (Bidoof)&lt;br /&gt;
|G01P05A\un0101.ssb&lt;br /&gt;
|Used to remember if Bidoof has talked with Wigglytuff after unlocking Deep Star Cave in the episode before. Runs CORO_EVENT_N00_01 if not.  &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|132&lt;br /&gt;
|Bidoof (Sunflora)&lt;br /&gt;
|G01P03A\un0401.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Bidoof in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|133&lt;br /&gt;
|Chimecho (Sunflora)&lt;br /&gt;
|G01P03A\un0402.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Chimecho in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|134&lt;br /&gt;
|Dugtrio (Sunflora)&lt;br /&gt;
|H01P99A\un0401.ssb&lt;br /&gt;
|Used to remeber if Sunflora has talked with Dugtrio in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|135&lt;br /&gt;
|Kangaskhan (Sunflora)&lt;br /&gt;
|T01P02A\un0404.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Kangaskhan in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|136&lt;br /&gt;
|Green Kecleon (Sunflora)&lt;br /&gt;
|T01P02A\un0406.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Green Kecleon in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|137&lt;br /&gt;
|Purple Kecleon (Sunflora)&lt;br /&gt;
|T01P02A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora has talked with Purple Kecleon in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|138&lt;br /&gt;
|Vigoroth (Sunflora)&lt;br /&gt;
|T01P01A\un0404.ssb&lt;br /&gt;
|Used to remember if Sunflora was advertised to by Vigoroth in the episode before.&lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|139&lt;br /&gt;
|Team Flame (Sunflora)&lt;br /&gt;
|G01P03A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora talked with Bellsprout of Team Flame in the episode before. Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|140&lt;br /&gt;
|Duskull (Sunflora)&lt;br /&gt;
|T01P01A\un0405.ssb&lt;br /&gt;
|Used to remember if Sunflora talked with Duskull in the episode before. &lt;br /&gt;
Reset at the beginning of the episode!&lt;br /&gt;
|-&lt;br /&gt;
|141+&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Presumed unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13 - SCENARIO_BALANCE_FLAG ===&lt;br /&gt;
Starts at 0 and gets increased as the player completes certain story events. Controls bag size, Wynaut/Spinda dungeon unlocks, and the spawn threshold value of pokémon, which restricts spawning of some species until this variable reaches a certain value.&lt;br /&gt;
&lt;br /&gt;
==== Value changes ====&lt;br /&gt;
This table lists the exact story spots where the value of the flag is increased.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Story chapter&lt;br /&gt;
!Story event&lt;br /&gt;
!Scene&lt;br /&gt;
!Script&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|Start of a new game&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|3&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V03P12A&lt;br /&gt;
|m03a1314.ssb&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|6&lt;br /&gt;
|Expedition members are announced&lt;br /&gt;
|G01P04A&lt;br /&gt;
|m08a0301.ssb&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|9&lt;br /&gt;
|End of chapter&lt;br /&gt;
|P04P01C&lt;br /&gt;
|m10a1213.ssb&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|13&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V16P02A&lt;br /&gt;
|m16a0702.ssb&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|15&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V19P06A&lt;br /&gt;
|m19b1014.ssb&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Post-game 1&lt;br /&gt;
|After graduating and moving to Sharpedo Bluff&lt;br /&gt;
|H02P99A&lt;br /&gt;
|s01p1103.ssb&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Game complete&lt;br /&gt;
|The Ursarings tell Hero and Partner they can evolve&lt;br /&gt;
(After unlocking Marine Resort) &lt;br /&gt;
|T01P01A&lt;br /&gt;
|m00p1401.ssb&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Bag size ====&lt;br /&gt;
This table lists the maximum bag size depending on the current value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Bag size&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|48&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|48&lt;br /&gt;
|}&lt;br /&gt;
Values higher than 7 will read garbage data and cause crashes.&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;PERFORMANCE_PROGRESS_LIST[2]&amp;lt;/code&amp;gt; is 0, the bag will only have 1 slot, regardless of the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x14 - SCENARIO_BALANCE_DEBUG ===&lt;br /&gt;
If &amp;gt;= 0, overrides the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x15 - CRYSTAL_COLOR_01 ===&lt;br /&gt;
Used to keep track of the current color of the first crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x16 - CRYSTAL_COLOR_02 ===&lt;br /&gt;
Used to keep track of the current color of the second crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x17 - CRYSTAL_COLOR_03 ===&lt;br /&gt;
Used to keep track of the current color of the third crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
Outside of this puzzle, these 3 variables are completely unused by the base game!&lt;br /&gt;
&lt;br /&gt;
=== 0x18 - COMPULSORY_SAVE_POINT ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in the main story.&lt;br /&gt;
&lt;br /&gt;
=== 0x19 - COMPULSORY_SAVE_POINT_SIDE ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in special episode.&lt;br /&gt;
&lt;br /&gt;
=== 0x1a - SCENARIO_SELECT_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x1b - SCENARIO_MAIN_BIT_FLAG_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused, and is a huge list of flags that can be used locally, or in places the player is unable to save!&lt;br /&gt;
&lt;br /&gt;
=== 0x1c - GROUND_ENTER ===&lt;br /&gt;
The map ID the player is currently in the enter scene for.&lt;br /&gt;
&lt;br /&gt;
=== 0x1d - GROUND_ENTER_LINK ===&lt;br /&gt;
Set to zero by EVENT_FORMATION. Purpose Unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x1e - GROUND_GETOUT ===&lt;br /&gt;
The map ID of the enter scene the player was on before the current one. Usually used to decide where the player should enter from on the next map. &lt;br /&gt;
&lt;br /&gt;
=== 0x1f - GROUND_MAP ===&lt;br /&gt;
The map ID of the map currently rendered. Usually this is identical to GROUND_ENTER, unless the map that was loaded changes (Such as P01P01A changing to P01P03A when the cafe is unlocked). &lt;br /&gt;
&lt;br /&gt;
=== 0x20 - GROUND_PLACE ===&lt;br /&gt;
Determines the index for the map marker on the top-screen world map.&lt;br /&gt;
&lt;br /&gt;
=== 0x21 - GROUND_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x22 - GROUND_ENTER_LINK_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER_LINK used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x23 - GROUND_GETOUT_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_GETOUT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x24 - GROUND_MAP_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_MAP used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x25 - GROUND_PLACE_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_PLACE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x26 - DUNGEON_SELECT ===&lt;br /&gt;
The dungeon ID selected by the crossroads. Possibly reused elsewhere. &lt;br /&gt;
&lt;br /&gt;
=== 0x27 - DUNGEON_ENTER ===&lt;br /&gt;
Stores the dungeon ID the player enters, but only in DMODE_OPEN or DMODE_CLOSED. Otherwise, may be set to 214 or 215.  &lt;br /&gt;
&lt;br /&gt;
DUNGEON_ENTER_INDEX is a more reliable tracker of the dungeon ID.  &lt;br /&gt;
&lt;br /&gt;
=== 0x28 - DUNGEON_ENTER_MODE ===&lt;br /&gt;
Seems to be the DMODE of the dungeon being entered. &lt;br /&gt;
&lt;br /&gt;
=== 0x29 - DUNGEON_ENTER_INDEX ===&lt;br /&gt;
Is written on selecting a dungeon from the crossroads (and probably elsewhere). Generally used by the base game to remember the dungeon ID that the player is about to enter or has just exited. &lt;br /&gt;
&lt;br /&gt;
=== 0x2a - DUNGEON_ENTER_FREQUENCY ===&lt;br /&gt;
A running total of how many times the player has entered any dungeon. &lt;br /&gt;
&lt;br /&gt;
=== 0x2b - DUNGEON_RESULT ===&lt;br /&gt;
Stores how the dungeon was exited. Typically GROUND_START_MODE also stores this information, though that has other uses in ground mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Dungeon was cleared&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Escape Orb Used&lt;br /&gt;
|-&lt;br /&gt;
|Other&lt;br /&gt;
|Defeated in Dungeon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x2c - GROUND_START_MODE ===&lt;br /&gt;
The &amp;quot;mode&amp;quot; the game is in when it enters Ground Mode. Uses the same values as DUNGEON_RESULT when exiting a dungeon, but other values appear to be present. coroutine EVENT_FORMATION assigns it to 3, for unknown reasons.&lt;br /&gt;
&lt;br /&gt;
=== 0x2d - DUNGEON_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2e - DUNGEON_ENTER_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2f - DUNGEON_ENTER_INDEX_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_INDEX used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x30 - DUNGEON_ENTER_FREQUENCY_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_FREQUENCY used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x31 - DUNGEON_RESULT_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_RESULT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x32 - GROUND_START_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_START_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x33 - REQUEST_CLEAR_COUNT ===&lt;br /&gt;
Stores the number of jobs the player has completed at certain points in the story to determine when the next story event will occur. Will never increment above 100 in the base game.&lt;br /&gt;
&lt;br /&gt;
=== 0x34 - PLAYER_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_PLAYER when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ACTOR_ATTENDANT_BIPPA&lt;br /&gt;
|Bidoof&lt;br /&gt;
|Special Episode 1&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|ACTOR_ATTENDANT_PUPURIN&lt;br /&gt;
|Igglybuff&lt;br /&gt;
|Special Episode 2&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ACTOR_ATTENDANT_KIMAWARI&lt;br /&gt;
|Sunflora&lt;br /&gt;
|Special Episode 3&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ACTOR_ATTENDANT_FUTURE&lt;br /&gt;
|Grovyle&lt;br /&gt;
|Special Episode 5&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ACTOR_ATTENDANT_CHARMS&lt;br /&gt;
|Lopunny&lt;br /&gt;
|Special Episode 4&lt;br /&gt;
|-&lt;br /&gt;
|9+&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x35 - ATTENDANT1_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT1 (and possibly other related actors) when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5-9&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ACTOR_ATTENDANT_MANAFI&lt;br /&gt;
|Manaphy&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x36 - ATTENDANT2_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT2 when displayed.&lt;br /&gt;
&lt;br /&gt;
Will be &amp;quot;Nothing&amp;quot; unless it is 10, in which case Manaphy will slowly follow ATTENDANT1_KIND&lt;br /&gt;
&lt;br /&gt;
=== 0x37 - PLAYER_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of PLAYER_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x38 - ATTENDANT1_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT1_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x39 - ATTENDANT2_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT2_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x3a - FRIEND_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3b - UNIT_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3c - CARRY_GOLD ===&lt;br /&gt;
Stores the current amount of money carried by the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x3d - BANK_GOLD ===&lt;br /&gt;
Stores the current amount of money stored in Duskull&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
=== 0x3e - HERO_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial hero starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x3f - HERO_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial hero starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x40 - PARTNER_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial partner starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x41 - PARTNER_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial partner starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x42 - HERO_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the hero will use. In base game, only 4 and 5 are used for HERO_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Hero Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Male Pokemon&lt;br /&gt;
|Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Female/Genderless Pokemon&lt;br /&gt;
|Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x43 - PARTNER_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the partner will use. In base game, only 1, 2, and 3 are used for PARTNER_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Partner Species&lt;br /&gt;
!Use Case&lt;br /&gt;
!Example Dialogue Use&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Squirtle, Totodile, Chimchar, Meowth or Munchlax&lt;br /&gt;
|More &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|No more wimping out. I have to be brave today.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|All other Male Species&lt;br /&gt;
|Less &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. I have to steel my courage today.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|All female Species&lt;br /&gt;
|Least &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. Today I’m going to be brave.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x44 - RANDOM_REQUEST_NPC03_KIND ===&lt;br /&gt;
Determines the species of ACTOR_RANDOM_REQUEST_NPC03, or the Spinda Cafe client Pokémon. It is either a random Pokémon, Magnemite, or Togetic, depending on the mission.&lt;br /&gt;
&lt;br /&gt;
=== 0x45 - CONFIG_COLOR_KIND ===&lt;br /&gt;
The aura bow color determined by the personality quiz at the beginning of the game. Only ever used by wigglytuff to determine the color of aura bow given to the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x46 - ROM_VARIATION ===&lt;br /&gt;
Unknown, but hardcoded to zero.&lt;br /&gt;
&lt;br /&gt;
=== 0x47 - LANGUAGE_TYPE ===&lt;br /&gt;
Stores the language from DS Firmware. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Language&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Japanese&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|English&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|French&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|German&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Italian&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Spanish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x48 - GAME_MODE ===&lt;br /&gt;
Keeps track of the current game mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!ID&lt;br /&gt;
!Mode&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Top menu&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Normal play, including overworld and dungeons&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Special episode&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Rescue&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
There might be more valid values.&lt;br /&gt;
&lt;br /&gt;
=== 0x49 - EXECUTE_SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active. The base-game prefers this variable over SPECIAL_EPISODE_TYPE, though it is unknown if they differ at all.&lt;br /&gt;
&lt;br /&gt;
=== 0x4a - SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active, just like EXECUTE_SPECIAL_EPISODE_TYPE.&lt;br /&gt;
&lt;br /&gt;
=== 0x4b - SPECIAL_EPISODE_OPEN ===&lt;br /&gt;
Keeps track of what Special Episodes are unlocked.&lt;br /&gt;
&lt;br /&gt;
The following is the list of scripts where the Special Episodes are unlocked in the base-game:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[0] (Bidoof&#039;s Wish): V03P12A - m03a1314&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[1] (Igglybuff the Prodigy): P04P01C - m10a1213&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[2] (Today&#039;s Oh My Gosh): G01P04A - m16a0105&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[3] (Here Comes Team Charm!): D01P11A - m20a0101&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[4] (In the Future of Darkness): H02P99A - s01p1103&lt;br /&gt;
&lt;br /&gt;
=== 0x4c - SPECIAL_EPISODE_OPEN_OLD ===&lt;br /&gt;
Keeps track of what Special Episodes were started. Used to show an exclamation mark if the episode is opened but wasn&#039;t started.&lt;br /&gt;
&lt;br /&gt;
=== 0x4d - SPECIAL_EPISODE_CONQUEST ===&lt;br /&gt;
Keeps track of what Special Episodes did the player finished. Also unlocks the Special Episode&#039;s respective Clear Icons.&lt;br /&gt;
&lt;br /&gt;
Note: This specific script variable is not in any script. It is actually triggered by an &#039;&#039;&#039;adventure_log&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
The following is the list of the &#039;&#039;&#039;adventure_log&#039;&#039;&#039; that triggers this Script Variable and its location for each Special Episode:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[0] (Bidoof&#039;s Wish): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1000; in S04P01A - n03a3103&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[1] (Igglybuff the Prodigy): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1001; in S04P01A - n03a1704&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[2] (Today&#039;s Oh My Gosh): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1002; in S04P01A - n04a2606&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[3] (Here Comes Team Charm!): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1003; in S04P01A - n06a3909&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[4] (In the Future of Darkness): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1004; in S04P01A - n09a2212&lt;br /&gt;
&lt;br /&gt;
=== 0x4e - PERFORMANCE_PROGRESS_LIST ===&lt;br /&gt;
List of flags used to keep track of unlocked features and achievements. See [[Performance Progress Flags]] for the full list.&lt;br /&gt;
&lt;br /&gt;
=== 0x4f - DUNGEON_OPEN_LIST ===&lt;br /&gt;
List of unlocked dungeons. One bit per dungeon ID. If true, and the dungeon isn&#039;t on some blacklist, you can enter this dungeon from the crossroads/dojo/igglybuff&#039;s house/pelipper standby adventure. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_OPEN or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
=== 0x50 - DUNGEON_ENTER_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. This is checked at [NA]0x204CEE0, but never assigned. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x51 - DUNGEON_ARRIVE_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x52 - DUNGEON_CONQUEST_LIST ===&lt;br /&gt;
List of completed dungeons. One bit per dungeon ID. Automatically set on clearing any dungeon. &lt;br /&gt;
&lt;br /&gt;
In many cases, this bitfield renders other flags or variables redundant in a vanilla setting, especially certain $PERFORMANCE_PROGRESS_LIST flags that are always enabled after clearing certain dungeons for the first time. &lt;br /&gt;
&lt;br /&gt;
=== 0x53 - DUNGEON_PRESENT_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x54 - DUNGEON_REQUEST_LIST ===&lt;br /&gt;
List of dungeons that no longer have story progression. On completing a dungeon with this bit enabled, the player will enter [INSERT THE RIGHT COROUTINE HERE] in unionall. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_REQUEST or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
Contrary to the name, this field alone is insufficient for missions to show up on the job board! Only dungeon in DMODE_OPEN_AND_REQUEST can have missions, and other (hardcoded) conditions must be met. &lt;br /&gt;
&lt;br /&gt;
=== 0x55 - WORLD_MAP_MARK_LIST_NORMAL ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x56 - WORLD_MAP_MARK_LIST_SPECIAL ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x57 - WORLD_MAP_LEVEL ===&lt;br /&gt;
Seems to be used to track the area covered by clouds on the world map. &lt;br /&gt;
&lt;br /&gt;
=== 0x58 - POSITION_X ===&lt;br /&gt;
Stores the X-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x59 - POSITION_Y ===&lt;br /&gt;
Stores the Y-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5a - POSITION_HEIGHT ===&lt;br /&gt;
Stores the Z-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5b - POSITION_DIRECTION ===&lt;br /&gt;
Stores the direction an entity is facing when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5c - EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game, and is reset between scripts.&lt;br /&gt;
&lt;br /&gt;
=== 0x5d - DUNGEON_EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game (possibly while within dungeons?), and is reset between scripts. &lt;br /&gt;
&lt;br /&gt;
=== 0x5e - STATION_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x5f - STATION_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x60 - DELIVER_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x61 - DELIVER_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x62 - BIT_FUWARANTE_LOCAL ===&lt;br /&gt;
Keeps track of the Sky Peak stations the player visited. Used in the script for Drifblim&#039;s Gondola.&lt;br /&gt;
&lt;br /&gt;
=== 0x63 - LOTTERY_RESULT ===&lt;br /&gt;
Used to track what result should occur during the Recycle Shop Prize Ticket Lottery. Has no other use.&lt;br /&gt;
&lt;br /&gt;
=== 0x64 - ITEM_BACKUP ===&lt;br /&gt;
Unlikely to be a backup flag. Conveniently sized for item_GetVariable to extract the item ID and metadata.&lt;br /&gt;
&lt;br /&gt;
Used somewhere in Sky Peak&lt;br /&gt;
&lt;br /&gt;
=== 0x65 - ITEM_BACKUP_KUREKURE ===&lt;br /&gt;
Happiny requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x66 - ITEM_BACKUP_TAKE ===&lt;br /&gt;
Numel requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x67 - ITEM_BACKUP_GET ===&lt;br /&gt;
Numel gives this item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x68 - REQUEST_THANKS_RESULT_KIND ===&lt;br /&gt;
Stores the mission type of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x69 - REQUEST_THANKS_RESULT_VARIATION ===&lt;br /&gt;
Stores the mission subtype of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x6a - SUB30_TREASURE_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a treasure was found. &lt;br /&gt;
&lt;br /&gt;
=== 0x6b - SUB30_SPOT_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a new unexplored area was discovered. &lt;br /&gt;
&lt;br /&gt;
=== 0x6c - RECYCLE_COUNT ===&lt;br /&gt;
Stores the number of recycles the player has done. Is only updated by the base-game at the end of each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x6d - SUB30_SPOT_LEVEL ===&lt;br /&gt;
Keeps track of what dungeon was discovered by Project P. &lt;br /&gt;
&lt;br /&gt;
=== 0x6e - TEAM_RANK_EVENT_LEVEL ===&lt;br /&gt;
Updated by message_Menu(76) to the current guild rank. In vanilla, this only seems to happen on clearing a mission.  &lt;br /&gt;
&lt;br /&gt;
=== 0x6f - PLAY_OLD_GAME ===&lt;br /&gt;
True if the player answered yes to the question on the personality quiz that asks if you played Explorers of Time or Darkness. Increases the recruit rate of certain pokémon if you haven&#039;t recruited them yet.&lt;br /&gt;
&lt;br /&gt;
=== 0x70 - NOTE_MODIFY_FLAG ===&lt;br /&gt;
If true, the player will be forced to save on leaving Pelipper island. Likely indicative of whether a rescue has been attempted?&lt;br /&gt;
&lt;br /&gt;
=== 0x71 - SUB30_PROJECTP ===&lt;br /&gt;
If true, the player has viewed the Project P cutscene, and the recycle shop is capable of being upgraded.&lt;br /&gt;
&lt;br /&gt;
=== 0x72 - SUM ===&lt;br /&gt;
Seems to be a marker of the end of &amp;quot;normal&amp;quot; script variables.&lt;br /&gt;
&lt;br /&gt;
=== 0x400 - LOCAL0 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL0 in def 0 is distinct from $LOCAL0 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x401 - LOCAL1 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL1 indef 0 is distinct from $LOCAL1 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x402 - LOCAL2 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
=== 0x403 - LOCAL3 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
== Variable Lengths ==&lt;br /&gt;
Not all variables can store the same sized values! Some were allocated to be different sizes than others. Besides the standard sizes, there are 2 unusual variable sizes worth mentioning. &amp;quot;special&amp;quot; variable sizes are not stored in the same place as every other variable, and instead read some other value, such as the number of money the player currently has, or the current language of the ROM. &amp;quot;None&amp;quot; size is only used by the &amp;quot;SUM&amp;quot; variable, and has no allocated space at all. Below are a list of variables, their sizes, and how many there are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Variable&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Size&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Count&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|VERSION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONDITION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB1&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB2&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB3&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB4&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB5&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB6&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB7&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB8&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE02_TALK&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE06_ROOM&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE08_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE01_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x80 (128)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_TALK_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_FLAG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_DEBUG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_01&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_02&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_03&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG_BACKUP&lt;br /&gt;
|bit&lt;br /&gt;
|0x200 (512)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_SELECT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY&lt;br /&gt;
|uint16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY_BACKUP&lt;br /&gt;
|uint16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_CLEAR_COUNT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|FRIEND_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|UNIT_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CARRY_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|BANK_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RANDOM_REQUEST_NPC03_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_COLOR_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ROM_VARIATION&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LANGUAGE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GAME_MODE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|EXECUTE_SPECIAL_EPISODE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_TYPE&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN_OLD&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_CONQUEST&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|PERFORMANCE_PROGRESS_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x40 (64)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_OPEN_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ARRIVE_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_CONQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_PRESENT_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_REQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_NORMAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_SPECIAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_X&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_Y&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_HEIGHT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_DIRECTION&lt;br /&gt;
|int8&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|BIT_FUWARANTE_LOCAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|LOTTERY_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_KUREKURE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_TAKE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_GET&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_VARIATION&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_TREASURE_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RECYCLE_COUNT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|TEAM_RANK_EVENT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAY_OLD_GAME&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|NOTE_MODIFY_FLAG&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_PROJECTP&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUM&lt;br /&gt;
|none&lt;br /&gt;
|0x0 (0)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL0&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL1&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL2&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL3&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=Performance_Progress_Flags&amp;diff=1408</id>
		<title>Performance Progress Flags</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=Performance_Progress_Flags&amp;diff=1408"/>
		<updated>2026-01-17T21:55:38Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These flags are contained in the PERFORMANCE_PROGRESS_LIST [[List of Script Variables|variable]]. They are used to keep track of certain achievements and unlocks as the story progresses. Each flag is represented with a single bit, and therefore can only be true or false.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!ID&lt;br /&gt;
!Internal name&lt;br /&gt;
!Description&lt;br /&gt;
!Other comments&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Team name&lt;br /&gt;
|Controls if your team name is shown or just ???? in the menu&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Treasure Bag&lt;br /&gt;
|Bag is bigger than the &amp;quot;One-Item-Inventory&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Random Mission&lt;br /&gt;
|Must be enabled for random missions to generate&lt;br /&gt;
|Might have to do with being able to receive Wonder Mail S&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Friend Rescue&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Friends&lt;br /&gt;
|Pokémon show up in &amp;quot;Potential Recruits&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Evolution&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Formation Change&lt;br /&gt;
|Whether leader can be switched in dungeons. If 0, you get kicked out of the dungeon when your partner faints.&lt;br /&gt;
Also allows adding and removing the starters from the active team on Chimeco Assembly.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Move Alone / Training&lt;br /&gt;
|&lt;br /&gt;
|The list of internal names has an extra element that does not correspond to a flag somewhere around here. So the name for this flag could be either of those.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Post ending&lt;br /&gt;
|Allows Pokémon that can&#039;t appear in missions during the story to appear in missions&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Scenario Completion&lt;br /&gt;
|Player and partner can evolve&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Dojo clear&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|Defeat Drowzee&lt;br /&gt;
|Clear mark: Drowzee apprehended&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|Defeat fake Groudon&lt;br /&gt;
|Clear mark: Mirage Groudon defeated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|Defeat Luxray&lt;br /&gt;
|Clear mark: Manectric&#039;s clan defeated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|Cleared Future World&lt;br /&gt;
|Clear mark: Escaped from the future&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|Defeat Dusknoir&lt;br /&gt;
|Clear mark: Dusknoir defeated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|Defeat Dialga&lt;br /&gt;
|Clear mark: Temporal Tower saved&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|Defeat Darkrai&lt;br /&gt;
|Clear mark: Darkrai banished&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|Defeat Regigigas&lt;br /&gt;
|Clear mark: Regigigas defeated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|Guild Graduation&lt;br /&gt;
|Clear mark: Graduated from Wigglytuff&#039;s Guild&lt;br /&gt;
|Enables the Make Leader option in Chimeco assembly&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|Collect 7 Treasures&lt;br /&gt;
|Clear mark: Seven Treasures all obtained&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|Scizor ev. clear&lt;br /&gt;
|Clear mark: Met Scizor. Also grants Secret Rank.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|Get Manaphy&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|Manaphy ev. clear&lt;br /&gt;
|Clear mark: Manaphy arc completed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|Go separately from Chatot&lt;br /&gt;
|Makes the Chatot guest slot for Brine Cave not appear even if the dungeon isn&#039;t cleared&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|Climbed Sky Peak&lt;br /&gt;
|Clear mark: Climbed Sky Peak. Also unlocks Sky Jukebox.&lt;br /&gt;
|Allows using a Gracidea to change Shaymin to Sky forme.&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|Identify Waterfall&lt;br /&gt;
|Changes &amp;quot;Secret Waterfall&amp;quot; to &amp;quot;Waterfall Cave&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Identify Quicksand&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|&lt;br /&gt;
|The list of recruitable Pokémon is available from the menu&lt;br /&gt;
|Believed to enable recruitment as a mission reward.&lt;br /&gt;
Enabled upon unlocking chimecho assembly (m00p0101).&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Believed to enable eggs as a mission reward.&lt;br /&gt;
Enabled upon returning from the expedition (m11a0101).&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Last flag that gets set when starting a new game with the &amp;quot;All complete&amp;quot; option. The rest might be unused.&lt;br /&gt;
Seems to be related to the Croagunk Swap Shop?&lt;br /&gt;
&lt;br /&gt;
Believed to enable exclusive items as a mission reward.&lt;br /&gt;
&lt;br /&gt;
Enabled upon unlocking the swap shop (m00p0201).&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|35&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|36&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|38&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|39&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|43&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|44&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|45&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|50&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|51&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|52&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|53&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|54&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|55&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|56&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|57&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|58&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|59&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|60&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|61&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|62&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|63&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=Performance_Progress_Flags&amp;diff=1274</id>
		<title>Performance Progress Flags</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=Performance_Progress_Flags&amp;diff=1274"/>
		<updated>2025-10-02T19:03:35Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: Added Likely uses for [29], [30], and [31]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These flags are contained in the PERFORMANCE_PROGRESS_LIST [[List of Script Variables|variable]]. They are used to keep track of certain achievements and unlocks as the story progresses. Each flag is represented with a single bit, and therefore can only be true or false.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!ID&lt;br /&gt;
!Internal name&lt;br /&gt;
!Description&lt;br /&gt;
!Other comments&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Team name&lt;br /&gt;
|Controls if your team name is shown or just ???? in the menu&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Treasure Bag&lt;br /&gt;
|Bag is bigger than the &amp;quot;One-Item-Inventory&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Random Mission&lt;br /&gt;
|Must be enabled for random missions to generate&lt;br /&gt;
|Might have to do with being able to receive Wonder Mail S&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Friend Rescue&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Friends&lt;br /&gt;
|Pokémon show up in &amp;quot;Potential Recruits&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Evolution&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Formation Change&lt;br /&gt;
|Whether leader can be switched in dungeons. If 0, you get kicked out of the dungeon when your partner faints.&lt;br /&gt;
Also allows adding and removing the starters from the active team on Chimeco Assembly.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Move Alone / Training&lt;br /&gt;
|&lt;br /&gt;
|The list of internal names has an extra element that does not correspond to a flag somewhere around here. So the name for this flag could be either of those.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Post ending&lt;br /&gt;
|Allows Pokémon that can&#039;t appear in missions during the story to appear in missions&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Scenario Completion&lt;br /&gt;
|Player and partner can evolve&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Dojo clear&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|Defeat Drowzee&lt;br /&gt;
|Clear mark: Drowzee apprehended&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|Defeat fake Groudon&lt;br /&gt;
|Clear mark: Mirage Groudon defeated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|Defeat Luxray&lt;br /&gt;
|Clear mark: Manectric&#039;s clan defeated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|Cleared Future World&lt;br /&gt;
|Clear mark: Escaped from the future&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|Defeat Dusknoir&lt;br /&gt;
|Clear mark: Dusknoir defeated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|Defeat Dialga&lt;br /&gt;
|Clear mark: Temporal Tower saved&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|Defeat Darkrai&lt;br /&gt;
|Clear mark: Darkrai banished&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|Defeat Regigigas&lt;br /&gt;
|Clear mark: Regigigas defeated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|Guild Graduation&lt;br /&gt;
|Clear mark: Graduated from Wigglytuff&#039;s Guild&lt;br /&gt;
|Enables the Make Leader option in Chimeco assembly&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|Collect 7 Treasures&lt;br /&gt;
|Clear mark: Seven Treasures all obtained&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|Scizor ev. clear&lt;br /&gt;
|Clear mark: Met Scizor. Also grants Secret Rank.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|Get Manaphy&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|Manaphy ev. clear&lt;br /&gt;
|Clear mark: Manaphy arc completed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|Go separately from Chatot&lt;br /&gt;
|Makes the Chatot guest slot for Brine Cave not appear even if the dungeon isn&#039;t cleared&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|Climbed Sky Peak&lt;br /&gt;
|Clear mark: Climbed Sky Peak. Also unlocks Sky Jukebox.&lt;br /&gt;
|Allows using a Gracidea to change Shaymin to Sky forme.&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|Identify Waterfall&lt;br /&gt;
|Changes &amp;quot;Secret Waterfall&amp;quot; to &amp;quot;Waterfall Cave&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Identify Quicksand&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|&lt;br /&gt;
|The list of recruitable Pokémon is available from the menu&lt;br /&gt;
|Believed to enable recruitment as a mission reward.&lt;br /&gt;
Enabled upon unlocking chimecho assembly (m00p0101).&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Believed to enable eggs as a mission reward.&lt;br /&gt;
Enabled upon returning from the expedition (m11a0101).&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Last flag that gets set when starting a new game with the &amp;quot;All complete&amp;quot; option. The rest might be unused.&lt;br /&gt;
Seems to be related to the Croagunk Swap Shop?&lt;br /&gt;
&lt;br /&gt;
Believed to enable exclusive items as a mission reward.&lt;br /&gt;
&lt;br /&gt;
Enabled upon unlocking the swap shop (m00p0101).&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|35&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|36&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|37&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|38&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|39&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|43&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|44&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|45&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|50&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|51&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|52&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|53&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|54&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|55&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|56&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|57&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|58&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|59&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|60&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|61&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|62&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|63&lt;br /&gt;
|&lt;br /&gt;
|Unused?&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1240</id>
		<title>List of Script Variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1240"/>
		<updated>2025-09-01T17:43:33Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* 0x6e - TEAM_RANK_EVENT_LEVEL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the variables available on the scripting engine. They can be read or written to from scripts.&lt;br /&gt;
&lt;br /&gt;
Some variables store a single value, whereas others can store multiple bitflags.&lt;br /&gt;
&lt;br /&gt;
== List of variables ==&lt;br /&gt;
&lt;br /&gt;
=== 0x0 - VERSION ===&lt;br /&gt;
Seems to be used to keep track of save file versions. It&#039;s stored in the save file when the game is saved. When loading a save file, if the version value in it doesn&#039;t match the value of this variable, the save file is deleted.&lt;br /&gt;
&lt;br /&gt;
=== 0x1 - CONDITION ===&lt;br /&gt;
Completely unused. Purpose unknown...&lt;br /&gt;
&lt;br /&gt;
=== 0x2 - SCENARIO_SELECT ===&lt;br /&gt;
Two indexed values determined via the Top Menu. These are referenced by Unionall for general control flow.&lt;br /&gt;
&lt;br /&gt;
To be a bit more specific, the first coroutine run after the Top Menu is EVENT_DIVIDE, which checks for these indexed values. In doing so, the game knows when to load scripts from maingame, a Special Episode, or Rescue mode.&lt;br /&gt;
&lt;br /&gt;
During mission rewards, the second index is used to track the index of the mission being processed in the job list.&lt;br /&gt;
&lt;br /&gt;
=== 0x3 - SCENARIO_MAIN ===&lt;br /&gt;
Stores game progress. The first value correlates with the MAIN value (mostly aligns with the story chapter), while the second is generally used to track progress within that MAIN. For the page detailing what these values mean, please see the [[Scenario Main Values]] article. &lt;br /&gt;
&lt;br /&gt;
=== 0x4 - SCENARIO_SIDE ===&lt;br /&gt;
Like SCENARIO_MAIN, but for special episode progress.&lt;br /&gt;
&lt;br /&gt;
=== 0x5 - SCENARIO_SUB1 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x6 - SCENARIO_SUB2 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x7 - SCENARIO_SUB3 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x8 - SCENARIO_SUB4 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x9 - SCENARIO_SUB5 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xa - SCENARIO_SUB6 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xb - SCENARIO_SUB7 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xc - SCENARIO_SUB8 ===&lt;br /&gt;
As far as is currently known, SCENARIO_SUB1 through SCENARIO_SUB8 are completely unused by the base-game! Perhaps they were intended to store side-quest progress of some sort?&lt;br /&gt;
&lt;br /&gt;
=== 0xd - SIDE02_TALK ===&lt;br /&gt;
Three bit flags that keeps track of the neighbors Igglybuff talked to in Special Episode 2&lt;br /&gt;
&lt;br /&gt;
=== 0xe - SIDE06_ROOM ===&lt;br /&gt;
Three bit flags that keeps track of the Limestone Cavern paths Team Charm visited in Special Episode 4&lt;br /&gt;
&lt;br /&gt;
=== 0xf - SIDE08_BOSS2ND ===&lt;br /&gt;
True if the player lose against Sableyes in Barren Valley Clearing in Special Episode 5&lt;br /&gt;
&lt;br /&gt;
=== 0x10 - SIDE01_BOSS2ND ===&lt;br /&gt;
True if Snover has betrayed bidoof in Special Episode 1. Used to determine whether Snover will be an ally in Star Cave or not.&lt;br /&gt;
&lt;br /&gt;
=== 0x11 - SCENARIO_MAIN_BIT_FLAG ===&lt;br /&gt;
Has many purposes, sometimes have hardcoded or technical effects, but not always.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Number&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Gets set to 1 right after waking up in the guild. Used for the game to determine when partner dialogue should be changed to just &amp;quot;Good morning, [hero]...&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Will end the current day if EVENT_DIVIDE is run.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Similar to 3. Seems to be related to missions&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Gets set to 1 if the player decides to go the wrong way during an expedition.&lt;br /&gt;
|-&lt;br /&gt;
|6, 7, 8&lt;br /&gt;
|Used to remember how the game was saved last.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Used in G01P04A/um07. When it&#039;s not set, the game spawns triggers. Upon walkng to them, Croagunk calls hero and partner to tell that the Croagunk Swap Shop is now opened.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do jobs.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do sentry duty. &lt;br /&gt;
|-&lt;br /&gt;
|12, 13&lt;br /&gt;
|Marowak Dojo First Entry/ Final Maze Opening&lt;br /&gt;
|-&lt;br /&gt;
|14-23&lt;br /&gt;
|Used in Marowak&#039;s Dojo. If none of them are set, the player finished all the dojo dungeons.&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|Gets set when the player finishes all dojo dungeons. Used to only show a cutscene about the full dojo completion once. &lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|Gets set to 0 before the check whether it&#039;s set to 1 or not during a cutscene after finishing the Final Maze.&lt;br /&gt;
|-&lt;br /&gt;
|26, 27&lt;br /&gt;
|Unused&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Gets set to 1 when the player finishes Final Maze. Used to give another cutscene if the Final Maze gets finished again. &lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|Gets set to 1 if the player decides to go back to the previous location(or back to the town) from the checkpoint.&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Seems to be used in TITLE_TEST to distinguish between Time and Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Gets set to 1 when the player presses Go Rescue for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Gets set to 1 when the player presses Standby Adventure for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|33-39&lt;br /&gt;
|Used after collecting one of the seven treasures. If none of them are set, the game gives a Seven Treasures collection checkmark.&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|Gets set if the player interacts with anything on the Pelipper Island. If set, the game will save upon leaving the island.&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Gets set to 1 when Chimecho tells hero and partner that they&#039;re now able to change team leader. Used to only show this cutscene once.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|Gets set to 1 when the partner says good morning to hero in Sharpedo Bluff, while $SCENARIO_MAIN is 29, 92. Used to only show this cutscene once, as it&#039;s called in coroutine EVENT_DIVIDE_AFTER, that is called really often.&lt;br /&gt;
|-&lt;br /&gt;
|43-45&lt;br /&gt;
|Aegis Cave&#039;s ice, rock and steel puzzles completion.&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|Gets set to 1 if the player Drifblim&#039;s Gondola. Used to show a cutscene where Drifblim thanks hero and partner for using his service.&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|Gets set to 1 when player talks with Ampharos about Sneasel&#039;s Sky Gift.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Gets set to 1 when the player gets Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|Gets set to 1 when the player leaves the station clearing after getting Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|50-60&lt;br /&gt;
|Sky Gift had been sent to Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk and partner respectively.&lt;br /&gt;
|-&lt;br /&gt;
|61&lt;br /&gt;
|Gets set to 1 when the player gives an item to Happiny.&lt;br /&gt;
|-&lt;br /&gt;
|62-73&lt;br /&gt;
|Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk, partner and Happiny respectively sent a Sky Gift to hero.&lt;br /&gt;
|-&lt;br /&gt;
|74-77&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station Clearing respectively. Happiny will always spawn on the 1st station if ITEM_BACKUP_GET = ITEM_BACKUP_TAKE.&lt;br /&gt;
|-&lt;br /&gt;
|78-81&lt;br /&gt;
|Used to decide whether Numel will appear on the 1st/3rd/5th/7th Station Clearing respectively. &lt;br /&gt;
|-&lt;br /&gt;
|82&lt;br /&gt;
|Gets set to 1 if the player already swapped items with Numel in the current attempt to climb to Sky Peak Summit.&lt;br /&gt;
|-&lt;br /&gt;
|83-87&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station/Summit Clearing respectively.&lt;br /&gt;
|-&lt;br /&gt;
|88&lt;br /&gt;
|Gets set to 1 when the player claims Jumpluff&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|89&lt;br /&gt;
|Used to decide whether Delibird should appear on the 9th Station Clearing. The chance of it being set is 50% each climbing attempt.&lt;br /&gt;
|-&lt;br /&gt;
|90&lt;br /&gt;
|Gets set to 1 when the player claims Delibird&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|91&lt;br /&gt;
|Gets set to 1 if the player gives an item to Heracross.&lt;br /&gt;
|-&lt;br /&gt;
|92&lt;br /&gt;
|Used to decide if a bottle should appear on the beach. The chance of it being set is 10%&lt;br /&gt;
|-&lt;br /&gt;
|93&lt;br /&gt;
|Used to decide if a client should appear in the cafe. The chance of it being set is 80%&lt;br /&gt;
|-&lt;br /&gt;
|94&lt;br /&gt;
|Gets set to 1 if the player receives a Gracidea.&lt;br /&gt;
|-&lt;br /&gt;
|95&lt;br /&gt;
|Gets set to 1 when Ursaring says that hero and partner can evolve.&lt;br /&gt;
|-&lt;br /&gt;
|96&lt;br /&gt;
|Gets set to 1 when Krabby says that bottles can appear on the beach.&lt;br /&gt;
|-&lt;br /&gt;
|97&lt;br /&gt;
|Gets set to 1 when Chimecho asks hero if recruits can stay at the cafe.&lt;br /&gt;
|-&lt;br /&gt;
|98&lt;br /&gt;
|Gets set to 1 in m00a01a. Doesn&#039;t seem to be used anywhere else.&lt;br /&gt;
|-&lt;br /&gt;
|99-127&lt;br /&gt;
|Unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12 - SCENARIO_TALK_BIT_FLAG ===&lt;br /&gt;
Up through [200] are in use, and they primarily exist to remember if the player has already talked with an NPC (therefore playing modified or shorter dialogue the second time around). For example, every merchant in treasure town comments on the player&#039;s accomplishments (like defeating Darkrai) the first time you talk to them. Whether that conversation has happened yet is tracked with SCENARIO_TALK_BIT_FLAG.&lt;br /&gt;
&lt;br /&gt;
=== 0x13 - SCENARIO_BALANCE_FLAG ===&lt;br /&gt;
Starts at 0 and gets increased as the player completes certain story events. Controls bag size, Wynaut/Spinda dungeon unlocks, and the spawn threshold value of pokémon, which restricts spawning of some species until this variable reaches a certain value.&lt;br /&gt;
&lt;br /&gt;
==== Value changes ====&lt;br /&gt;
This table lists the exact story spots where the value of the flag is increased.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Story chapter&lt;br /&gt;
!Story event&lt;br /&gt;
!Scene&lt;br /&gt;
!Script&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|Start of a new game&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|3&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V03P12A&lt;br /&gt;
|m03a1314.ssb&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|6&lt;br /&gt;
|Expedition members are announced&lt;br /&gt;
|G01P04A&lt;br /&gt;
|m08a0301.ssb&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|9&lt;br /&gt;
|End of chapter&lt;br /&gt;
|P04P01C&lt;br /&gt;
|m10a1213.ssb&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|13&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V16P02A&lt;br /&gt;
|m16a0702.ssb&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|15&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V19P06A&lt;br /&gt;
|m19b1014.ssb&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Post-game 1&lt;br /&gt;
|After graduating and moving to Sharpedo Bluff&lt;br /&gt;
|H02P99A&lt;br /&gt;
|s01p1103.ssb&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Game complete&lt;br /&gt;
|The Ursarings tell Hero and Partner they can evolve&lt;br /&gt;
(After unlocking Marine Resort) &lt;br /&gt;
|T01P01A&lt;br /&gt;
|m00p1401.ssb&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Bag size ====&lt;br /&gt;
This table lists the maximum bag size depending on the current value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Bag size&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|48&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|48&lt;br /&gt;
|}&lt;br /&gt;
Values higher than 7 will read garbage data and cause crashes.&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;PERFORMANCE_PROGRESS_LIST[2]&amp;lt;/code&amp;gt; is 0, the bag will only have 1 slot, regardless of the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x14 - SCENARIO_BALANCE_DEBUG ===&lt;br /&gt;
If &amp;gt;= 0, overrides the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x15 - CRYSTAL_COLOR_01 ===&lt;br /&gt;
Used to keep track of the current color of the first crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x16 - CRYSTAL_COLOR_02 ===&lt;br /&gt;
Used to keep track of the current color of the second crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x17 - CRYSTAL_COLOR_03 ===&lt;br /&gt;
Used to keep track of the current color of the third crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
Outside of this puzzle, these 3 variables are completely unused by the base game!&lt;br /&gt;
&lt;br /&gt;
=== 0x18 - COMPULSORY_SAVE_POINT ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in the main story.&lt;br /&gt;
&lt;br /&gt;
=== 0x19 - COMPULSORY_SAVE_POINT_SIDE ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in special episode.&lt;br /&gt;
&lt;br /&gt;
=== 0x1a - SCENARIO_SELECT_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x1b - SCENARIO_MAIN_BIT_FLAG_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused, and is a huge list of flags that can be used locally, or in places the player is unable to save!&lt;br /&gt;
&lt;br /&gt;
=== 0x1c - GROUND_ENTER ===&lt;br /&gt;
The map ID the player is currently in the enter scene for.&lt;br /&gt;
&lt;br /&gt;
=== 0x1d - GROUND_ENTER_LINK ===&lt;br /&gt;
Set to zero by EVENT_FORMATION. Purpose Unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x1e - GROUND_GETOUT ===&lt;br /&gt;
The map ID of the enter scene the player was on before the current one. Usually used to decide where the player should enter from on the next map. &lt;br /&gt;
&lt;br /&gt;
=== 0x1f - GROUND_MAP ===&lt;br /&gt;
The map ID of the map currently rendered. Usually this is identical to GROUND_ENTER, unless the map that was loaded changes (Such as P01P01A changing to P01P03A when the cafe is unlocked). &lt;br /&gt;
&lt;br /&gt;
=== 0x20 - GROUND_PLACE ===&lt;br /&gt;
Determines the index for the map marker on the top-screen world map.&lt;br /&gt;
&lt;br /&gt;
=== 0x21 - GROUND_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x22 - GROUND_ENTER_LINK_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER_LINK used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x23 - GROUND_GETOUT_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_GETOUT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x24 - GROUND_MAP_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_MAP used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x25 - GROUND_PLACE_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_PLACE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x26 - DUNGEON_SELECT ===&lt;br /&gt;
The dungeon ID selected by the crossroads. Possibly reused elsewhere. &lt;br /&gt;
&lt;br /&gt;
=== 0x27 - DUNGEON_ENTER ===&lt;br /&gt;
Stores the dungeon ID the player enters, but only in DMODE_OPEN or DMODE_CLOSED. Otherwise, may be set to 214 or 215.  &lt;br /&gt;
&lt;br /&gt;
DUNGEON_ENTER_INDEX is a more reliable tracker of the dungeon ID.  &lt;br /&gt;
&lt;br /&gt;
=== 0x28 - DUNGEON_ENTER_MODE ===&lt;br /&gt;
Seems to be the DMODE of the dungeon being entered. &lt;br /&gt;
&lt;br /&gt;
=== 0x29 - DUNGEON_ENTER_INDEX ===&lt;br /&gt;
Is written on selecting a dungeon from the crossroads (and probably elsewhere). Generally used by the base game to remember the dungeon ID that the player is about to enter or has just exited. &lt;br /&gt;
&lt;br /&gt;
=== 0x2a - DUNGEON_ENTER_FREQUENCY ===&lt;br /&gt;
A running total of how many times the player has entered any dungeon. &lt;br /&gt;
&lt;br /&gt;
=== 0x2b - DUNGEON_RESULT ===&lt;br /&gt;
Stores how the dungeon was exited. Typically GROUND_START_MODE also stores this information, though that has other uses in ground mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Dungeon was cleared&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Escape Orb Used&lt;br /&gt;
|-&lt;br /&gt;
|Other&lt;br /&gt;
|Defeated in Dungeon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x2c - GROUND_START_MODE ===&lt;br /&gt;
The &amp;quot;mode&amp;quot; the game is in when it enters Ground Mode. Uses the same values as DUNGEON_RESULT when exiting a dungeon, but other values appear to be present. coroutine EVENT_FORMATION assigns it to 3, for unknown reasons.&lt;br /&gt;
&lt;br /&gt;
=== 0x2d - DUNGEON_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2e - DUNGEON_ENTER_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2f - DUNGEON_ENTER_INDEX_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_INDEX used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x30 - DUNGEON_ENTER_FREQUENCY_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_FREQUENCY used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x31 - DUNGEON_RESULT_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_RESULT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x32 - GROUND_START_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_START_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x33 - REQUEST_CLEAR_COUNT ===&lt;br /&gt;
Stores the number of jobs the player has completed at certain points in the story to determine when the next story event will occur. Will never increment above 100 in the base game.&lt;br /&gt;
&lt;br /&gt;
=== 0x34 - PLAYER_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_PLAYER when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ACTOR_ATTENDANT_BIPPA&lt;br /&gt;
|Bidoof&lt;br /&gt;
|Special Episode 1&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|ACTOR_ATTENDANT_PUPURIN&lt;br /&gt;
|Igglybuff&lt;br /&gt;
|Special Episode 2&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ACTOR_ATTENDANT_KIMAWARI&lt;br /&gt;
|Sunflora&lt;br /&gt;
|Special Episode 3&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ACTOR_ATTENDANT_FUTURE&lt;br /&gt;
|Grovyle&lt;br /&gt;
|Special Episode 5&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ACTOR_ATTENDANT_CHARMS&lt;br /&gt;
|Lopunny&lt;br /&gt;
|Special Episode 4&lt;br /&gt;
|-&lt;br /&gt;
|9+&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x35 - ATTENDANT1_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT1 (and possibly other related actors) when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5-9&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ACTOR_ATTENDANT_MANAFI&lt;br /&gt;
|Manaphy&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x36 - ATTENDANT2_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT2 when displayed.&lt;br /&gt;
&lt;br /&gt;
Will be &amp;quot;Nothing&amp;quot; unless it is 10, in which case Manaphy will slowly follow ATTENDANT1_KIND&lt;br /&gt;
&lt;br /&gt;
=== 0x37 - PLAYER_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of PLAYER_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x38 - ATTENDANT1_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT1_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x39 - ATTENDANT2_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT2_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x3a - FRIEND_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3b - UNIT_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3c - CARRY_GOLD ===&lt;br /&gt;
Stores the current amount of money carried by the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x3d - BANK_GOLD ===&lt;br /&gt;
Stores the current amount of money stored in Duskull&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
=== 0x3e - HERO_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial hero starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x3f - HERO_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial hero starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x40 - PARTNER_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial partner starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x41 - PARTNER_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial partner starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x42 - HERO_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the hero will use. In base game, only 4 and 5 are used for HERO_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Hero Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Male Pokemon&lt;br /&gt;
|Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Female/Genderless Pokemon&lt;br /&gt;
|Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x43 - PARTNER_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the partner will use. In base game, only 1, 2, and 3 are used for PARTNER_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Partner Species&lt;br /&gt;
!Use Case&lt;br /&gt;
!Example Dialogue Use&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Squirtle, Totodile, Chimchar, Meowth or Munchlax&lt;br /&gt;
|More &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|No more wimping out. I have to be brave today.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|All other Male Species&lt;br /&gt;
|Less &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. I have to steel my courage today.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|All female Species&lt;br /&gt;
|Least &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. Today I’m going to be brave.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x44 - RANDOM_REQUEST_NPC03_KIND ===&lt;br /&gt;
Determines the species of ACTOR_RANDOM_REQUEST_NPC03, or the Spinda Cafe client Pokémon. It is either a random Pokémon, Magnemite, or Togetic, depending on the mission.&lt;br /&gt;
&lt;br /&gt;
=== 0x45 - CONFIG_COLOR_KIND ===&lt;br /&gt;
The aura bow color determined by the personality quiz at the beginning of the game. Only ever used by wigglytuff to determine the color of aura bow given to the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x46 - ROM_VARIATION ===&lt;br /&gt;
Unknown, but hardcoded to zero.&lt;br /&gt;
&lt;br /&gt;
=== 0x47 - LANGUAGE_TYPE ===&lt;br /&gt;
Stores the language from DS Firmware. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Language&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Japanese&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|English&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|French&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|German&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Italian&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Spanish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x48 - GAME_MODE ===&lt;br /&gt;
Keeps track of the current game mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!ID&lt;br /&gt;
!Mode&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Top menu&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Normal play, including overworld and dungeons&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Special episode&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Rescue&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
There might be more valid values.&lt;br /&gt;
&lt;br /&gt;
=== 0x49 - EXECUTE_SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active. The base-game prefers this variable over SPECIAL_EPISODE_TYPE, though it is unknown if they differ at all.&lt;br /&gt;
&lt;br /&gt;
=== 0x4a - SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active, just like EXECUTE_SPECIAL_EPISODE_TYPE.&lt;br /&gt;
&lt;br /&gt;
=== 0x4b - SPECIAL_EPISODE_OPEN ===&lt;br /&gt;
Keeps track of what Special Episodes are unlocked.&lt;br /&gt;
&lt;br /&gt;
The following is the list of scripts where the Special Episodes are unlocked in the base-game:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[0] (Bidoof&#039;s Wish): V03P12A - m03a1314&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[1] (Igglybuff the Prodigy): P04P01C - m10a1213&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[2] (Today&#039;s Oh My Gosh): G01P04A - m16a0105&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[3] (Here Comes Team Charm!): D01P11A - m20a0101&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[4] (In the Future of Darkness): H02P99A - s01p1103&lt;br /&gt;
&lt;br /&gt;
=== 0x4c - SPECIAL_EPISODE_OPEN_OLD ===&lt;br /&gt;
Keeps track of what Special Episodes were started. Used to show an exclamation mark if the episode is opened but wasn&#039;t started.&lt;br /&gt;
&lt;br /&gt;
=== 0x4d - SPECIAL_EPISODE_CONQUEST ===&lt;br /&gt;
Keeps track of what Special Episodes did the player finished. Also unlocks the Special Episode&#039;s respective Clear Icons.&lt;br /&gt;
&lt;br /&gt;
Note: This specific script variable is not in any script. It is actually triggered by an &#039;&#039;&#039;adventure_log&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
The following is the list of the &#039;&#039;&#039;adventure_log&#039;&#039;&#039; that triggers this Script Variable and its location for each Special Episode:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[0] (Bidoof&#039;s Wish): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1000; in S04P01A - n03a3103&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[1] (Igglybuff the Prodigy): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1001; in S04P01A - n03a1704&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[2] (Today&#039;s Oh My Gosh): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1002; in S04P01A - n04a2606&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[3] (Here Comes Team Charm!): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1003; in S04P01A - n06a3909&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[4] (In the Future of Darkness): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1004; in S04P01A - n09a2212&lt;br /&gt;
&lt;br /&gt;
=== 0x4e - PERFORMANCE_PROGRESS_LIST ===&lt;br /&gt;
List of flags used to keep track of unlocked features and achievements. See [[Performance Progress Flags]] for the full list.&lt;br /&gt;
&lt;br /&gt;
=== 0x4f - DUNGEON_OPEN_LIST ===&lt;br /&gt;
List of unlocked dungeons. One bit per dungeon ID. If true, and the dungeon isn&#039;t on some blacklist, you can enter this dungeon from the crossroads/dojo/igglybuff&#039;s house/pelipper standby adventure. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_OPEN or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
=== 0x50 - DUNGEON_ENTER_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. This is checked at [NA]0x204CEE0, but never assigned. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x51 - DUNGEON_ARRIVE_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x52 - DUNGEON_CONQUEST_LIST ===&lt;br /&gt;
List of completed dungeons. One bit per dungeon ID. Automatically set on clearing any dungeon. &lt;br /&gt;
&lt;br /&gt;
In many cases, this bitfield renders other flags or variables redundant in a vanilla setting, especially certain $PERFORMANCE_PROGRESS_LIST flags that are always enabled after clearing certain dungeons for the first time. &lt;br /&gt;
&lt;br /&gt;
=== 0x53 - DUNGEON_PRESENT_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x54 - DUNGEON_REQUEST_LIST ===&lt;br /&gt;
List of dungeons that no longer have story progression. On completing a dungeon with this bit enabled, the player will enter [INSERT THE RIGHT COROUTINE HERE] in unionall. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_REQUEST or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
Contrary to the name, this field alone is insufficient for missions to show up on the job board! Only dungeon in DMODE_OPEN_AND_REQUEST can have missions, and other (hardcoded) conditions must be met. &lt;br /&gt;
&lt;br /&gt;
=== 0x55 - WORLD_MAP_MARK_LIST_NORMAL ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x56 - WORLD_MAP_MARK_LIST_SPECIAL ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x57 - WORLD_MAP_LEVEL ===&lt;br /&gt;
Seems to be used to track the area covered by clouds on the world map. &lt;br /&gt;
&lt;br /&gt;
=== 0x58 - POSITION_X ===&lt;br /&gt;
Stores the X-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x59 - POSITION_Y ===&lt;br /&gt;
Stores the Y-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5a - POSITION_HEIGHT ===&lt;br /&gt;
Stores the Z-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5b - POSITION_DIRECTION ===&lt;br /&gt;
Stores the direction an entity is facing when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5c - EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game, and is reset between scripts.&lt;br /&gt;
&lt;br /&gt;
=== 0x5d - DUNGEON_EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game (possibly while within dungeons?), and is reset between scripts. &lt;br /&gt;
&lt;br /&gt;
=== 0x5e - STATION_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x5f - STATION_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x60 - DELIVER_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x61 - DELIVER_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x62 - BIT_FUWARANTE_LOCAL ===&lt;br /&gt;
Keeps track of the Sky Peak stations the player visited. Used in the script for Drifblim&#039;s Gondola.&lt;br /&gt;
&lt;br /&gt;
=== 0x63 - LOTTERY_RESULT ===&lt;br /&gt;
Used to track what result should occur during the Recycle Shop Prize Ticket Lottery. Has no other use.&lt;br /&gt;
&lt;br /&gt;
=== 0x64 - ITEM_BACKUP ===&lt;br /&gt;
Unlikely to be a backup flag. Conveniently sized for item_GetVariable to extract the item ID and metadata.&lt;br /&gt;
&lt;br /&gt;
Used somewhere in Sky Peak&lt;br /&gt;
&lt;br /&gt;
=== 0x65 - ITEM_BACKUP_KUREKURE ===&lt;br /&gt;
Happiny requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x66 - ITEM_BACKUP_TAKE ===&lt;br /&gt;
Numel requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x67 - ITEM_BACKUP_GET ===&lt;br /&gt;
Numel gives this item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x68 - REQUEST_THANKS_RESULT_KIND ===&lt;br /&gt;
Stores the mission type of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x69 - REQUEST_THANKS_RESULT_VARIATION ===&lt;br /&gt;
Stores the mission subtype of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x6a - SUB30_TREASURE_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a treasure was found. &lt;br /&gt;
&lt;br /&gt;
=== 0x6b - SUB30_SPOT_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a new unexplored area was discovered. &lt;br /&gt;
&lt;br /&gt;
=== 0x6c - RECYCLE_COUNT ===&lt;br /&gt;
Stores the number of recycles the player has done. Is only updated by the base-game at the end of each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x6d - SUB30_SPOT_LEVEL ===&lt;br /&gt;
Keeps track of what dungeon was discovered by Project P. &lt;br /&gt;
&lt;br /&gt;
=== 0x6e - TEAM_RANK_EVENT_LEVEL ===&lt;br /&gt;
Updated by message_Menu(76) to the current guild rank. In vanilla, this only seems to happen on clearing a mission.  &lt;br /&gt;
&lt;br /&gt;
=== 0x6f - PLAY_OLD_GAME ===&lt;br /&gt;
True if the player answered yes to the question on the personality quiz that asks if you played Explorers of Time or Darkness. Increases the recruit rate of certain pokémon if you haven&#039;t recruited them yet.&lt;br /&gt;
&lt;br /&gt;
=== 0x70 - NOTE_MODIFY_FLAG ===&lt;br /&gt;
If true, the player will be forced to save on leaving Pelipper island. Likely indicative of whether a rescue has been attempted?&lt;br /&gt;
&lt;br /&gt;
=== 0x71 - SUB30_PROJECTP ===&lt;br /&gt;
If true, the player has viewed the Project P cutscene, and the recycle shop is capable of being upgraded.&lt;br /&gt;
&lt;br /&gt;
=== 0x72 - SUM ===&lt;br /&gt;
Seems to be a marker of the end of &amp;quot;normal&amp;quot; script variables.&lt;br /&gt;
&lt;br /&gt;
=== 0x400 - LOCAL0 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL0 in def 0 is distinct from $LOCAL0 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x401 - LOCAL1 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL1 indef 0 is distinct from $LOCAL1 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x402 - LOCAL2 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
=== 0x403 - LOCAL3 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
== Variable Lengths ==&lt;br /&gt;
Not all variables can store the same sized values! Some were allocated to be different sizes than others. Besides the standard sizes, there are 2 unusual variable sizes worth mentioning. &amp;quot;special&amp;quot; variable sizes are not stored in the same place as every other variable, and instead read some other value, such as the number of money the player currently has, or the current language of the ROM. &amp;quot;None&amp;quot; size is only used by the &amp;quot;SUM&amp;quot; variable, and has no allocated space at all. Below are a list of variables, their sizes, and how many there are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Variable&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Size&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Count&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|VERSION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONDITION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB1&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB2&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB3&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB4&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB5&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB6&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB7&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB8&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE02_TALK&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE06_ROOM&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE08_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE01_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x80 (128)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_TALK_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_FLAG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_DEBUG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_01&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_02&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_03&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG_BACKUP&lt;br /&gt;
|bit&lt;br /&gt;
|0x200 (512)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_SELECT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY&lt;br /&gt;
|uint16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY_BACKUP&lt;br /&gt;
|uint16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_CLEAR_COUNT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|FRIEND_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|UNIT_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CARRY_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|BANK_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RANDOM_REQUEST_NPC03_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_COLOR_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ROM_VARIATION&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LANGUAGE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GAME_MODE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|EXECUTE_SPECIAL_EPISODE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_TYPE&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN_OLD&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_CONQUEST&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|PERFORMANCE_PROGRESS_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x40 (64)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_OPEN_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ARRIVE_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_CONQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_PRESENT_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_REQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_NORMAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_SPECIAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_X&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_Y&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_HEIGHT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_DIRECTION&lt;br /&gt;
|int8&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|BIT_FUWARANTE_LOCAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|LOTTERY_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_KUREKURE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_TAKE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_GET&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_VARIATION&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_TREASURE_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RECYCLE_COUNT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|TEAM_RANK_EVENT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAY_OLD_GAME&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|NOTE_MODIFY_FLAG&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_PROJECTP&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUM&lt;br /&gt;
|none&lt;br /&gt;
|0x0 (0)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL0&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL1&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL2&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL3&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1239</id>
		<title>List of Script Variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1239"/>
		<updated>2025-09-01T17:22:41Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* 0x70 - NOTE_MODIFY_FLAG */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the variables available on the scripting engine. They can be read or written to from scripts.&lt;br /&gt;
&lt;br /&gt;
Some variables store a single value, whereas others can store multiple bitflags.&lt;br /&gt;
&lt;br /&gt;
== List of variables ==&lt;br /&gt;
&lt;br /&gt;
=== 0x0 - VERSION ===&lt;br /&gt;
Seems to be used to keep track of save file versions. It&#039;s stored in the save file when the game is saved. When loading a save file, if the version value in it doesn&#039;t match the value of this variable, the save file is deleted.&lt;br /&gt;
&lt;br /&gt;
=== 0x1 - CONDITION ===&lt;br /&gt;
Completely unused. Purpose unknown...&lt;br /&gt;
&lt;br /&gt;
=== 0x2 - SCENARIO_SELECT ===&lt;br /&gt;
Two indexed values determined via the Top Menu. These are referenced by Unionall for general control flow.&lt;br /&gt;
&lt;br /&gt;
To be a bit more specific, the first coroutine run after the Top Menu is EVENT_DIVIDE, which checks for these indexed values. In doing so, the game knows when to load scripts from maingame, a Special Episode, or Rescue mode.&lt;br /&gt;
&lt;br /&gt;
During mission rewards, the second index is used to track the index of the mission being processed in the job list.&lt;br /&gt;
&lt;br /&gt;
=== 0x3 - SCENARIO_MAIN ===&lt;br /&gt;
Stores game progress. The first value correlates with the MAIN value (mostly aligns with the story chapter), while the second is generally used to track progress within that MAIN. For the page detailing what these values mean, please see the [[Scenario Main Values]] article. &lt;br /&gt;
&lt;br /&gt;
=== 0x4 - SCENARIO_SIDE ===&lt;br /&gt;
Like SCENARIO_MAIN, but for special episode progress.&lt;br /&gt;
&lt;br /&gt;
=== 0x5 - SCENARIO_SUB1 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x6 - SCENARIO_SUB2 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x7 - SCENARIO_SUB3 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x8 - SCENARIO_SUB4 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x9 - SCENARIO_SUB5 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xa - SCENARIO_SUB6 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xb - SCENARIO_SUB7 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xc - SCENARIO_SUB8 ===&lt;br /&gt;
As far as is currently known, SCENARIO_SUB1 through SCENARIO_SUB8 are completely unused by the base-game! Perhaps they were intended to store side-quest progress of some sort?&lt;br /&gt;
&lt;br /&gt;
=== 0xd - SIDE02_TALK ===&lt;br /&gt;
Three bit flags that keeps track of the neighbors Igglybuff talked to in Special Episode 2&lt;br /&gt;
&lt;br /&gt;
=== 0xe - SIDE06_ROOM ===&lt;br /&gt;
Three bit flags that keeps track of the Limestone Cavern paths Team Charm visited in Special Episode 4&lt;br /&gt;
&lt;br /&gt;
=== 0xf - SIDE08_BOSS2ND ===&lt;br /&gt;
True if the player lose against Sableyes in Barren Valley Clearing in Special Episode 5&lt;br /&gt;
&lt;br /&gt;
=== 0x10 - SIDE01_BOSS2ND ===&lt;br /&gt;
True if Snover has betrayed bidoof in Special Episode 1. Used to determine whether Snover will be an ally in Star Cave or not.&lt;br /&gt;
&lt;br /&gt;
=== 0x11 - SCENARIO_MAIN_BIT_FLAG ===&lt;br /&gt;
Has many purposes, sometimes have hardcoded or technical effects, but not always.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Number&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Gets set to 1 right after waking up in the guild. Used for the game to determine when partner dialogue should be changed to just &amp;quot;Good morning, [hero]...&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Will end the current day if EVENT_DIVIDE is run.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Similar to 3. Seems to be related to missions&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Gets set to 1 if the player decides to go the wrong way during an expedition.&lt;br /&gt;
|-&lt;br /&gt;
|6, 7, 8&lt;br /&gt;
|Used to remember how the game was saved last.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Used in G01P04A/um07. When it&#039;s not set, the game spawns triggers. Upon walkng to them, Croagunk calls hero and partner to tell that the Croagunk Swap Shop is now opened.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do jobs.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do sentry duty. &lt;br /&gt;
|-&lt;br /&gt;
|12, 13&lt;br /&gt;
|Marowak Dojo First Entry/ Final Maze Opening&lt;br /&gt;
|-&lt;br /&gt;
|14-23&lt;br /&gt;
|Used in Marowak&#039;s Dojo. If none of them are set, the player finished all the dojo dungeons.&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|Gets set when the player finishes all dojo dungeons. Used to only show a cutscene about the full dojo completion once. &lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|Gets set to 0 before the check whether it&#039;s set to 1 or not during a cutscene after finishing the Final Maze.&lt;br /&gt;
|-&lt;br /&gt;
|26, 27&lt;br /&gt;
|Unused&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Gets set to 1 when the player finishes Final Maze. Used to give another cutscene if the Final Maze gets finished again. &lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|Gets set to 1 if the player decides to go back to the previous location(or back to the town) from the checkpoint.&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Seems to be used in TITLE_TEST to distinguish between Time and Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Gets set to 1 when the player presses Go Rescue for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Gets set to 1 when the player presses Standby Adventure for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|33-39&lt;br /&gt;
|Used after collecting one of the seven treasures. If none of them are set, the game gives a Seven Treasures collection checkmark.&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|Gets set if the player interacts with anything on the Pelipper Island. If set, the game will save upon leaving the island.&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Gets set to 1 when Chimecho tells hero and partner that they&#039;re now able to change team leader. Used to only show this cutscene once.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|Gets set to 1 when the partner says good morning to hero in Sharpedo Bluff, while $SCENARIO_MAIN is 29, 92. Used to only show this cutscene once, as it&#039;s called in coroutine EVENT_DIVIDE_AFTER, that is called really often.&lt;br /&gt;
|-&lt;br /&gt;
|43-45&lt;br /&gt;
|Aegis Cave&#039;s ice, rock and steel puzzles completion.&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|Gets set to 1 if the player Drifblim&#039;s Gondola. Used to show a cutscene where Drifblim thanks hero and partner for using his service.&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|Gets set to 1 when player talks with Ampharos about Sneasel&#039;s Sky Gift.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Gets set to 1 when the player gets Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|Gets set to 1 when the player leaves the station clearing after getting Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|50-60&lt;br /&gt;
|Sky Gift had been sent to Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk and partner respectively.&lt;br /&gt;
|-&lt;br /&gt;
|61&lt;br /&gt;
|Gets set to 1 when the player gives an item to Happiny.&lt;br /&gt;
|-&lt;br /&gt;
|62-73&lt;br /&gt;
|Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk, partner and Happiny respectively sent a Sky Gift to hero.&lt;br /&gt;
|-&lt;br /&gt;
|74-77&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station Clearing respectively. Happiny will always spawn on the 1st station if ITEM_BACKUP_GET = ITEM_BACKUP_TAKE.&lt;br /&gt;
|-&lt;br /&gt;
|78-81&lt;br /&gt;
|Used to decide whether Numel will appear on the 1st/3rd/5th/7th Station Clearing respectively. &lt;br /&gt;
|-&lt;br /&gt;
|82&lt;br /&gt;
|Gets set to 1 if the player already swapped items with Numel in the current attempt to climb to Sky Peak Summit.&lt;br /&gt;
|-&lt;br /&gt;
|83-87&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station/Summit Clearing respectively.&lt;br /&gt;
|-&lt;br /&gt;
|88&lt;br /&gt;
|Gets set to 1 when the player claims Jumpluff&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|89&lt;br /&gt;
|Used to decide whether Delibird should appear on the 9th Station Clearing. The chance of it being set is 50% each climbing attempt.&lt;br /&gt;
|-&lt;br /&gt;
|90&lt;br /&gt;
|Gets set to 1 when the player claims Delibird&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|91&lt;br /&gt;
|Gets set to 1 if the player gives an item to Heracross.&lt;br /&gt;
|-&lt;br /&gt;
|92&lt;br /&gt;
|Used to decide if a bottle should appear on the beach. The chance of it being set is 10%&lt;br /&gt;
|-&lt;br /&gt;
|93&lt;br /&gt;
|Used to decide if a client should appear in the cafe. The chance of it being set is 80%&lt;br /&gt;
|-&lt;br /&gt;
|94&lt;br /&gt;
|Gets set to 1 if the player receives a Gracidea.&lt;br /&gt;
|-&lt;br /&gt;
|95&lt;br /&gt;
|Gets set to 1 when Ursaring says that hero and partner can evolve.&lt;br /&gt;
|-&lt;br /&gt;
|96&lt;br /&gt;
|Gets set to 1 when Krabby says that bottles can appear on the beach.&lt;br /&gt;
|-&lt;br /&gt;
|97&lt;br /&gt;
|Gets set to 1 when Chimecho asks hero if recruits can stay at the cafe.&lt;br /&gt;
|-&lt;br /&gt;
|98&lt;br /&gt;
|Gets set to 1 in m00a01a. Doesn&#039;t seem to be used anywhere else.&lt;br /&gt;
|-&lt;br /&gt;
|99-127&lt;br /&gt;
|Unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12 - SCENARIO_TALK_BIT_FLAG ===&lt;br /&gt;
Up through [200] are in use, and they primarily exist to remember if the player has already talked with an NPC (therefore playing modified or shorter dialogue the second time around). For example, every merchant in treasure town comments on the player&#039;s accomplishments (like defeating Darkrai) the first time you talk to them. Whether that conversation has happened yet is tracked with SCENARIO_TALK_BIT_FLAG.&lt;br /&gt;
&lt;br /&gt;
=== 0x13 - SCENARIO_BALANCE_FLAG ===&lt;br /&gt;
Starts at 0 and gets increased as the player completes certain story events. Controls bag size, Wynaut/Spinda dungeon unlocks, and the spawn threshold value of pokémon, which restricts spawning of some species until this variable reaches a certain value.&lt;br /&gt;
&lt;br /&gt;
==== Value changes ====&lt;br /&gt;
This table lists the exact story spots where the value of the flag is increased.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Story chapter&lt;br /&gt;
!Story event&lt;br /&gt;
!Scene&lt;br /&gt;
!Script&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|Start of a new game&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|3&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V03P12A&lt;br /&gt;
|m03a1314.ssb&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|6&lt;br /&gt;
|Expedition members are announced&lt;br /&gt;
|G01P04A&lt;br /&gt;
|m08a0301.ssb&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|9&lt;br /&gt;
|End of chapter&lt;br /&gt;
|P04P01C&lt;br /&gt;
|m10a1213.ssb&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|13&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V16P02A&lt;br /&gt;
|m16a0702.ssb&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|15&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V19P06A&lt;br /&gt;
|m19b1014.ssb&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Post-game 1&lt;br /&gt;
|After graduating and moving to Sharpedo Bluff&lt;br /&gt;
|H02P99A&lt;br /&gt;
|s01p1103.ssb&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Game complete&lt;br /&gt;
|The Ursarings tell Hero and Partner they can evolve&lt;br /&gt;
(After unlocking Marine Resort) &lt;br /&gt;
|T01P01A&lt;br /&gt;
|m00p1401.ssb&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Bag size ====&lt;br /&gt;
This table lists the maximum bag size depending on the current value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Bag size&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|48&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|48&lt;br /&gt;
|}&lt;br /&gt;
Values higher than 7 will read garbage data and cause crashes.&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;PERFORMANCE_PROGRESS_LIST[2]&amp;lt;/code&amp;gt; is 0, the bag will only have 1 slot, regardless of the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x14 - SCENARIO_BALANCE_DEBUG ===&lt;br /&gt;
If &amp;gt;= 0, overrides the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x15 - CRYSTAL_COLOR_01 ===&lt;br /&gt;
Used to keep track of the current color of the first crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x16 - CRYSTAL_COLOR_02 ===&lt;br /&gt;
Used to keep track of the current color of the second crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x17 - CRYSTAL_COLOR_03 ===&lt;br /&gt;
Used to keep track of the current color of the third crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
Outside of this puzzle, these 3 variables are completely unused by the base game!&lt;br /&gt;
&lt;br /&gt;
=== 0x18 - COMPULSORY_SAVE_POINT ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in the main story.&lt;br /&gt;
&lt;br /&gt;
=== 0x19 - COMPULSORY_SAVE_POINT_SIDE ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in special episode.&lt;br /&gt;
&lt;br /&gt;
=== 0x1a - SCENARIO_SELECT_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x1b - SCENARIO_MAIN_BIT_FLAG_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused, and is a huge list of flags that can be used locally, or in places the player is unable to save!&lt;br /&gt;
&lt;br /&gt;
=== 0x1c - GROUND_ENTER ===&lt;br /&gt;
The map ID the player is currently in the enter scene for.&lt;br /&gt;
&lt;br /&gt;
=== 0x1d - GROUND_ENTER_LINK ===&lt;br /&gt;
Set to zero by EVENT_FORMATION. Purpose Unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x1e - GROUND_GETOUT ===&lt;br /&gt;
The map ID of the enter scene the player was on before the current one. Usually used to decide where the player should enter from on the next map. &lt;br /&gt;
&lt;br /&gt;
=== 0x1f - GROUND_MAP ===&lt;br /&gt;
The map ID of the map currently rendered. Usually this is identical to GROUND_ENTER, unless the map that was loaded changes (Such as P01P01A changing to P01P03A when the cafe is unlocked). &lt;br /&gt;
&lt;br /&gt;
=== 0x20 - GROUND_PLACE ===&lt;br /&gt;
Determines the index for the map marker on the top-screen world map.&lt;br /&gt;
&lt;br /&gt;
=== 0x21 - GROUND_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x22 - GROUND_ENTER_LINK_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER_LINK used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x23 - GROUND_GETOUT_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_GETOUT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x24 - GROUND_MAP_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_MAP used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x25 - GROUND_PLACE_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_PLACE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x26 - DUNGEON_SELECT ===&lt;br /&gt;
The dungeon ID selected by the crossroads. Possibly reused elsewhere. &lt;br /&gt;
&lt;br /&gt;
=== 0x27 - DUNGEON_ENTER ===&lt;br /&gt;
Stores the dungeon ID the player enters, but only in DMODE_OPEN or DMODE_CLOSED. Otherwise, may be set to 214 or 215.  &lt;br /&gt;
&lt;br /&gt;
DUNGEON_ENTER_INDEX is a more reliable tracker of the dungeon ID.  &lt;br /&gt;
&lt;br /&gt;
=== 0x28 - DUNGEON_ENTER_MODE ===&lt;br /&gt;
Seems to be the DMODE of the dungeon being entered. &lt;br /&gt;
&lt;br /&gt;
=== 0x29 - DUNGEON_ENTER_INDEX ===&lt;br /&gt;
Is written on selecting a dungeon from the crossroads (and probably elsewhere). Generally used by the base game to remember the dungeon ID that the player is about to enter or has just exited. &lt;br /&gt;
&lt;br /&gt;
=== 0x2a - DUNGEON_ENTER_FREQUENCY ===&lt;br /&gt;
A running total of how many times the player has entered any dungeon. &lt;br /&gt;
&lt;br /&gt;
=== 0x2b - DUNGEON_RESULT ===&lt;br /&gt;
Stores how the dungeon was exited. Typically GROUND_START_MODE also stores this information, though that has other uses in ground mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Dungeon was cleared&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Escape Orb Used&lt;br /&gt;
|-&lt;br /&gt;
|Other&lt;br /&gt;
|Defeated in Dungeon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x2c - GROUND_START_MODE ===&lt;br /&gt;
The &amp;quot;mode&amp;quot; the game is in when it enters Ground Mode. Uses the same values as DUNGEON_RESULT when exiting a dungeon, but other values appear to be present. coroutine EVENT_FORMATION assigns it to 3, for unknown reasons.&lt;br /&gt;
&lt;br /&gt;
=== 0x2d - DUNGEON_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2e - DUNGEON_ENTER_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2f - DUNGEON_ENTER_INDEX_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_INDEX used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x30 - DUNGEON_ENTER_FREQUENCY_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_FREQUENCY used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x31 - DUNGEON_RESULT_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_RESULT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x32 - GROUND_START_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_START_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x33 - REQUEST_CLEAR_COUNT ===&lt;br /&gt;
Stores the number of jobs the player has completed at certain points in the story to determine when the next story event will occur. Will never increment above 100 in the base game.&lt;br /&gt;
&lt;br /&gt;
=== 0x34 - PLAYER_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_PLAYER when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ACTOR_ATTENDANT_BIPPA&lt;br /&gt;
|Bidoof&lt;br /&gt;
|Special Episode 1&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|ACTOR_ATTENDANT_PUPURIN&lt;br /&gt;
|Igglybuff&lt;br /&gt;
|Special Episode 2&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ACTOR_ATTENDANT_KIMAWARI&lt;br /&gt;
|Sunflora&lt;br /&gt;
|Special Episode 3&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ACTOR_ATTENDANT_FUTURE&lt;br /&gt;
|Grovyle&lt;br /&gt;
|Special Episode 5&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ACTOR_ATTENDANT_CHARMS&lt;br /&gt;
|Lopunny&lt;br /&gt;
|Special Episode 4&lt;br /&gt;
|-&lt;br /&gt;
|9+&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x35 - ATTENDANT1_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT1 (and possibly other related actors) when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5-9&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ACTOR_ATTENDANT_MANAFI&lt;br /&gt;
|Manaphy&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x36 - ATTENDANT2_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT2 when displayed.&lt;br /&gt;
&lt;br /&gt;
Will be &amp;quot;Nothing&amp;quot; unless it is 10, in which case Manaphy will slowly follow ATTENDANT1_KIND&lt;br /&gt;
&lt;br /&gt;
=== 0x37 - PLAYER_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of PLAYER_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x38 - ATTENDANT1_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT1_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x39 - ATTENDANT2_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT2_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x3a - FRIEND_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3b - UNIT_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3c - CARRY_GOLD ===&lt;br /&gt;
Stores the current amount of money carried by the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x3d - BANK_GOLD ===&lt;br /&gt;
Stores the current amount of money stored in Duskull&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
=== 0x3e - HERO_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial hero starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x3f - HERO_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial hero starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x40 - PARTNER_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial partner starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x41 - PARTNER_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial partner starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x42 - HERO_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the hero will use. In base game, only 4 and 5 are used for HERO_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Hero Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Male Pokemon&lt;br /&gt;
|Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Female/Genderless Pokemon&lt;br /&gt;
|Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x43 - PARTNER_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the partner will use. In base game, only 1, 2, and 3 are used for PARTNER_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Partner Species&lt;br /&gt;
!Use Case&lt;br /&gt;
!Example Dialogue Use&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Squirtle, Totodile, Chimchar, Meowth or Munchlax&lt;br /&gt;
|More &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|No more wimping out. I have to be brave today.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|All other Male Species&lt;br /&gt;
|Less &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. I have to steel my courage today.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|All female Species&lt;br /&gt;
|Least &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. Today I’m going to be brave.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x44 - RANDOM_REQUEST_NPC03_KIND ===&lt;br /&gt;
Determines the species of ACTOR_RANDOM_REQUEST_NPC03, or the Spinda Cafe client Pokémon. It is either a random Pokémon, Magnemite, or Togetic, depending on the mission.&lt;br /&gt;
&lt;br /&gt;
=== 0x45 - CONFIG_COLOR_KIND ===&lt;br /&gt;
The aura bow color determined by the personality quiz at the beginning of the game. Only ever used by wigglytuff to determine the color of aura bow given to the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x46 - ROM_VARIATION ===&lt;br /&gt;
Unknown, but hardcoded to zero.&lt;br /&gt;
&lt;br /&gt;
=== 0x47 - LANGUAGE_TYPE ===&lt;br /&gt;
Stores the language from DS Firmware. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Language&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Japanese&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|English&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|French&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|German&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Italian&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Spanish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x48 - GAME_MODE ===&lt;br /&gt;
Keeps track of the current game mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!ID&lt;br /&gt;
!Mode&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Top menu&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Normal play, including overworld and dungeons&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Special episode&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Rescue&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
There might be more valid values.&lt;br /&gt;
&lt;br /&gt;
=== 0x49 - EXECUTE_SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active. The base-game prefers this variable over SPECIAL_EPISODE_TYPE, though it is unknown if they differ at all.&lt;br /&gt;
&lt;br /&gt;
=== 0x4a - SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active, just like EXECUTE_SPECIAL_EPISODE_TYPE.&lt;br /&gt;
&lt;br /&gt;
=== 0x4b - SPECIAL_EPISODE_OPEN ===&lt;br /&gt;
Keeps track of what Special Episodes are unlocked.&lt;br /&gt;
&lt;br /&gt;
The following is the list of scripts where the Special Episodes are unlocked in the base-game:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[0] (Bidoof&#039;s Wish): V03P12A - m03a1314&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[1] (Igglybuff the Prodigy): P04P01C - m10a1213&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[2] (Today&#039;s Oh My Gosh): G01P04A - m16a0105&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[3] (Here Comes Team Charm!): D01P11A - m20a0101&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[4] (In the Future of Darkness): H02P99A - s01p1103&lt;br /&gt;
&lt;br /&gt;
=== 0x4c - SPECIAL_EPISODE_OPEN_OLD ===&lt;br /&gt;
Keeps track of what Special Episodes were started. Used to show an exclamation mark if the episode is opened but wasn&#039;t started.&lt;br /&gt;
&lt;br /&gt;
=== 0x4d - SPECIAL_EPISODE_CONQUEST ===&lt;br /&gt;
Keeps track of what Special Episodes did the player finished. Also unlocks the Special Episode&#039;s respective Clear Icons.&lt;br /&gt;
&lt;br /&gt;
Note: This specific script variable is not in any script. It is actually triggered by an &#039;&#039;&#039;adventure_log&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
The following is the list of the &#039;&#039;&#039;adventure_log&#039;&#039;&#039; that triggers this Script Variable and its location for each Special Episode:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[0] (Bidoof&#039;s Wish): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1000; in S04P01A - n03a3103&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[1] (Igglybuff the Prodigy): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1001; in S04P01A - n03a1704&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[2] (Today&#039;s Oh My Gosh): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1002; in S04P01A - n04a2606&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[3] (Here Comes Team Charm!): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1003; in S04P01A - n06a3909&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[4] (In the Future of Darkness): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1004; in S04P01A - n09a2212&lt;br /&gt;
&lt;br /&gt;
=== 0x4e - PERFORMANCE_PROGRESS_LIST ===&lt;br /&gt;
List of flags used to keep track of unlocked features and achievements. See [[Performance Progress Flags]] for the full list.&lt;br /&gt;
&lt;br /&gt;
=== 0x4f - DUNGEON_OPEN_LIST ===&lt;br /&gt;
List of unlocked dungeons. One bit per dungeon ID. If true, and the dungeon isn&#039;t on some blacklist, you can enter this dungeon from the crossroads/dojo/igglybuff&#039;s house/pelipper standby adventure. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_OPEN or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
=== 0x50 - DUNGEON_ENTER_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. This is checked at [NA]0x204CEE0, but never assigned. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x51 - DUNGEON_ARRIVE_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x52 - DUNGEON_CONQUEST_LIST ===&lt;br /&gt;
List of completed dungeons. One bit per dungeon ID. Automatically set on clearing any dungeon. &lt;br /&gt;
&lt;br /&gt;
In many cases, this bitfield renders other flags or variables redundant in a vanilla setting, especially certain $PERFORMANCE_PROGRESS_LIST flags that are always enabled after clearing certain dungeons for the first time. &lt;br /&gt;
&lt;br /&gt;
=== 0x53 - DUNGEON_PRESENT_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x54 - DUNGEON_REQUEST_LIST ===&lt;br /&gt;
List of dungeons that no longer have story progression. On completing a dungeon with this bit enabled, the player will enter [INSERT THE RIGHT COROUTINE HERE] in unionall. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_REQUEST or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
Contrary to the name, this field alone is insufficient for missions to show up on the job board! Only dungeon in DMODE_OPEN_AND_REQUEST can have missions, and other (hardcoded) conditions must be met. &lt;br /&gt;
&lt;br /&gt;
=== 0x55 - WORLD_MAP_MARK_LIST_NORMAL ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x56 - WORLD_MAP_MARK_LIST_SPECIAL ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x57 - WORLD_MAP_LEVEL ===&lt;br /&gt;
Seems to be used to track the area covered by clouds on the world map. &lt;br /&gt;
&lt;br /&gt;
=== 0x58 - POSITION_X ===&lt;br /&gt;
Stores the X-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x59 - POSITION_Y ===&lt;br /&gt;
Stores the Y-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5a - POSITION_HEIGHT ===&lt;br /&gt;
Stores the Z-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5b - POSITION_DIRECTION ===&lt;br /&gt;
Stores the direction an entity is facing when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5c - EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game, and is reset between scripts.&lt;br /&gt;
&lt;br /&gt;
=== 0x5d - DUNGEON_EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game (possibly while within dungeons?), and is reset between scripts. &lt;br /&gt;
&lt;br /&gt;
=== 0x5e - STATION_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x5f - STATION_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x60 - DELIVER_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x61 - DELIVER_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x62 - BIT_FUWARANTE_LOCAL ===&lt;br /&gt;
Keeps track of the Sky Peak stations the player visited. Used in the script for Drifblim&#039;s Gondola.&lt;br /&gt;
&lt;br /&gt;
=== 0x63 - LOTTERY_RESULT ===&lt;br /&gt;
Used to track what result should occur during the Recycle Shop Prize Ticket Lottery. Has no other use.&lt;br /&gt;
&lt;br /&gt;
=== 0x64 - ITEM_BACKUP ===&lt;br /&gt;
Unlikely to be a backup flag. Conveniently sized for item_GetVariable to extract the item ID and metadata.&lt;br /&gt;
&lt;br /&gt;
Used somewhere in Sky Peak&lt;br /&gt;
&lt;br /&gt;
=== 0x65 - ITEM_BACKUP_KUREKURE ===&lt;br /&gt;
Happiny requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x66 - ITEM_BACKUP_TAKE ===&lt;br /&gt;
Numel requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x67 - ITEM_BACKUP_GET ===&lt;br /&gt;
Numel gives this item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x68 - REQUEST_THANKS_RESULT_KIND ===&lt;br /&gt;
Stores the mission type of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x69 - REQUEST_THANKS_RESULT_VARIATION ===&lt;br /&gt;
Stores the mission subtype of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x6a - SUB30_TREASURE_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a treasure was found. &lt;br /&gt;
&lt;br /&gt;
=== 0x6b - SUB30_SPOT_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a new unexplored area was discovered. &lt;br /&gt;
&lt;br /&gt;
=== 0x6c - RECYCLE_COUNT ===&lt;br /&gt;
Stores the number of recycles the player has done. Is only updated by the base-game at the end of each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x6d - SUB30_SPOT_LEVEL ===&lt;br /&gt;
Keeps track of what dungeon was discovered by Project P. &lt;br /&gt;
&lt;br /&gt;
=== 0x6e - TEAM_RANK_EVENT_LEVEL ===&lt;br /&gt;
Has some correlation with guild rank? Unsure, I don&#039;t trust this variable. &lt;br /&gt;
&lt;br /&gt;
=== 0x6f - PLAY_OLD_GAME ===&lt;br /&gt;
True if the player answered yes to the question on the personality quiz that asks if you played Explorers of Time or Darkness. Increases the recruit rate of certain pokémon if you haven&#039;t recruited them yet.&lt;br /&gt;
&lt;br /&gt;
=== 0x70 - NOTE_MODIFY_FLAG ===&lt;br /&gt;
If true, the player will be forced to save on leaving Pelipper island. Likely indicative of whether a rescue has been attempted?&lt;br /&gt;
&lt;br /&gt;
=== 0x71 - SUB30_PROJECTP ===&lt;br /&gt;
If true, the player has viewed the Project P cutscene, and the recycle shop is capable of being upgraded.&lt;br /&gt;
&lt;br /&gt;
=== 0x72 - SUM ===&lt;br /&gt;
Seems to be a marker of the end of &amp;quot;normal&amp;quot; script variables.&lt;br /&gt;
&lt;br /&gt;
=== 0x400 - LOCAL0 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL0 in def 0 is distinct from $LOCAL0 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x401 - LOCAL1 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL1 indef 0 is distinct from $LOCAL1 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x402 - LOCAL2 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
=== 0x403 - LOCAL3 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
== Variable Lengths ==&lt;br /&gt;
Not all variables can store the same sized values! Some were allocated to be different sizes than others. Besides the standard sizes, there are 2 unusual variable sizes worth mentioning. &amp;quot;special&amp;quot; variable sizes are not stored in the same place as every other variable, and instead read some other value, such as the number of money the player currently has, or the current language of the ROM. &amp;quot;None&amp;quot; size is only used by the &amp;quot;SUM&amp;quot; variable, and has no allocated space at all. Below are a list of variables, their sizes, and how many there are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Variable&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Size&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Count&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|VERSION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONDITION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB1&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB2&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB3&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB4&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB5&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB6&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB7&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB8&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE02_TALK&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE06_ROOM&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE08_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE01_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x80 (128)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_TALK_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_FLAG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_DEBUG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_01&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_02&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_03&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG_BACKUP&lt;br /&gt;
|bit&lt;br /&gt;
|0x200 (512)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_SELECT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY&lt;br /&gt;
|uint16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY_BACKUP&lt;br /&gt;
|uint16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_CLEAR_COUNT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|FRIEND_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|UNIT_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CARRY_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|BANK_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RANDOM_REQUEST_NPC03_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_COLOR_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ROM_VARIATION&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LANGUAGE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GAME_MODE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|EXECUTE_SPECIAL_EPISODE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_TYPE&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN_OLD&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_CONQUEST&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|PERFORMANCE_PROGRESS_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x40 (64)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_OPEN_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ARRIVE_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_CONQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_PRESENT_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_REQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_NORMAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_SPECIAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_X&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_Y&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_HEIGHT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_DIRECTION&lt;br /&gt;
|int8&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|BIT_FUWARANTE_LOCAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|LOTTERY_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_KUREKURE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_TAKE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_GET&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_VARIATION&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_TREASURE_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RECYCLE_COUNT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|TEAM_RANK_EVENT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAY_OLD_GAME&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|NOTE_MODIFY_FLAG&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_PROJECTP&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUM&lt;br /&gt;
|none&lt;br /&gt;
|0x0 (0)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL0&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL1&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL2&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL3&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Special_Processes&amp;diff=1218</id>
		<title>List of Special Processes</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Special_Processes&amp;diff=1218"/>
		<updated>2025-08-18T02:20:34Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Here is the list of all special processes in the game. These are called by using &amp;lt;code&amp;gt;ProcessSpecial(PROCESS_SPECIAL_Name, Argument1, Argument2);&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!ID&lt;br /&gt;
!Name&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|RETURN_DUNGEON&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|INIT_MAIN_TEAM_AFTER_QUIZ&lt;br /&gt;
|Assigns the starter Pokemon, bow color, and much more from the personality quiz. Needs to run before most cutscenes involving the starters will actually function.&lt;br /&gt;
|-&lt;br /&gt;
|3-4&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|NEXT_DAY&lt;br /&gt;
|Changes the contents of Job and Outlaw boards, Updates Kecleon Shops, Updates Croagunk, Updates Spinda Cafe, and likely more. Calls &amp;lt;code&amp;gt;GroundMainNextDay&amp;lt;/code&amp;gt;, which does the above. &lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|DUNGEON_HAD_REQUEST_DONE&lt;br /&gt;
|True if the player finished a mission in the dungeon.&lt;br /&gt;
|-&lt;br /&gt;
|8-9&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|GET_SOS_MAIL_COUNT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|GET_SOS_MAIL_RETRIES_LEFT&lt;br /&gt;
|Used by Pelipper to determine how many rescue attempts are left on a specific rescue.&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|INIT_RANDOM_NPC_JOBS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|GET_RANDOM_NPC_JOB_TYPE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|GET_RANDOM_NPC_JOB_SUB_TYPE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|GET_RANDOM_NPC_STILL_AVAILABLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ACCEPT_RANDOM__NPC_JOB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|Unknown&lt;br /&gt;
|Just returns 0.&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|KEY_WAIT_PRESS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|KEY_WAIT_INIT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|KEY_WAIT_CHECK&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|22-23&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|Unknown&lt;br /&gt;
|Allows to skip a demo if the save file exist&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|JUMP_TO_TITLE_SCREEN&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|RETURN_TO_TITLE_SCREEN&lt;br /&gt;
|Exits ground mode and returns to the title screen.&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|IS_RECRUITABLE_IN_TEAM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|GET_RECRUITABLE_CURRENT_LEvEL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|RECRUITABLE_CAN_ADD&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|ADD_RECRUITABLE_TO_TEAM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|COUNT_ITEM_IN_BAG&lt;br /&gt;
|Counts how many of a specific item ID are in the bag&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|COUNT_TABLE_ITEM_IN_BAG&lt;br /&gt;
|Counts how many of a specific set_Item item slot are in the bag&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|COUNT_ITEM_TYPE_IN_STORAGE&lt;br /&gt;
|Counts how many of a specific item ID are in storage&lt;br /&gt;
|-&lt;br /&gt;
|35&lt;br /&gt;
|Unknown&lt;br /&gt;
|Counts how many of a specific set_Item item slot are in storage&lt;br /&gt;
|-&lt;br /&gt;
|36&lt;br /&gt;
|ADD_ITEM_TO_BAG&lt;br /&gt;
|Adds one instance of an item ID to the bag. Results may vary for stackable items.&lt;br /&gt;
|-&lt;br /&gt;
|37&lt;br /&gt;
|ADD_TABLE_ITEM_TO_BAG&lt;br /&gt;
|Adds one instance of a specific set_Item slot to the bag. Results may vary for stackable items.&lt;br /&gt;
|-&lt;br /&gt;
|38&lt;br /&gt;
|Unknown&lt;br /&gt;
|Adds one instance of a specific item ID to storage. Results may vary for stackable items.&lt;br /&gt;
|-&lt;br /&gt;
|39&lt;br /&gt;
|ADD_TABLE_ITEM_TO_STORAGE&lt;br /&gt;
|Adds one instance of a specific set_Item slot to storage. Results may vary for stackable items.&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|REMOVE_ITEMS_TYPE_IN_BAG&lt;br /&gt;
|Removes one instance of an item ID from the bag. Results may vary for stackable items.&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|REMOVE_TABLE_ITEMS_TYPE_IN_BAG&lt;br /&gt;
|Removes one instance of a set_Item slot from the bag. Results may vary for stackable items.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|Unknown&lt;br /&gt;
|Removes one instance of an item ID from storage. Results may vary for stackable items.&lt;br /&gt;
|-&lt;br /&gt;
|43&lt;br /&gt;
|Unknown&lt;br /&gt;
|Removes one instance of a set_Item slot from storage. Results may vary for stackable items.&lt;br /&gt;
|-&lt;br /&gt;
|44&lt;br /&gt;
|PREPARE_MENU_ACCEPT_TEAM_MEMBER&lt;br /&gt;
|Sets a team member for menu 65 to ask the player whether accept them or not&lt;br /&gt;
|-&lt;br /&gt;
|45&lt;br /&gt;
|GET_HERO_KIND&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|GET_PARTNER_KIND&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|IS_TEAM_SETUP_HERO_AND_PARTNER_ONLY&lt;br /&gt;
|Returns 1 if hero is a leader&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|IS_TEAM_SETUP_PARTNER_AND_HERO_ONLY&lt;br /&gt;
|Returns 1 if partner is a leader&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|IS_TEAM_SETUP_CONTAINS_PARTNER_AND_HERO&lt;br /&gt;
|Returns 1 if the hero and partner are in the team.&lt;br /&gt;
|-&lt;br /&gt;
|50&lt;br /&gt;
|IS_TEAM_SETUP_SOLO&lt;br /&gt;
|Returns 1 if there is only 1 pokemon in the team.&lt;br /&gt;
|-&lt;br /&gt;
|51&lt;br /&gt;
|SET_TEAM_SETUP_HERO_AND_PARTNER_ONLY&lt;br /&gt;
|Sets the active party to hero leader, partner in slot 2.&lt;br /&gt;
|-&lt;br /&gt;
|52&lt;br /&gt;
|IS_TEAM_SETUP_HERO_ONLY&lt;br /&gt;
|Sets the active party to hero only.&lt;br /&gt;
|-&lt;br /&gt;
|53&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|54&lt;br /&gt;
|STATUS_UPDATE&lt;br /&gt;
|Effect is unknown&lt;br /&gt;
|-&lt;br /&gt;
|55&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|56&lt;br /&gt;
|IS_BAG_FULL&lt;br /&gt;
|1 if the bag is full, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|57&lt;br /&gt;
|Unknown&lt;br /&gt;
|Seems to be IS_STORAGE_FULL. 1 if storage is full, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|58-59&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|60&lt;br /&gt;
|SEND_SKY_GIFT_TO_GUILDMASTER&lt;br /&gt;
|Seems to send a sky gift to the guildmaster.&lt;br /&gt;
|-&lt;br /&gt;
|61-62&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Special_Processes&amp;diff=1217</id>
		<title>List of Special Processes</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Special_Processes&amp;diff=1217"/>
		<updated>2025-08-18T02:19:17Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: Describe Some Special Processes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Here is the list of all special processes in the game. These are called by using &amp;lt;code&amp;gt;ProcessSpecial(PROCESS_SPECIAL_Name, Argument1, Argument2);&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!ID&lt;br /&gt;
!Name&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|RETURN_DUNGEON&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|INIT_MAIN_TEAM_AFTER_QUIZ&lt;br /&gt;
|Assigns the starter Pokemon, bow color, and much more from the personality quiz. Needs to run before most cutscenes involving the starters will actually function.&lt;br /&gt;
|-&lt;br /&gt;
|3-4&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|NEXT_DAY&lt;br /&gt;
|Changes the contents of Job and Outlaw boards.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|DUNGEON_HAD_REQUEST_DONE&lt;br /&gt;
|True if the player finished a mission in the dungeon.&lt;br /&gt;
|-&lt;br /&gt;
|8-9&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|GET_SOS_MAIL_COUNT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|GET_SOS_MAIL_RETRIES_LEFT&lt;br /&gt;
|Used by Pelipper to determine how many rescue attempts are left on a specific rescue.&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|INIT_RANDOM_NPC_JOBS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|GET_RANDOM_NPC_JOB_TYPE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|GET_RANDOM_NPC_JOB_SUB_TYPE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|GET_RANDOM_NPC_STILL_AVAILABLE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|ACCEPT_RANDOM__NPC_JOB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|Unknown&lt;br /&gt;
|Just returns 0.&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|KEY_WAIT_PRESS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|KEY_WAIT_INIT&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|KEY_WAIT_CHECK&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|22-23&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|Unknown&lt;br /&gt;
|Allows to skip a demo if the save file exist&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|JUMP_TO_TITLE_SCREEN&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|RETURN_TO_TITLE_SCREEN&lt;br /&gt;
|Exits ground mode and returns to the title screen.&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|IS_RECRUITABLE_IN_TEAM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|GET_RECRUITABLE_CURRENT_LEvEL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|RECRUITABLE_CAN_ADD&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|ADD_RECRUITABLE_TO_TEAM&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|COUNT_ITEM_IN_BAG&lt;br /&gt;
|Counts how many of a specific item ID are in the bag&lt;br /&gt;
|-&lt;br /&gt;
|33&lt;br /&gt;
|COUNT_TABLE_ITEM_IN_BAG&lt;br /&gt;
|Counts how many of a specific set_Item item slot are in the bag&lt;br /&gt;
|-&lt;br /&gt;
|34&lt;br /&gt;
|COUNT_ITEM_TYPE_IN_STORAGE&lt;br /&gt;
|Counts how many of a specific item ID are in storage&lt;br /&gt;
|-&lt;br /&gt;
|35&lt;br /&gt;
|Unknown&lt;br /&gt;
|Counts how many of a specific set_Item item slot are in storage&lt;br /&gt;
|-&lt;br /&gt;
|36&lt;br /&gt;
|ADD_ITEM_TO_BAG&lt;br /&gt;
|Adds one instance of an item ID to the bag. Results may vary for stackable items.&lt;br /&gt;
|-&lt;br /&gt;
|37&lt;br /&gt;
|ADD_TABLE_ITEM_TO_BAG&lt;br /&gt;
|Adds one instance of a specific set_Item slot to the bag. Results may vary for stackable items.&lt;br /&gt;
|-&lt;br /&gt;
|38&lt;br /&gt;
|Unknown&lt;br /&gt;
|Adds one instance of a specific item ID to storage. Results may vary for stackable items.&lt;br /&gt;
|-&lt;br /&gt;
|39&lt;br /&gt;
|ADD_TABLE_ITEM_TO_STORAGE&lt;br /&gt;
|Adds one instance of a specific set_Item slot to storage. Results may vary for stackable items.&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|REMOVE_ITEMS_TYPE_IN_BAG&lt;br /&gt;
|Removes one instance of an item ID from the bag. Results may vary for stackable items.&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|REMOVE_TABLE_ITEMS_TYPE_IN_BAG&lt;br /&gt;
|Removes one instance of a set_Item slot from the bag. Results may vary for stackable items.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|Unknown&lt;br /&gt;
|Removes one instance of an item ID from storage. Results may vary for stackable items.&lt;br /&gt;
|-&lt;br /&gt;
|43&lt;br /&gt;
|Unknown&lt;br /&gt;
|Removes one instance of a set_Item slot from storage. Results may vary for stackable items.&lt;br /&gt;
|-&lt;br /&gt;
|44&lt;br /&gt;
|PREPARE_MENU_ACCEPT_TEAM_MEMBER&lt;br /&gt;
|Sets a team member for menu 65 to ask the player whether accept them or not&lt;br /&gt;
|-&lt;br /&gt;
|45&lt;br /&gt;
|GET_HERO_KIND&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|GET_PARTNER_KIND&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|IS_TEAM_SETUP_HERO_AND_PARTNER_ONLY&lt;br /&gt;
|Returns 1 if hero is a leader&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|IS_TEAM_SETUP_PARTNER_AND_HERO_ONLY&lt;br /&gt;
|Returns 1 if partner is a leader&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|IS_TEAM_SETUP_CONTAINS_PARTNER_AND_HERO&lt;br /&gt;
|Returns 1 if the hero and partner are in the team.&lt;br /&gt;
|-&lt;br /&gt;
|50&lt;br /&gt;
|IS_TEAM_SETUP_SOLO&lt;br /&gt;
|Returns 1 if there is only 1 pokemon in the team.&lt;br /&gt;
|-&lt;br /&gt;
|51&lt;br /&gt;
|SET_TEAM_SETUP_HERO_AND_PARTNER_ONLY&lt;br /&gt;
|Sets the active party to hero leader, partner in slot 2.&lt;br /&gt;
|-&lt;br /&gt;
|52&lt;br /&gt;
|IS_TEAM_SETUP_HERO_ONLY&lt;br /&gt;
|Sets the active party to hero only.&lt;br /&gt;
|-&lt;br /&gt;
|53&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|54&lt;br /&gt;
|STATUS_UPDATE&lt;br /&gt;
|Effect is unknown&lt;br /&gt;
|-&lt;br /&gt;
|55&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|56&lt;br /&gt;
|IS_BAG_FULL&lt;br /&gt;
|1 if the bag is full, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|57&lt;br /&gt;
|Unknown&lt;br /&gt;
|Seems to be IS_STORAGE_FULL. 1 if storage is full, 0 otherwise.&lt;br /&gt;
|-&lt;br /&gt;
|58-59&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|60&lt;br /&gt;
|SEND_SKY_GIFT_TO_GUILDMASTER&lt;br /&gt;
|Seems to send a sky gift to the guildmaster.&lt;br /&gt;
|-&lt;br /&gt;
|61-62&lt;br /&gt;
|Unknown&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1213</id>
		<title>List of Script Variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1213"/>
		<updated>2025-08-12T02:50:44Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* 0x2 - SCENARIO_SELECT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the variables available on the scripting engine. They can be read or written to from scripts.&lt;br /&gt;
&lt;br /&gt;
Some variables store a single value, whereas others can store multiple bitflags.&lt;br /&gt;
&lt;br /&gt;
== List of variables ==&lt;br /&gt;
&lt;br /&gt;
=== 0x0 - VERSION ===&lt;br /&gt;
Seems to be used to keep track of save file versions. It&#039;s stored in the save file when the game is saved. When loading a save file, if the version value in it doesn&#039;t match the value of this variable, the save file is deleted.&lt;br /&gt;
&lt;br /&gt;
=== 0x1 - CONDITION ===&lt;br /&gt;
Completely unused. Purpose unknown...&lt;br /&gt;
&lt;br /&gt;
=== 0x2 - SCENARIO_SELECT ===&lt;br /&gt;
Two indexed values determined via the Top Menu. These are referenced by Unionall for general control flow.&lt;br /&gt;
&lt;br /&gt;
To be a bit more specific, the first coroutine run after the Top Menu is EVENT_DIVIDE, which checks for these indexed values. In doing so, the game knows when to load scripts from maingame, a Special Episode, or Rescue mode.&lt;br /&gt;
&lt;br /&gt;
During mission rewards, the second index is used to track the index of the mission being processed in the job list.&lt;br /&gt;
&lt;br /&gt;
=== 0x3 - SCENARIO_MAIN ===&lt;br /&gt;
Stores game progress. The first value correlates with the MAIN value (mostly aligns with the story chapter), while the second is generally used to track progress within that MAIN. &lt;br /&gt;
&lt;br /&gt;
=== 0x4 - SCENARIO_SIDE ===&lt;br /&gt;
Like SCENARIO_MAIN, but for special episode progress.&lt;br /&gt;
&lt;br /&gt;
=== 0x5 - SCENARIO_SUB1 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x6 - SCENARIO_SUB2 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x7 - SCENARIO_SUB3 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x8 - SCENARIO_SUB4 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x9 - SCENARIO_SUB5 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xa - SCENARIO_SUB6 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xb - SCENARIO_SUB7 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xc - SCENARIO_SUB8 ===&lt;br /&gt;
As far as is currently known, SCENARIO_SUB1 through SCENARIO_SUB8 are completely unused by the base-game! Perhaps they were intended to store side-quest progress of some sort?&lt;br /&gt;
&lt;br /&gt;
=== 0xd - SIDE02_TALK ===&lt;br /&gt;
Three bit flags that keeps track of the neighbors Igglybuff talked to in Special Episode 2&lt;br /&gt;
&lt;br /&gt;
=== 0xe - SIDE06_ROOM ===&lt;br /&gt;
Three bit flags that keeps track of the Limestone Cavern paths Team Charm visited in Special Episode 4&lt;br /&gt;
&lt;br /&gt;
=== 0xf - SIDE08_BOSS2ND ===&lt;br /&gt;
True if the player lose against Sableyes in Barren Valley Clearing in Special Episode 5&lt;br /&gt;
&lt;br /&gt;
=== 0x10 - SIDE01_BOSS2ND ===&lt;br /&gt;
True if Snover has betrayed bidoof in Special Episode 1. Used to determine whether Snover will be an ally in Star Cave or not.&lt;br /&gt;
&lt;br /&gt;
=== 0x11 - SCENARIO_MAIN_BIT_FLAG ===&lt;br /&gt;
Has many purposes, sometimes have hardcoded or technical effects, but not always.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Number&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Gets set to 1 right after waking up in the guild. Used for the game to determine when partner dialogue should be changed to just &amp;quot;Good morning, [hero]...&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Will end the current day if EVENT_DIVIDE is run.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Similar to 3. Seems to be related to missions&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Gets set to 1 if the player decides to go the wrong way during an expedition.&lt;br /&gt;
|-&lt;br /&gt;
|6, 7, 8&lt;br /&gt;
|Used to remember how the game was saved last.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Used in G01P04A/um07. When it&#039;s not set, the game spawns triggers. Upon walkng to them, Croagunk calls hero and partner to tell that the Croagunk Swap Shop is now opened.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do jobs.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do sentry duty. &lt;br /&gt;
|-&lt;br /&gt;
|12, 13&lt;br /&gt;
|Marowak Dojo First Entry/ Final Maze Opening&lt;br /&gt;
|-&lt;br /&gt;
|14-23&lt;br /&gt;
|Used in Marowak&#039;s Dojo. If none of them are set, the player finished all the dojo dungeons.&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|Gets set when the player finishes all dojo dungeons. Used to only show a cutscene about the full dojo completion once. &lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|Gets set to 0 before the check whether it&#039;s set to 1 or not during a cutscene after finishing the Final Maze.&lt;br /&gt;
|-&lt;br /&gt;
|26, 27&lt;br /&gt;
|Unused&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Gets set to 1 when the player finishes Final Maze. Used to give another cutscene if the Final Maze gets finished again. &lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|Gets set to 1 if the player decides to go back to the previous location(or back to the town) from the checkpoint.&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Seems to be used in TITLE_TEST to distinguish between Time and Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Gets set to 1 when the player presses Go Rescue for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Gets set to 1 when the player presses Standby Adventure for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|33-39&lt;br /&gt;
|Used after collecting one of the seven treasures. If none of them are set, the game gives a Seven Treasures collection checkmark.&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|Gets set if the player interacts with anything on the Pelipper Island. If set, the game will save upon leaving the island.&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Gets set to 1 when Chimecho tells hero and partner that they&#039;re now able to change team leader. Used to only show this cutscene once.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|Gets set to 1 when the partner says good morning to hero in Sharpedo Bluff, while $SCENARIO_MAIN is 29, 92. Used to only show this cutscene once, as it&#039;s called in coroutine EVENT_DIVIDE_AFTER, that is called really often.&lt;br /&gt;
|-&lt;br /&gt;
|43-45&lt;br /&gt;
|Aegis Cave&#039;s ice, rock and steel puzzles completion.&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|Gets set to 1 if the player Drifblim&#039;s Gondola. Used to show a cutscene where Drifblim thanks hero and partner for using his service.&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|Gets set to 1 when player talks with Ampharos about Sneasel&#039;s Sky Gift.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Gets set to 1 when the player gets Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|Gets set to 1 when the player leaves the station clearing after getting Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|50-60&lt;br /&gt;
|Sky Gift had been sent to Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk and partner respectively.&lt;br /&gt;
|-&lt;br /&gt;
|61&lt;br /&gt;
|Gets set to 1 when the player gives an item to Happiny.&lt;br /&gt;
|-&lt;br /&gt;
|62-73&lt;br /&gt;
|Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk, partner and Happiny respectively sent a Sky Gift to hero.&lt;br /&gt;
|-&lt;br /&gt;
|74-77&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station Clearing respectively. Happiny will always spawn on the 1st station if ITEM_BACKUP_GET = ITEM_BACKUP_TAKE.&lt;br /&gt;
|-&lt;br /&gt;
|78-81&lt;br /&gt;
|Used to decide whether Numel will appear on the 1st/3rd/5th/7th Station Clearing respectively. &lt;br /&gt;
|-&lt;br /&gt;
|82&lt;br /&gt;
|Gets set to 1 if the player already swapped items with Numel in the current attempt to climb to Sky Peak Summit.&lt;br /&gt;
|-&lt;br /&gt;
|83-87&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station/Summit Clearing respectively.&lt;br /&gt;
|-&lt;br /&gt;
|88&lt;br /&gt;
|Gets set to 1 when the player claims Jumpluff&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|89&lt;br /&gt;
|Used to decide whether Delibird should appear on the 9th Station Clearing. The chance of it being set is 50% each climbing attempt.&lt;br /&gt;
|-&lt;br /&gt;
|90&lt;br /&gt;
|Gets set to 1 when the player claims Delibird&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|91&lt;br /&gt;
|Gets set to 1 if the player gives an item to Heracross.&lt;br /&gt;
|-&lt;br /&gt;
|92&lt;br /&gt;
|Used to decide if a bottle should appear on the beach. The chance of it being set is 10%&lt;br /&gt;
|-&lt;br /&gt;
|93&lt;br /&gt;
|Used to decide if a client should appear in the cafe. The chance of it being set is 80%&lt;br /&gt;
|-&lt;br /&gt;
|94&lt;br /&gt;
|Gets set to 1 if the player receives a Gracidea.&lt;br /&gt;
|-&lt;br /&gt;
|95&lt;br /&gt;
|Gets set to 1 when Ursaring says that hero and partner can evolve.&lt;br /&gt;
|-&lt;br /&gt;
|96&lt;br /&gt;
|Gets set to 1 when Krabby says that bottles can appear on the beach.&lt;br /&gt;
|-&lt;br /&gt;
|97&lt;br /&gt;
|Gets set to 1 when Chimecho asks hero if recruits can stay at the cafe.&lt;br /&gt;
|-&lt;br /&gt;
|98&lt;br /&gt;
|Gets set to 1 in m00a01a. Doesn&#039;t seem to be used anywhere else.&lt;br /&gt;
|-&lt;br /&gt;
|99-127&lt;br /&gt;
|Unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12 - SCENARIO_TALK_BIT_FLAG ===&lt;br /&gt;
Up through [200] are in use, and they primarily exist to remember if the player has already talked with an NPC (therefore playing modified or shorter dialogue the second time around). For example, every merchant in treasure town comments on the player&#039;s accomplishments (like defeating Darkrai) the first time you talk to them. Whether that conversation has happened yet is tracked with SCENARIO_TALK_BIT_FLAG.&lt;br /&gt;
&lt;br /&gt;
=== 0x13 - SCENARIO_BALANCE_FLAG ===&lt;br /&gt;
Starts at 0 and gets increased as the player completes certain story events. Controls bag size, Wynaut/Spinda dungeon unlocks, and the spawn threshold value of pokémon, which restricts spawning of some species until this variable reaches a certain value.&lt;br /&gt;
&lt;br /&gt;
==== Value changes ====&lt;br /&gt;
This table lists the exact story spots where the value of the flag is increased.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Story chapter&lt;br /&gt;
!Story event&lt;br /&gt;
!Scene&lt;br /&gt;
!Script&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|Start of a new game&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|3&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V03P12A&lt;br /&gt;
|m03a1314.ssb&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|6&lt;br /&gt;
|Expedition members are announced&lt;br /&gt;
|G01P04A&lt;br /&gt;
|m08a0301.ssb&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|9&lt;br /&gt;
|End of chapter&lt;br /&gt;
|P04P01C&lt;br /&gt;
|m10a1213.ssb&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|13&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V16P02A&lt;br /&gt;
|m16a0702.ssb&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|15&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V19P06A&lt;br /&gt;
|m19b1014.ssb&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Post-game 1&lt;br /&gt;
|After graduating and moving to Sharpedo Bluff&lt;br /&gt;
|H02P99A&lt;br /&gt;
|s01p1103.ssb&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Game complete&lt;br /&gt;
|The Ursarings tell Hero and Partner they can evolve&lt;br /&gt;
(After unlocking Marine Resort) &lt;br /&gt;
|T01P01A&lt;br /&gt;
|m00p1401.ssb&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Bag size ====&lt;br /&gt;
This table lists the maximum bag size depending on the current value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Bag size&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|48&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|48&lt;br /&gt;
|}&lt;br /&gt;
Values higher than 7 will read garbage data and cause crashes.&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;PERFORMANCE_PROGRESS_LIST[2]&amp;lt;/code&amp;gt; is 0, the bag will only have 1 slot, regardless of the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x14 - SCENARIO_BALANCE_DEBUG ===&lt;br /&gt;
If &amp;gt;= 0, overrides the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x15 - CRYSTAL_COLOR_01 ===&lt;br /&gt;
Used to keep track of the current color of the first crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x16 - CRYSTAL_COLOR_02 ===&lt;br /&gt;
Used to keep track of the current color of the second crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x17 - CRYSTAL_COLOR_03 ===&lt;br /&gt;
Used to keep track of the current color of the third crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
Outside of this puzzle, these 3 variables are completely unused by the base game!&lt;br /&gt;
&lt;br /&gt;
=== 0x18 - COMPULSORY_SAVE_POINT ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in the main story.&lt;br /&gt;
&lt;br /&gt;
=== 0x19 - COMPULSORY_SAVE_POINT_SIDE ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in special episode.&lt;br /&gt;
&lt;br /&gt;
=== 0x1a - SCENARIO_SELECT_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x1b - SCENARIO_MAIN_BIT_FLAG_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused, and is a huge list of flags that can be used locally, or in places the player is unable to save!&lt;br /&gt;
&lt;br /&gt;
=== 0x1c - GROUND_ENTER ===&lt;br /&gt;
The map ID the player is currently in the enter scene for.&lt;br /&gt;
&lt;br /&gt;
=== 0x1d - GROUND_ENTER_LINK ===&lt;br /&gt;
Set to zero by EVENT_FORMATION. Purpose Unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x1e - GROUND_GETOUT ===&lt;br /&gt;
The map ID of the enter scene the player was on before the current one. Usually used to decide where the player should enter from on the next map. &lt;br /&gt;
&lt;br /&gt;
=== 0x1f - GROUND_MAP ===&lt;br /&gt;
The map ID of the map currently rendered. Usually this is identical to GROUND_ENTER, unless the map that was loaded changes (Such as P01P01A changing to P01P03A when the cafe is unlocked). &lt;br /&gt;
&lt;br /&gt;
=== 0x20 - GROUND_PLACE ===&lt;br /&gt;
Determines the index for the map marker on the top-screen world map.&lt;br /&gt;
&lt;br /&gt;
=== 0x21 - GROUND_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x22 - GROUND_ENTER_LINK_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER_LINK used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x23 - GROUND_GETOUT_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_GETOUT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x24 - GROUND_MAP_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_MAP used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x25 - GROUND_PLACE_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_PLACE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x26 - DUNGEON_SELECT ===&lt;br /&gt;
The dungeon ID selected by the crossroads. Possibly reused elsewhere. &lt;br /&gt;
&lt;br /&gt;
=== 0x27 - DUNGEON_ENTER ===&lt;br /&gt;
Stores the dungeon ID the player enters, but only in DMODE_OPEN or DMODE_CLOSED. Otherwise, may be set to 214 or 215.  &lt;br /&gt;
&lt;br /&gt;
DUNGEON_ENTER_INDEX is a more reliable tracker of the dungeon ID.  &lt;br /&gt;
&lt;br /&gt;
=== 0x28 - DUNGEON_ENTER_MODE ===&lt;br /&gt;
Seems to be the DMODE of the dungeon being entered. &lt;br /&gt;
&lt;br /&gt;
=== 0x29 - DUNGEON_ENTER_INDEX ===&lt;br /&gt;
Is written on selecting a dungeon from the crossroads (and probably elsewhere). Generally used by the base game to remember the dungeon ID that the player is about to enter or has just exited. &lt;br /&gt;
&lt;br /&gt;
=== 0x2a - DUNGEON_ENTER_FREQUENCY ===&lt;br /&gt;
A running total of how many times the player has entered any dungeon. &lt;br /&gt;
&lt;br /&gt;
=== 0x2b - DUNGEON_RESULT ===&lt;br /&gt;
Stores how the dungeon was exited. Typically GROUND_START_MODE also stores this information, though that has other uses in ground mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Dungeon was cleared&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Escape Orb Used&lt;br /&gt;
|-&lt;br /&gt;
|Other&lt;br /&gt;
|Defeated in Dungeon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x2c - GROUND_START_MODE ===&lt;br /&gt;
The &amp;quot;mode&amp;quot; the game is in when it enters Ground Mode. Uses the same values as DUNGEON_RESULT when exiting a dungeon, but other values appear to be present. coroutine EVENT_FORMATION assigns it to 3, for unknown reasons.&lt;br /&gt;
&lt;br /&gt;
=== 0x2d - DUNGEON_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2e - DUNGEON_ENTER_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2f - DUNGEON_ENTER_INDEX_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_INDEX used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x30 - DUNGEON_ENTER_FREQUENCY_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_FREQUENCY used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x31 - DUNGEON_RESULT_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_RESULT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x32 - GROUND_START_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_START_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x33 - REQUEST_CLEAR_COUNT ===&lt;br /&gt;
Stores the number of jobs the player has completed at certain points in the story to determine when the next story event will occur. Will never increment above 100 in the base game.&lt;br /&gt;
&lt;br /&gt;
=== 0x34 - PLAYER_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_PLAYER when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ACTOR_ATTENDANT_BIPPA&lt;br /&gt;
|Bidoof&lt;br /&gt;
|Special Episode 1&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|ACTOR_ATTENDANT_PUPURIN&lt;br /&gt;
|Igglybuff&lt;br /&gt;
|Special Episode 2&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ACTOR_ATTENDANT_KIMAWARI&lt;br /&gt;
|Sunflora&lt;br /&gt;
|Special Episode 3&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ACTOR_ATTENDANT_FUTURE&lt;br /&gt;
|Grovyle&lt;br /&gt;
|Special Episode 5&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ACTOR_ATTENDANT_CHARMS&lt;br /&gt;
|Lopunny&lt;br /&gt;
|Special Episode 4&lt;br /&gt;
|-&lt;br /&gt;
|9+&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x35 - ATTENDANT1_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT1 (and possibly other related actors) when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5-9&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ACTOR_ATTENDANT_MANAFI&lt;br /&gt;
|Manaphy&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x36 - ATTENDANT2_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT2 when displayed.&lt;br /&gt;
&lt;br /&gt;
Will be &amp;quot;Nothing&amp;quot; unless it is 10, in which case Manaphy will slowly follow ATTENDANT1_KIND&lt;br /&gt;
&lt;br /&gt;
=== 0x37 - PLAYER_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of PLAYER_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x38 - ATTENDANT1_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT1_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x39 - ATTENDANT2_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT2_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x3a - FRIEND_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3b - UNIT_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3c - CARRY_GOLD ===&lt;br /&gt;
Stores the current amount of money carried by the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x3d - BANK_GOLD ===&lt;br /&gt;
Stores the current amount of money stored in Duskull&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
=== 0x3e - HERO_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial hero starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x3f - HERO_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial hero starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x40 - PARTNER_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial partner starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x41 - PARTNER_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial partner starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x42 - HERO_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the hero will use. In base game, only 4 and 5 are used for HERO_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Hero Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Male Pokemon&lt;br /&gt;
|Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Female/Genderless Pokemon&lt;br /&gt;
|Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x43 - PARTNER_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the partner will use. In base game, only 1, 2, and 3 are used for PARTNER_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Partner Species&lt;br /&gt;
!Use Case&lt;br /&gt;
!Example Dialogue Use&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Squirtle, Totodile, Chimchar, Meowth or Munchlax&lt;br /&gt;
|More &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|No more wimping out. I have to be brave today.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|All other Male Species&lt;br /&gt;
|Less &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. I have to steel my courage today.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|All female Species&lt;br /&gt;
|Least &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. Today I’m going to be brave.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x44 - RANDOM_REQUEST_NPC03_KIND ===&lt;br /&gt;
Determines the species of ACTOR_RANDOM_REQUEST_NPC03, or the Spinda Cafe client Pokémon. It is either a random Pokémon, Magnemite, or Togetic, depending on the mission.&lt;br /&gt;
&lt;br /&gt;
=== 0x45 - CONFIG_COLOR_KIND ===&lt;br /&gt;
The aura bow color determined by the personality quiz at the beginning of the game. Only ever used by wigglytuff to determine the color of aura bow given to the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x46 - ROM_VARIATION ===&lt;br /&gt;
Unknown, but hardcoded to zero.&lt;br /&gt;
&lt;br /&gt;
=== 0x47 - LANGUAGE_TYPE ===&lt;br /&gt;
Stores the language from DS Firmware. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Language&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Japanese&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|English&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|French&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|German&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Italian&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Spanish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x48 - GAME_MODE ===&lt;br /&gt;
Keeps track of the current game mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!ID&lt;br /&gt;
!Mode&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Top menu&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Normal play, including overworld and dungeons&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Special episode&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Rescue&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
There might be more valid values.&lt;br /&gt;
&lt;br /&gt;
=== 0x49 - EXECUTE_SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active. The base-game prefers this variable over SPECIAL_EPISODE_TYPE, though it is unknown if they differ at all.&lt;br /&gt;
&lt;br /&gt;
=== 0x4a - SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active, just like EXECUTE_SPECIAL_EPISODE_TYPE.&lt;br /&gt;
&lt;br /&gt;
=== 0x4b - SPECIAL_EPISODE_OPEN ===&lt;br /&gt;
Keeps track of what Special Episodes are unlocked.&lt;br /&gt;
&lt;br /&gt;
The following is the list of scripts where the Special Episodes are unlocked in the base-game:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[0] (Bidoof&#039;s Wish): V03P12A - m03a1314&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[1] (Igglybuff the Prodigy): P04P01C - m10a1213&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[2] (Today&#039;s Oh My Gosh): G01P04A - m16a0105&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[3] (Here Comes Team Charm!): D01P11A - m20a0101&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[4] (In the Future of Darkness): H02P99A - s01p1103&lt;br /&gt;
&lt;br /&gt;
=== 0x4c - SPECIAL_EPISODE_OPEN_OLD ===&lt;br /&gt;
Keeps track of what Special Episodes were started. Used to show an exclamation mark if the episode is opened but wasn&#039;t started.&lt;br /&gt;
&lt;br /&gt;
=== 0x4d - SPECIAL_EPISODE_CONQUEST ===&lt;br /&gt;
Keeps track of what Special Episodes did the player finished. Also unlocks the Special Episode&#039;s respective Clear Icons.&lt;br /&gt;
&lt;br /&gt;
Note: This specific script variable is not in any script. It is actually triggered by an &#039;&#039;&#039;adventure_log&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
The following is the list of the &#039;&#039;&#039;adventure_log&#039;&#039;&#039; that triggers this Script Variable and its location for each Special Episode:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[0] (Bidoof&#039;s Wish): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1000; in S04P01A - n03a3103&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[1] (Igglybuff the Prodigy): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1001; in S04P01A - n03a1704&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[2] (Today&#039;s Oh My Gosh): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1002; in S04P01A - n04a2606&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[3] (Here Comes Team Charm!): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1003; in S04P01A - n06a3909&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[4] (In the Future of Darkness): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1004; in S04P01A - n09a2212&lt;br /&gt;
&lt;br /&gt;
=== 0x4e - PERFORMANCE_PROGRESS_LIST ===&lt;br /&gt;
List of flags used to keep track of unlocked features and achievements. See [[Performance Progress Flags]] for the full list.&lt;br /&gt;
&lt;br /&gt;
=== 0x4f - DUNGEON_OPEN_LIST ===&lt;br /&gt;
List of unlocked dungeons. One bit per dungeon ID. If true, and the dungeon isn&#039;t on some blacklist, you can enter this dungeon from the crossroads/dojo/igglybuff&#039;s house/pelipper standby adventure. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_OPEN or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
=== 0x50 - DUNGEON_ENTER_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. This is checked at [NA]0x204CEE0, but never assigned. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x51 - DUNGEON_ARRIVE_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x52 - DUNGEON_CONQUEST_LIST ===&lt;br /&gt;
List of completed dungeons. One bit per dungeon ID. Automatically set on clearing any dungeon. &lt;br /&gt;
&lt;br /&gt;
In many cases, this bitfield renders other flags or variables redundant in a vanilla setting, especially certain $PERFORMANCE_PROGRESS_LIST flags that are always enabled after clearing certain dungeons for the first time. &lt;br /&gt;
&lt;br /&gt;
=== 0x53 - DUNGEON_PRESENT_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x54 - DUNGEON_REQUEST_LIST ===&lt;br /&gt;
List of dungeons that no longer have story progression. On completing a dungeon with this bit enabled, the player will enter [INSERT THE RIGHT COROUTINE HERE] in unionall. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_REQUEST or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
Contrary to the name, this field alone is insufficient for missions to show up on the job board! Only dungeon in DMODE_OPEN_AND_REQUEST can have missions, and other (hardcoded) conditions must be met. &lt;br /&gt;
&lt;br /&gt;
=== 0x55 - WORLD_MAP_MARK_LIST_NORMAL ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x56 - WORLD_MAP_MARK_LIST_SPECIAL ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x57 - WORLD_MAP_LEVEL ===&lt;br /&gt;
Seems to be used to track the area covered by clouds on the world map. &lt;br /&gt;
&lt;br /&gt;
=== 0x58 - POSITION_X ===&lt;br /&gt;
Stores the X-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x59 - POSITION_Y ===&lt;br /&gt;
Stores the Y-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5a - POSITION_HEIGHT ===&lt;br /&gt;
Stores the Z-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5b - POSITION_DIRECTION ===&lt;br /&gt;
Stores the direction an entity is facing when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5c - EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game, and is reset between scripts.&lt;br /&gt;
&lt;br /&gt;
=== 0x5d - DUNGEON_EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game (possibly while within dungeons?), and is reset between scripts. &lt;br /&gt;
&lt;br /&gt;
=== 0x5e - STATION_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x5f - STATION_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x60 - DELIVER_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x61 - DELIVER_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x62 - BIT_FUWARANTE_LOCAL ===&lt;br /&gt;
Keeps track of the Sky Peak stations the player visited. Used in the script for Drifblim&#039;s Gondola.&lt;br /&gt;
&lt;br /&gt;
=== 0x63 - LOTTERY_RESULT ===&lt;br /&gt;
Used to track what result should occur during the Recycle Shop Prize Ticket Lottery. Has no other use.&lt;br /&gt;
&lt;br /&gt;
=== 0x64 - ITEM_BACKUP ===&lt;br /&gt;
Unlikely to be a backup flag. Conveniently sized for item_GetVariable to extract the item ID and metadata.&lt;br /&gt;
&lt;br /&gt;
Used somewhere in Sky Peak&lt;br /&gt;
&lt;br /&gt;
=== 0x65 - ITEM_BACKUP_KUREKURE ===&lt;br /&gt;
Happiny requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x66 - ITEM_BACKUP_TAKE ===&lt;br /&gt;
Numel requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x67 - ITEM_BACKUP_GET ===&lt;br /&gt;
Numel gives this item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x68 - REQUEST_THANKS_RESULT_KIND ===&lt;br /&gt;
Stores the mission type of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x69 - REQUEST_THANKS_RESULT_VARIATION ===&lt;br /&gt;
Stores the mission subtype of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x6a - SUB30_TREASURE_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a treasure was found. &lt;br /&gt;
&lt;br /&gt;
=== 0x6b - SUB30_SPOT_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a new unexplored area was discovered. &lt;br /&gt;
&lt;br /&gt;
=== 0x6c - RECYCLE_COUNT ===&lt;br /&gt;
Stores the number of recycles the player has done. Is only updated by the base-game at the end of each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x6d - SUB30_SPOT_LEVEL ===&lt;br /&gt;
Keeps track of what dungeon was discovered by Project P. &lt;br /&gt;
&lt;br /&gt;
=== 0x6e - TEAM_RANK_EVENT_LEVEL ===&lt;br /&gt;
Has some correlation with guild rank? Unsure, I don&#039;t trust this variable. &lt;br /&gt;
&lt;br /&gt;
=== 0x6f - PLAY_OLD_GAME ===&lt;br /&gt;
True if the player answered yes to the question on the personality quiz that asks if you played Explorers of Time or Darkness. Increases the recruit rate of certain pokémon if you haven&#039;t recruited them yet.&lt;br /&gt;
&lt;br /&gt;
=== 0x70 - NOTE_MODIFY_FLAG ===&lt;br /&gt;
&lt;br /&gt;
=== 0x71 - SUB30_PROJECTP ===&lt;br /&gt;
If true, the player has viewed the Project P cutscene, and the recycle shop is capable of being upgraded.&lt;br /&gt;
&lt;br /&gt;
=== 0x72 - SUM ===&lt;br /&gt;
Seems to be a marker of the end of &amp;quot;normal&amp;quot; script variables.&lt;br /&gt;
&lt;br /&gt;
=== 0x400 - LOCAL0 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL0 in def 0 is distinct from $LOCAL0 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x401 - LOCAL1 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL1 indef 0 is distinct from $LOCAL1 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x402 - LOCAL2 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
=== 0x403 - LOCAL3 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
== Variable Lengths ==&lt;br /&gt;
Not all variables can store the same sized values! Some were allocated to be different sizes than others. Besides the standard sizes, there are 2 unusual variable sizes worth mentioning. &amp;quot;special&amp;quot; variable sizes are not stored in the same place as every other variable, and instead read some other value, such as the number of money the player currently has, or the current language of the ROM. &amp;quot;None&amp;quot; size is only used by the &amp;quot;SUM&amp;quot; variable, and has no allocated space at all. Below are a list of variables, their sizes, and how many there are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Variable&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Size&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Count&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|VERSION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONDITION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB1&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB2&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB3&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB4&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB5&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB6&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB7&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB8&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE02_TALK&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE06_ROOM&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE08_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE01_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x80 (128)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_TALK_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_FLAG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_DEBUG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_01&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_02&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_03&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG_BACKUP&lt;br /&gt;
|bit&lt;br /&gt;
|0x200 (512)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_SELECT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY&lt;br /&gt;
|uint16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY_BACKUP&lt;br /&gt;
|uint16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_CLEAR_COUNT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|FRIEND_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|UNIT_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CARRY_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|BANK_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RANDOM_REQUEST_NPC03_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_COLOR_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ROM_VARIATION&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LANGUAGE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GAME_MODE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|EXECUTE_SPECIAL_EPISODE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_TYPE&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN_OLD&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_CONQUEST&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|PERFORMANCE_PROGRESS_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x40 (64)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_OPEN_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ARRIVE_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_CONQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_PRESENT_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_REQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_NORMAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_SPECIAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_X&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_Y&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_HEIGHT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_DIRECTION&lt;br /&gt;
|int8&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|BIT_FUWARANTE_LOCAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|LOTTERY_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_KUREKURE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_TAKE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_GET&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_VARIATION&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_TREASURE_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RECYCLE_COUNT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|TEAM_RANK_EVENT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAY_OLD_GAME&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|NOTE_MODIFY_FLAG&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_PROJECTP&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUM&lt;br /&gt;
|none&lt;br /&gt;
|0x0 (0)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL0&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL1&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL2&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL3&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1212</id>
		<title>List of Script Variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Script_Variables&amp;diff=1212"/>
		<updated>2025-08-12T02:10:34Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* 0x68 - REQUEST_THANKS_RESULT_KIND */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the variables available on the scripting engine. They can be read or written to from scripts.&lt;br /&gt;
&lt;br /&gt;
Some variables store a single value, whereas others can store multiple bitflags.&lt;br /&gt;
&lt;br /&gt;
== List of variables ==&lt;br /&gt;
&lt;br /&gt;
=== 0x0 - VERSION ===&lt;br /&gt;
Seems to be used to keep track of save file versions. It&#039;s stored in the save file when the game is saved. When loading a save file, if the version value in it doesn&#039;t match the value of this variable, the save file is deleted.&lt;br /&gt;
&lt;br /&gt;
=== 0x1 - CONDITION ===&lt;br /&gt;
Completely unused. Purpose unknown...&lt;br /&gt;
&lt;br /&gt;
=== 0x2 - SCENARIO_SELECT ===&lt;br /&gt;
Two indexed values determined via the Top Menu. These are referenced by Unionall for general control flow.&lt;br /&gt;
&lt;br /&gt;
To be a bit more specific, the first coroutine run after the Top Menu is EVENT_DIVIDE, which checks for these indexed values. In doing so, the game knows when to load scripts from maingame, a Special Episode, or Rescue mode.&lt;br /&gt;
&lt;br /&gt;
=== 0x3 - SCENARIO_MAIN ===&lt;br /&gt;
Stores game progress. The first value correlates with the MAIN value (mostly aligns with the story chapter), while the second is generally used to track progress within that MAIN. &lt;br /&gt;
&lt;br /&gt;
=== 0x4 - SCENARIO_SIDE ===&lt;br /&gt;
Like SCENARIO_MAIN, but for special episode progress.&lt;br /&gt;
&lt;br /&gt;
=== 0x5 - SCENARIO_SUB1 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x6 - SCENARIO_SUB2 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x7 - SCENARIO_SUB3 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x8 - SCENARIO_SUB4 ===&lt;br /&gt;
&lt;br /&gt;
=== 0x9 - SCENARIO_SUB5 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xa - SCENARIO_SUB6 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xb - SCENARIO_SUB7 ===&lt;br /&gt;
&lt;br /&gt;
=== 0xc - SCENARIO_SUB8 ===&lt;br /&gt;
As far as is currently known, SCENARIO_SUB1 through SCENARIO_SUB8 are completely unused by the base-game! Perhaps they were intended to store side-quest progress of some sort?&lt;br /&gt;
&lt;br /&gt;
=== 0xd - SIDE02_TALK ===&lt;br /&gt;
Three bit flags that keeps track of the neighbors Igglybuff talked to in Special Episode 2&lt;br /&gt;
&lt;br /&gt;
=== 0xe - SIDE06_ROOM ===&lt;br /&gt;
Three bit flags that keeps track of the Limestone Cavern paths Team Charm visited in Special Episode 4&lt;br /&gt;
&lt;br /&gt;
=== 0xf - SIDE08_BOSS2ND ===&lt;br /&gt;
True if the player lose against Sableyes in Barren Valley Clearing in Special Episode 5&lt;br /&gt;
&lt;br /&gt;
=== 0x10 - SIDE01_BOSS2ND ===&lt;br /&gt;
True if Snover has betrayed bidoof in Special Episode 1. Used to determine whether Snover will be an ally in Star Cave or not.&lt;br /&gt;
&lt;br /&gt;
=== 0x11 - SCENARIO_MAIN_BIT_FLAG ===&lt;br /&gt;
Has many purposes, sometimes have hardcoded or technical effects, but not always.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Number&lt;br /&gt;
!Where&#039;s used&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Gets set to 1 right after waking up in the guild. Used for the game to determine when partner dialogue should be changed to just &amp;quot;Good morning, [hero]...&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Unused.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Will end the current day if EVENT_DIVIDE is run.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Similar to 3. Seems to be related to missions&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Gets set to 1 if the player decides to go the wrong way during an expedition.&lt;br /&gt;
|-&lt;br /&gt;
|6, 7, 8&lt;br /&gt;
|Used to remember how the game was saved last.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Used in G01P04A/um07. When it&#039;s not set, the game spawns triggers. Upon walkng to them, Croagunk calls hero and partner to tell that the Croagunk Swap Shop is now opened.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do jobs.&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Gets set to 1 when it&#039;s a day to do sentry duty. &lt;br /&gt;
|-&lt;br /&gt;
|12, 13&lt;br /&gt;
|Marowak Dojo First Entry/ Final Maze Opening&lt;br /&gt;
|-&lt;br /&gt;
|14-23&lt;br /&gt;
|Used in Marowak&#039;s Dojo. If none of them are set, the player finished all the dojo dungeons.&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|Gets set when the player finishes all dojo dungeons. Used to only show a cutscene about the full dojo completion once. &lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|Gets set to 0 before the check whether it&#039;s set to 1 or not during a cutscene after finishing the Final Maze.&lt;br /&gt;
|-&lt;br /&gt;
|26, 27&lt;br /&gt;
|Unused&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|Gets set to 1 when the player finishes Final Maze. Used to give another cutscene if the Final Maze gets finished again. &lt;br /&gt;
|-&lt;br /&gt;
|29&lt;br /&gt;
|Gets set to 1 if the player decides to go back to the previous location(or back to the town) from the checkpoint.&lt;br /&gt;
|-&lt;br /&gt;
|30&lt;br /&gt;
|Seems to be used in TITLE_TEST to distinguish between Time and Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|31&lt;br /&gt;
|Gets set to 1 when the player presses Go Rescue for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|32&lt;br /&gt;
|Gets set to 1 when the player presses Standby Adventure for the first time.&lt;br /&gt;
|-&lt;br /&gt;
|33-39&lt;br /&gt;
|Used after collecting one of the seven treasures. If none of them are set, the game gives a Seven Treasures collection checkmark.&lt;br /&gt;
|-&lt;br /&gt;
|40&lt;br /&gt;
|Gets set if the player interacts with anything on the Pelipper Island. If set, the game will save upon leaving the island.&lt;br /&gt;
|-&lt;br /&gt;
|41&lt;br /&gt;
|Gets set to 1 when Chimecho tells hero and partner that they&#039;re now able to change team leader. Used to only show this cutscene once.&lt;br /&gt;
|-&lt;br /&gt;
|42&lt;br /&gt;
|Gets set to 1 when the partner says good morning to hero in Sharpedo Bluff, while $SCENARIO_MAIN is 29, 92. Used to only show this cutscene once, as it&#039;s called in coroutine EVENT_DIVIDE_AFTER, that is called really often.&lt;br /&gt;
|-&lt;br /&gt;
|43-45&lt;br /&gt;
|Aegis Cave&#039;s ice, rock and steel puzzles completion.&lt;br /&gt;
|-&lt;br /&gt;
|46&lt;br /&gt;
|Gets set to 1 if the player Drifblim&#039;s Gondola. Used to show a cutscene where Drifblim thanks hero and partner for using his service.&lt;br /&gt;
|-&lt;br /&gt;
|47&lt;br /&gt;
|Gets set to 1 when player talks with Ampharos about Sneasel&#039;s Sky Gift.&lt;br /&gt;
|-&lt;br /&gt;
|48&lt;br /&gt;
|Gets set to 1 when the player gets Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|49&lt;br /&gt;
|Gets set to 1 when the player leaves the station clearing after getting Sneasel&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|50-60&lt;br /&gt;
|Sky Gift had been sent to Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk and partner respectively.&lt;br /&gt;
|-&lt;br /&gt;
|61&lt;br /&gt;
|Gets set to 1 when the player gives an item to Happiny.&lt;br /&gt;
|-&lt;br /&gt;
|62-73&lt;br /&gt;
|Wigglytuff, Chatot, Diglett, Dugtrio, Sunflora, Loudred, Corphish, Chimecho, Bidoof, Croagunk, partner and Happiny respectively sent a Sky Gift to hero.&lt;br /&gt;
|-&lt;br /&gt;
|74-77&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station Clearing respectively. Happiny will always spawn on the 1st station if ITEM_BACKUP_GET = ITEM_BACKUP_TAKE.&lt;br /&gt;
|-&lt;br /&gt;
|78-81&lt;br /&gt;
|Used to decide whether Numel will appear on the 1st/3rd/5th/7th Station Clearing respectively. &lt;br /&gt;
|-&lt;br /&gt;
|82&lt;br /&gt;
|Gets set to 1 if the player already swapped items with Numel in the current attempt to climb to Sky Peak Summit.&lt;br /&gt;
|-&lt;br /&gt;
|83-87&lt;br /&gt;
|Used to decide whether Happiny will appear on the 1st/3rd/5th/7th Station/Summit Clearing respectively.&lt;br /&gt;
|-&lt;br /&gt;
|88&lt;br /&gt;
|Gets set to 1 when the player claims Jumpluff&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|89&lt;br /&gt;
|Used to decide whether Delibird should appear on the 9th Station Clearing. The chance of it being set is 50% each climbing attempt.&lt;br /&gt;
|-&lt;br /&gt;
|90&lt;br /&gt;
|Gets set to 1 when the player claims Delibird&#039;s gift.&lt;br /&gt;
|-&lt;br /&gt;
|91&lt;br /&gt;
|Gets set to 1 if the player gives an item to Heracross.&lt;br /&gt;
|-&lt;br /&gt;
|92&lt;br /&gt;
|Used to decide if a bottle should appear on the beach. The chance of it being set is 10%&lt;br /&gt;
|-&lt;br /&gt;
|93&lt;br /&gt;
|Used to decide if a client should appear in the cafe. The chance of it being set is 80%&lt;br /&gt;
|-&lt;br /&gt;
|94&lt;br /&gt;
|Gets set to 1 if the player receives a Gracidea.&lt;br /&gt;
|-&lt;br /&gt;
|95&lt;br /&gt;
|Gets set to 1 when Ursaring says that hero and partner can evolve.&lt;br /&gt;
|-&lt;br /&gt;
|96&lt;br /&gt;
|Gets set to 1 when Krabby says that bottles can appear on the beach.&lt;br /&gt;
|-&lt;br /&gt;
|97&lt;br /&gt;
|Gets set to 1 when Chimecho asks hero if recruits can stay at the cafe.&lt;br /&gt;
|-&lt;br /&gt;
|98&lt;br /&gt;
|Gets set to 1 in m00a01a. Doesn&#039;t seem to be used anywhere else.&lt;br /&gt;
|-&lt;br /&gt;
|99-127&lt;br /&gt;
|Unused.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12 - SCENARIO_TALK_BIT_FLAG ===&lt;br /&gt;
Up through [200] are in use, and they primarily exist to remember if the player has already talked with an NPC (therefore playing modified or shorter dialogue the second time around). For example, every merchant in treasure town comments on the player&#039;s accomplishments (like defeating Darkrai) the first time you talk to them. Whether that conversation has happened yet is tracked with SCENARIO_TALK_BIT_FLAG.&lt;br /&gt;
&lt;br /&gt;
=== 0x13 - SCENARIO_BALANCE_FLAG ===&lt;br /&gt;
Starts at 0 and gets increased as the player completes certain story events. Controls bag size, Wynaut/Spinda dungeon unlocks, and the spawn threshold value of pokémon, which restricts spawning of some species until this variable reaches a certain value.&lt;br /&gt;
&lt;br /&gt;
==== Value changes ====&lt;br /&gt;
This table lists the exact story spots where the value of the flag is increased.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Story chapter&lt;br /&gt;
!Story event&lt;br /&gt;
!Scene&lt;br /&gt;
!Script&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|Start of a new game&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|3&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V03P12A&lt;br /&gt;
|m03a1314.ssb&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|6&lt;br /&gt;
|Expedition members are announced&lt;br /&gt;
|G01P04A&lt;br /&gt;
|m08a0301.ssb&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|9&lt;br /&gt;
|End of chapter&lt;br /&gt;
|P04P01C&lt;br /&gt;
|m10a1213.ssb&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|13&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V16P02A&lt;br /&gt;
|m16a0702.ssb&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|15&lt;br /&gt;
|End of chapter&lt;br /&gt;
|V19P06A&lt;br /&gt;
|m19b1014.ssb&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Post-game 1&lt;br /&gt;
|After graduating and moving to Sharpedo Bluff&lt;br /&gt;
|H02P99A&lt;br /&gt;
|s01p1103.ssb&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Game complete&lt;br /&gt;
|The Ursarings tell Hero and Partner they can evolve&lt;br /&gt;
(After unlocking Marine Resort) &lt;br /&gt;
|T01P01A&lt;br /&gt;
|m00p1401.ssb&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Bag size ====&lt;br /&gt;
This table lists the maximum bag size depending on the current value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Flag value&lt;br /&gt;
!Bag size&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|32&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|40&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|48&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|48&lt;br /&gt;
|}&lt;br /&gt;
Values higher than 7 will read garbage data and cause crashes.&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;PERFORMANCE_PROGRESS_LIST[2]&amp;lt;/code&amp;gt; is 0, the bag will only have 1 slot, regardless of the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x14 - SCENARIO_BALANCE_DEBUG ===&lt;br /&gt;
If &amp;gt;= 0, overrides the value of &amp;lt;code&amp;gt;SCENARIO_BALANCE_FLAG&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 0x15 - CRYSTAL_COLOR_01 ===&lt;br /&gt;
Used to keep track of the current color of the first crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x16 - CRYSTAL_COLOR_02 ===&lt;br /&gt;
Used to keep track of the current color of the second crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
=== 0x17 - CRYSTAL_COLOR_03 ===&lt;br /&gt;
Used to keep track of the current color of the third crystal during the Crystal Cave puzzle.&lt;br /&gt;
&lt;br /&gt;
Outside of this puzzle, these 3 variables are completely unused by the base game!&lt;br /&gt;
&lt;br /&gt;
=== 0x18 - COMPULSORY_SAVE_POINT ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in the main story.&lt;br /&gt;
&lt;br /&gt;
=== 0x19 - COMPULSORY_SAVE_POINT_SIDE ===&lt;br /&gt;
Used in cutscene saves for the game to know the coroutine it needs to jump to after reloading a save. Only used in special episode.&lt;br /&gt;
&lt;br /&gt;
=== 0x1a - SCENARIO_SELECT_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x1b - SCENARIO_MAIN_BIT_FLAG_BACKUP ===&lt;br /&gt;
A carbon copy of SCENARIO_SELECT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
Is otherwise unused, and is a huge list of flags that can be used locally, or in places the player is unable to save!&lt;br /&gt;
&lt;br /&gt;
=== 0x1c - GROUND_ENTER ===&lt;br /&gt;
The map ID the player is currently in the enter scene for.&lt;br /&gt;
&lt;br /&gt;
=== 0x1d - GROUND_ENTER_LINK ===&lt;br /&gt;
Set to zero by EVENT_FORMATION. Purpose Unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x1e - GROUND_GETOUT ===&lt;br /&gt;
The map ID of the enter scene the player was on before the current one. Usually used to decide where the player should enter from on the next map. &lt;br /&gt;
&lt;br /&gt;
=== 0x1f - GROUND_MAP ===&lt;br /&gt;
The map ID of the map currently rendered. Usually this is identical to GROUND_ENTER, unless the map that was loaded changes (Such as P01P01A changing to P01P03A when the cafe is unlocked). &lt;br /&gt;
&lt;br /&gt;
=== 0x20 - GROUND_PLACE ===&lt;br /&gt;
Determines the index for the map marker on the top-screen world map.&lt;br /&gt;
&lt;br /&gt;
=== 0x21 - GROUND_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x22 - GROUND_ENTER_LINK_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_ENTER_LINK used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x23 - GROUND_GETOUT_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_GETOUT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x24 - GROUND_MAP_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_MAP used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x25 - GROUND_PLACE_BACKUP ===&lt;br /&gt;
A carbon copy of GROUND_PLACE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x26 - DUNGEON_SELECT ===&lt;br /&gt;
The dungeon ID selected by the crossroads. Possibly reused elsewhere. &lt;br /&gt;
&lt;br /&gt;
=== 0x27 - DUNGEON_ENTER ===&lt;br /&gt;
Stores the dungeon ID the player enters, but only in DMODE_OPEN or DMODE_CLOSED. Otherwise, may be set to 214 or 215.  &lt;br /&gt;
&lt;br /&gt;
DUNGEON_ENTER_INDEX is a more reliable tracker of the dungeon ID.  &lt;br /&gt;
&lt;br /&gt;
=== 0x28 - DUNGEON_ENTER_MODE ===&lt;br /&gt;
Seems to be the DMODE of the dungeon being entered. &lt;br /&gt;
&lt;br /&gt;
=== 0x29 - DUNGEON_ENTER_INDEX ===&lt;br /&gt;
Is written on selecting a dungeon from the crossroads (and probably elsewhere). Generally used by the base game to remember the dungeon ID that the player is about to enter or has just exited. &lt;br /&gt;
&lt;br /&gt;
=== 0x2a - DUNGEON_ENTER_FREQUENCY ===&lt;br /&gt;
A running total of how many times the player has entered any dungeon. &lt;br /&gt;
&lt;br /&gt;
=== 0x2b - DUNGEON_RESULT ===&lt;br /&gt;
Stores how the dungeon was exited. Typically GROUND_START_MODE also stores this information, though that has other uses in ground mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Meaning&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Dungeon was cleared&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Escape Orb Used&lt;br /&gt;
|-&lt;br /&gt;
|Other&lt;br /&gt;
|Defeated in Dungeon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x2c - GROUND_START_MODE ===&lt;br /&gt;
The &amp;quot;mode&amp;quot; the game is in when it enters Ground Mode. Uses the same values as DUNGEON_RESULT when exiting a dungeon, but other values appear to be present. coroutine EVENT_FORMATION assigns it to 3, for unknown reasons.&lt;br /&gt;
&lt;br /&gt;
=== 0x2d - DUNGEON_ENTER_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2e - DUNGEON_ENTER_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x2f - DUNGEON_ENTER_INDEX_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_INDEX used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x30 - DUNGEON_ENTER_FREQUENCY_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_ENTER_FREQUENCY used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x31 - DUNGEON_RESULT_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_RESULT used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x32 - GROUND_START_MODE_BACKUP ===&lt;br /&gt;
A carbon copy of DUNGEON_START_MODE used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x33 - REQUEST_CLEAR_COUNT ===&lt;br /&gt;
Stores the number of jobs the player has completed at certain points in the story to determine when the next story event will occur. Will never increment above 100 in the base game.&lt;br /&gt;
&lt;br /&gt;
=== 0x34 - PLAYER_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_PLAYER when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|ACTOR_ATTENDANT_BIPPA&lt;br /&gt;
|Bidoof&lt;br /&gt;
|Special Episode 1&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|ACTOR_ATTENDANT_PUPURIN&lt;br /&gt;
|Igglybuff&lt;br /&gt;
|Special Episode 2&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|ACTOR_ATTENDANT_KIMAWARI&lt;br /&gt;
|Sunflora&lt;br /&gt;
|Special Episode 3&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|ACTOR_ATTENDANT_FUTURE&lt;br /&gt;
|Grovyle&lt;br /&gt;
|Special Episode 5&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|ACTOR_ATTENDANT_CHARMS&lt;br /&gt;
|Lopunny&lt;br /&gt;
|Special Episode 4&lt;br /&gt;
|-&lt;br /&gt;
|9+&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x35 - ATTENDANT1_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT1 (and possibly other related actors) when displayed:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Actor to Pull Species From&lt;br /&gt;
!Base-Game Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Species of Chimecho Assembly entry 0&lt;br /&gt;
|The Hero&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Species of Chimecho Assembly entry 1&lt;br /&gt;
|The Partner&lt;br /&gt;
|Treasure Town&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Species of current party leader&lt;br /&gt;
|N/A&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5-9&lt;br /&gt;
|Nothing&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|ACTOR_ATTENDANT_MANAFI&lt;br /&gt;
|Manaphy&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x36 - ATTENDANT2_KIND ===&lt;br /&gt;
Determines what actor&#039;s species should replace ACTOR_ATTENDANT2 when displayed.&lt;br /&gt;
&lt;br /&gt;
Will be &amp;quot;Nothing&amp;quot; unless it is 10, in which case Manaphy will slowly follow ATTENDANT1_KIND&lt;br /&gt;
&lt;br /&gt;
=== 0x37 - PLAYER_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of PLAYER_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x38 - ATTENDANT1_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT1_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x39 - ATTENDANT2_KIND_BACKUP ===&lt;br /&gt;
A carbon copy of ATTENDANT2_KIND used while the game is saving to ensure that data is never lost by interrupting the save.&lt;br /&gt;
As far as we know, is otherwise unused!&lt;br /&gt;
&lt;br /&gt;
=== 0x3a - FRIEND_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3b - UNIT_SUM ===&lt;br /&gt;
Unknown&lt;br /&gt;
&lt;br /&gt;
=== 0x3c - CARRY_GOLD ===&lt;br /&gt;
Stores the current amount of money carried by the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x3d - BANK_GOLD ===&lt;br /&gt;
Stores the current amount of money stored in Duskull&#039;s bank.&lt;br /&gt;
&lt;br /&gt;
=== 0x3e - HERO_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial hero starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x3f - HERO_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial hero starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x40 - PARTNER_FIRST_KIND ===&lt;br /&gt;
The species ID of the initial partner starter.&lt;br /&gt;
&lt;br /&gt;
=== 0x41 - PARTNER_FIRST_NAME ===&lt;br /&gt;
The stored name of the initial partner starter, as a 10 character array of ASCII values.&lt;br /&gt;
&lt;br /&gt;
=== 0x42 - HERO_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the hero will use. In base game, only 4 and 5 are used for HERO_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Hero Species&lt;br /&gt;
!Use Case&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Male Pokemon&lt;br /&gt;
|Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Female/Genderless Pokemon&lt;br /&gt;
|Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x43 - PARTNER_TALK_KIND ===&lt;br /&gt;
Determines which of kind of dialogue the partner will use. In base game, only 1, 2, and 3 are used for PARTNER_TALK_KIND, but with something like StarterMenuTool (or QuizMenuTool) these can be assigned to more custom values. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Partner Species&lt;br /&gt;
!Use Case&lt;br /&gt;
!Example Dialogue Use&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Squirtle, Totodile, Chimchar, Meowth or Munchlax&lt;br /&gt;
|More &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|No more wimping out. I have to be brave today.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|All other Male Species&lt;br /&gt;
|Less &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. I have to steel my courage today.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|All female Species&lt;br /&gt;
|Least &amp;quot;bold&amp;quot; dialogue-wise&lt;br /&gt;
|This is it. Today I’m going to be brave.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x44 - RANDOM_REQUEST_NPC03_KIND ===&lt;br /&gt;
Determines the species of ACTOR_RANDOM_REQUEST_NPC03, or the Spinda Cafe client Pokémon. It is either a random Pokémon, Magnemite, or Togetic, depending on the mission.&lt;br /&gt;
&lt;br /&gt;
=== 0x45 - CONFIG_COLOR_KIND ===&lt;br /&gt;
The aura bow color determined by the personality quiz at the beginning of the game. Only ever used by wigglytuff to determine the color of aura bow given to the player.&lt;br /&gt;
&lt;br /&gt;
=== 0x46 - ROM_VARIATION ===&lt;br /&gt;
Unknown, but hardcoded to zero.&lt;br /&gt;
&lt;br /&gt;
=== 0x47 - LANGUAGE_TYPE ===&lt;br /&gt;
Stores the language from DS Firmware. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Value&lt;br /&gt;
!Language&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Japanese&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|English&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|French&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|German&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Italian&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Spanish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x48 - GAME_MODE ===&lt;br /&gt;
Keeps track of the current game mode.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!ID&lt;br /&gt;
!Mode&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Top menu&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Normal play, including overworld and dungeons&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Special episode&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Rescue&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
There might be more valid values.&lt;br /&gt;
&lt;br /&gt;
=== 0x49 - EXECUTE_SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active. The base-game prefers this variable over SPECIAL_EPISODE_TYPE, though it is unknown if they differ at all.&lt;br /&gt;
&lt;br /&gt;
=== 0x4a - SPECIAL_EPISODE_TYPE ===&lt;br /&gt;
Tracks which Special Episode is currently active, just like EXECUTE_SPECIAL_EPISODE_TYPE.&lt;br /&gt;
&lt;br /&gt;
=== 0x4b - SPECIAL_EPISODE_OPEN ===&lt;br /&gt;
Keeps track of what Special Episodes are unlocked.&lt;br /&gt;
&lt;br /&gt;
The following is the list of scripts where the Special Episodes are unlocked in the base-game:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[0] (Bidoof&#039;s Wish): V03P12A - m03a1314&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[1] (Igglybuff the Prodigy): P04P01C - m10a1213&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[2] (Today&#039;s Oh My Gosh): G01P04A - m16a0105&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[3] (Here Comes Team Charm!): D01P11A - m20a0101&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_OPEN[4] (In the Future of Darkness): H02P99A - s01p1103&lt;br /&gt;
&lt;br /&gt;
=== 0x4c - SPECIAL_EPISODE_OPEN_OLD ===&lt;br /&gt;
Keeps track of what Special Episodes were started. Used to show an exclamation mark if the episode is opened but wasn&#039;t started.&lt;br /&gt;
&lt;br /&gt;
=== 0x4d - SPECIAL_EPISODE_CONQUEST ===&lt;br /&gt;
Keeps track of what Special Episodes did the player finished. Also unlocks the Special Episode&#039;s respective Clear Icons.&lt;br /&gt;
&lt;br /&gt;
Note: This specific script variable is not in any script. It is actually triggered by an &#039;&#039;&#039;adventure_log&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
The following is the list of the &#039;&#039;&#039;adventure_log&#039;&#039;&#039; that triggers this Script Variable and its location for each Special Episode:&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[0] (Bidoof&#039;s Wish): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1000; in S04P01A - n03a3103&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[1] (Igglybuff the Prodigy): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1001; in S04P01A - n03a1704&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[2] (Today&#039;s Oh My Gosh): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1002; in S04P01A - n04a2606&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[3] (Here Comes Team Charm!): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1003; in S04P01A - n06a3909&lt;br /&gt;
&lt;br /&gt;
- SPECIAL_EPISODE_CONQUEST[4] (In the Future of Darkness): Triggered by &#039;&#039;&#039;adventure_log&#039;&#039;&#039; = 1004; in S04P01A - n09a2212&lt;br /&gt;
&lt;br /&gt;
=== 0x4e - PERFORMANCE_PROGRESS_LIST ===&lt;br /&gt;
List of flags used to keep track of unlocked features and achievements. See [[Performance Progress Flags]] for the full list.&lt;br /&gt;
&lt;br /&gt;
=== 0x4f - DUNGEON_OPEN_LIST ===&lt;br /&gt;
List of unlocked dungeons. One bit per dungeon ID. If true, and the dungeon isn&#039;t on some blacklist, you can enter this dungeon from the crossroads/dojo/igglybuff&#039;s house/pelipper standby adventure. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_OPEN or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
=== 0x50 - DUNGEON_ENTER_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. This is checked at [NA]0x204CEE0, but never assigned. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x51 - DUNGEON_ARRIVE_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x52 - DUNGEON_CONQUEST_LIST ===&lt;br /&gt;
List of completed dungeons. One bit per dungeon ID. Automatically set on clearing any dungeon. &lt;br /&gt;
&lt;br /&gt;
In many cases, this bitfield renders other flags or variables redundant in a vanilla setting, especially certain $PERFORMANCE_PROGRESS_LIST flags that are always enabled after clearing certain dungeons for the first time. &lt;br /&gt;
&lt;br /&gt;
=== 0x53 - DUNGEON_PRESENT_LIST ===&lt;br /&gt;
Large bitfield sized for storing dungeon-specific data. Presumed Unused&lt;br /&gt;
&lt;br /&gt;
=== 0x54 - DUNGEON_REQUEST_LIST ===&lt;br /&gt;
List of dungeons that no longer have story progression. On completing a dungeon with this bit enabled, the player will enter [INSERT THE RIGHT COROUTINE HERE] in unionall. &lt;br /&gt;
&lt;br /&gt;
Setting a dungeon to DMODE_REQUEST or DMODE_OPEN_AND_REQUEST enables the matching bit in this field!&lt;br /&gt;
&lt;br /&gt;
Contrary to the name, this field alone is insufficient for missions to show up on the job board! Only dungeon in DMODE_OPEN_AND_REQUEST can have missions, and other (hardcoded) conditions must be met. &lt;br /&gt;
&lt;br /&gt;
=== 0x55 - WORLD_MAP_MARK_LIST_NORMAL ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x56 - WORLD_MAP_MARK_LIST_SPECIAL ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x57 - WORLD_MAP_LEVEL ===&lt;br /&gt;
Seems to be used to track the area covered by clouds on the world map. &lt;br /&gt;
&lt;br /&gt;
=== 0x58 - POSITION_X ===&lt;br /&gt;
Stores the X-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x59 - POSITION_Y ===&lt;br /&gt;
Stores the Y-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5a - POSITION_HEIGHT ===&lt;br /&gt;
Stores the Z-coordinate of an entity when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5b - POSITION_DIRECTION ===&lt;br /&gt;
Stores the direction an entity is facing when the LoadPosition() opcode is run on it.&lt;br /&gt;
&lt;br /&gt;
=== 0x5c - EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game, and is reset between scripts.&lt;br /&gt;
&lt;br /&gt;
=== 0x5d - DUNGEON_EVENT_LOCAL ===&lt;br /&gt;
Used as scratch paper by the base game (possibly while within dungeons?), and is reset between scripts. &lt;br /&gt;
&lt;br /&gt;
=== 0x5e - STATION_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x5f - STATION_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x60 - DELIVER_ITEM_STATIC ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x61 - DELIVER_ITEM_TEMP ===&lt;br /&gt;
Use unknown.&lt;br /&gt;
&lt;br /&gt;
=== 0x62 - BIT_FUWARANTE_LOCAL ===&lt;br /&gt;
Keeps track of the Sky Peak stations the player visited. Used in the script for Drifblim&#039;s Gondola.&lt;br /&gt;
&lt;br /&gt;
=== 0x63 - LOTTERY_RESULT ===&lt;br /&gt;
Used to track what result should occur during the Recycle Shop Prize Ticket Lottery. Has no other use.&lt;br /&gt;
&lt;br /&gt;
=== 0x64 - ITEM_BACKUP ===&lt;br /&gt;
Unlikely to be a backup flag. Conveniently sized for item_GetVariable to extract the item ID and metadata.&lt;br /&gt;
&lt;br /&gt;
Used somewhere in Sky Peak&lt;br /&gt;
&lt;br /&gt;
=== 0x65 - ITEM_BACKUP_KUREKURE ===&lt;br /&gt;
Happiny requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x66 - ITEM_BACKUP_TAKE ===&lt;br /&gt;
Numel requests the item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x67 - ITEM_BACKUP_GET ===&lt;br /&gt;
Numel gives this item stored in this variable if found on Sky Peak. Pulled from an item table each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x68 - REQUEST_THANKS_RESULT_KIND ===&lt;br /&gt;
Stores the mission type of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x69 - REQUEST_THANKS_RESULT_VARIATION ===&lt;br /&gt;
Stores the mission subtype of the mission being processed during mission rewards.&lt;br /&gt;
&lt;br /&gt;
=== 0x6a - SUB30_TREASURE_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a treasure was found. &lt;br /&gt;
&lt;br /&gt;
=== 0x6b - SUB30_SPOT_DISCOVER ===&lt;br /&gt;
If set to true, Wynaut tells hero and partner that a new unexplored area was discovered. &lt;br /&gt;
&lt;br /&gt;
=== 0x6c - RECYCLE_COUNT ===&lt;br /&gt;
Stores the number of recycles the player has done. Is only updated by the base-game at the end of each day.&lt;br /&gt;
&lt;br /&gt;
=== 0x6d - SUB30_SPOT_LEVEL ===&lt;br /&gt;
Keeps track of what dungeon was discovered by Project P. &lt;br /&gt;
&lt;br /&gt;
=== 0x6e - TEAM_RANK_EVENT_LEVEL ===&lt;br /&gt;
Has some correlation with guild rank? Unsure, I don&#039;t trust this variable. &lt;br /&gt;
&lt;br /&gt;
=== 0x6f - PLAY_OLD_GAME ===&lt;br /&gt;
True if the player answered yes to the question on the personality quiz that asks if you played Explorers of Time or Darkness. Increases the recruit rate of certain pokémon if you haven&#039;t recruited them yet.&lt;br /&gt;
&lt;br /&gt;
=== 0x70 - NOTE_MODIFY_FLAG ===&lt;br /&gt;
&lt;br /&gt;
=== 0x71 - SUB30_PROJECTP ===&lt;br /&gt;
If true, the player has viewed the Project P cutscene, and the recycle shop is capable of being upgraded.&lt;br /&gt;
&lt;br /&gt;
=== 0x72 - SUM ===&lt;br /&gt;
Seems to be a marker of the end of &amp;quot;normal&amp;quot; script variables.&lt;br /&gt;
&lt;br /&gt;
=== 0x400 - LOCAL0 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL0 in def 0 is distinct from $LOCAL0 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x401 - LOCAL1 ===&lt;br /&gt;
Unknown if used in vanilla, is reset on entering a new script like $EVENT_LOCAL. &lt;br /&gt;
&lt;br /&gt;
NOTE: Is unique for every routine in a script! $LOCAL1 indef 0 is distinct from $LOCAL1 in def 1! &lt;br /&gt;
&lt;br /&gt;
=== 0x402 - LOCAL2 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
=== 0x403 - LOCAL3 ===&lt;br /&gt;
Broken, do not use unless you know what you are doing!&lt;br /&gt;
&lt;br /&gt;
== Variable Lengths ==&lt;br /&gt;
Not all variables can store the same sized values! Some were allocated to be different sizes than others. Besides the standard sizes, there are 2 unusual variable sizes worth mentioning. &amp;quot;special&amp;quot; variable sizes are not stored in the same place as every other variable, and instead read some other value, such as the number of money the player currently has, or the current language of the ROM. &amp;quot;None&amp;quot; size is only used by the &amp;quot;SUM&amp;quot; variable, and has no allocated space at all. Below are a list of variables, their sizes, and how many there are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Variable&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Size&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Count&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|VERSION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONDITION&lt;br /&gt;
|int32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB1&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB2&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB3&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB4&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB5&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB6&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB7&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SUB8&lt;br /&gt;
|uint8&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE02_TALK&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE06_ROOM&lt;br /&gt;
|bit&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE08_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SIDE01_BOSS2ND&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x80 (128)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_TALK_BIT_FLAG&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_FLAG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_BALANCE_DEBUG&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_01&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_02&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CRYSTAL_COLOR_03&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|COMPULSORY_SAVE_POINT_SIDE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_SELECT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SCENARIO_MAIN_BIT_FLAG_BACKUP&lt;br /&gt;
|bit&lt;br /&gt;
|0x200 (512)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_ENTER_LINK_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_GETOUT_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_MAP_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_PLACE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_SELECT&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY&lt;br /&gt;
|uint16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_MODE_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_INDEX_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_FREQUENCY_BACKUP&lt;br /&gt;
|uint16&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_RESULT_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|GROUND_START_MODE_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_CLEAR_COUNT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAYER_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT1_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|ATTENDANT2_KIND_BACKUP&lt;br /&gt;
|uint8&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|FRIEND_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|UNIT_SUM&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CARRY_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|BANK_GOLD&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_FIRST_NAME&lt;br /&gt;
|string&lt;br /&gt;
|0xA (10)&lt;br /&gt;
|-&lt;br /&gt;
|HERO_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PARTNER_TALK_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RANDOM_REQUEST_NPC03_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|CONFIG_COLOR_KIND&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ROM_VARIATION&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LANGUAGE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|GAME_MODE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|EXECUTE_SPECIAL_EPISODE_TYPE&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_TYPE&lt;br /&gt;
|int8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_OPEN_OLD&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|SPECIAL_EPISODE_CONQUEST&lt;br /&gt;
|bit&lt;br /&gt;
|0x8 (8)&lt;br /&gt;
|-&lt;br /&gt;
|PERFORMANCE_PROGRESS_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x40 (64)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_OPEN_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ENTER_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_ARRIVE_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_CONQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_PRESENT_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_REQUEST_LIST&lt;br /&gt;
|bit&lt;br /&gt;
|0x100 (256)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_NORMAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_MARK_LIST_SPECIAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x140 (320)&lt;br /&gt;
|-&lt;br /&gt;
|WORLD_MAP_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_X&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_Y&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_HEIGHT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|POSITION_DIRECTION&lt;br /&gt;
|int8&lt;br /&gt;
|0x3 (3)&lt;br /&gt;
|-&lt;br /&gt;
|EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|DUNGEON_EVENT_LOCAL&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|STATION_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x20 (32)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_STATIC&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|DELIVER_ITEM_TEMP&lt;br /&gt;
|bit&lt;br /&gt;
|0x10 (16)&lt;br /&gt;
|-&lt;br /&gt;
|BIT_FUWARANTE_LOCAL&lt;br /&gt;
|bit&lt;br /&gt;
|0x5 (5)&lt;br /&gt;
|-&lt;br /&gt;
|LOTTERY_RESULT&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_KUREKURE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_TAKE&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|ITEM_BACKUP_GET&lt;br /&gt;
|int16&lt;br /&gt;
|0x2 (2)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_KIND&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|REQUEST_THANKS_RESULT_VARIATION&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_TREASURE_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_DISCOVER&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|RECYCLE_COUNT&lt;br /&gt;
|uint32&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_SPOT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|TEAM_RANK_EVENT_LEVEL&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|PLAY_OLD_GAME&lt;br /&gt;
|uint8&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|NOTE_MODIFY_FLAG&lt;br /&gt;
|special&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUB30_PROJECTP&lt;br /&gt;
|bit&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|SUM&lt;br /&gt;
|none&lt;br /&gt;
|0x0 (0)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL0&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL1&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL2&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|-&lt;br /&gt;
|LOCAL3&lt;br /&gt;
|int16&lt;br /&gt;
|0x1 (1)&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1211</id>
		<title>QuizMenuTool Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1211"/>
		<updated>2025-08-11T19:46:31Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: I thiiiink I removed the unfinished part?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide explains how to use QuizMenuTool to create a custom Personality Quiz. The bulk of this guide will explain the use of the google sheets portion of the tool. A rudimentary understanding of SkyTemple scripting is helpful for this task, but not strictly required. These topics will be covered at the end for the sake of completion, but only to the extent that they are needed for QuizMenuTool. &lt;br /&gt;
&lt;br /&gt;
== About QuizMenuTool ==&lt;br /&gt;
&lt;br /&gt;
=== What Is QuizMenuTool? ===&lt;br /&gt;
QuizMenuTool is a customizable ExplorerScript replica of the Explorers of Sky Personality Quiz and Starter Selection, with minimal hardcoded aspects. The original quiz was designed to consist mostly of &amp;lt;code&amp;gt;message_Menu()&amp;lt;/code&amp;gt; ASM, to make editing the personality quiz accessible without the need to learn ASM. &lt;br /&gt;
&lt;br /&gt;
=== What can QuizMenuTool do? ===&lt;br /&gt;
QuizMenuTool can modify the process of using the quiz to select a starter, expand/reduce the starter list, add/remove/modify questions from the quiz, and much more! In fact, the better question might be...&lt;br /&gt;
&lt;br /&gt;
=== What Limitations does QuizMenuTool have? ===&lt;br /&gt;
There are a few critical things QuizMenuTool was not designed to do, though many of these could be remedied in the future if enough demand exists. Here&#039;s a list of what QuizMenuTool fails to replicate from the vanilla quiz:&lt;br /&gt;
&lt;br /&gt;
* Hero/Partner Type Exclusion: In the vanilla quiz, the hero and partner are prevented from sharing a type, to encourage team balance. No   option for such a restriction has been implemented yet, though such a thing would be possible in the future, or be scripted manually for a specific hack. &lt;br /&gt;
* SwitchMenu Portraits: In the vanilla quiz, scrolling to a partner choice displays a portrait of that partner, which gradually changes in expression. This feature would require significant custom code to emulate, and is unlikely to be available for QuizMenuTool.&lt;br /&gt;
* Third Party Starter Tweaks: The original starter list is &#039;&#039;&#039;completely unused&#039;&#039;&#039; by QuizMenuTool. Changing it has no impact on the quiz. Players of a hack using QuizMenuTool will have difficulty adding their own starters to the game, though this could potentially be remedied with a special process checking the starter list against what it is expected to be, and assigning the desired starter if a mismatch is found?&lt;br /&gt;
* Incompatibility with Japanese ROMs: Currently, QuizMenuTool is designed to only work for NA and EU ROMs. while in theory a Japanese Quiz could be designed, the Special Processes are not Japanese-compatible. This could be remedied with little effort, but the tool is designed for EU/NA ROMs.&lt;br /&gt;
&lt;br /&gt;
== Who QuizMenuTool is for ==&lt;br /&gt;
If either of the below points do not apply to you, you do not need QuizMenuTool.&lt;br /&gt;
* You would like to expand (or shrink) the list of starter options in the game.&lt;br /&gt;
* You would like to keep the personality quiz in the game, or edit the quiz directly.&lt;br /&gt;
If you only want to change the size of the starter list, and do not want the personality quiz (as if the [[SkipQuiz]] patch is applied), you should instead use [https://github.com/Chesyon/StarterMenuTool StarterMenuTool], which is less powerful but requires much less work to set up.&lt;br /&gt;
&lt;br /&gt;
== Programs and Files ==&lt;br /&gt;
&lt;br /&gt;
=== Required Programs and Files ===&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1snwIq3-GHntcPTBwH-TJ5Ctk0a8l4pwXTZYwCs53dwo/edit?usp=sharing Explorers of Sky Personality Quiz Assembling Sheet]&lt;br /&gt;
* [https://github.com/HappyLappy1/EOS-QuizGenerationTool-ASM Necessary Special Processes and SkyPatches]&lt;br /&gt;
* [[SkyTemple]] &lt;br /&gt;
&lt;br /&gt;
== General Spreadsheet Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Making a Copy of the Sheet ===&lt;br /&gt;
The above link does NOT grant edit access. In order to use the sheet, a copy will need to be made as follows:&lt;br /&gt;
[[File:Copying a Spreadsheet.png|thumb|750x750px|Location of the &amp;quot;File&amp;quot; and &amp;quot;Make a Copy&amp;quot; buttons. |center]]&lt;br /&gt;
First click the &amp;quot;File&amp;quot; button on the top left. Next, &amp;quot;Make a Copy&amp;quot; of the sheet. Finally, name the copy as desired. &lt;br /&gt;
&lt;br /&gt;
=== Cell Color-Coding ===&lt;br /&gt;
Throughout the spreadsheet, most cells are color-coded. Here&#039;s a brief explanation of each color present in the sheet: &lt;br /&gt;
&lt;br /&gt;
* Green Cells are for user input. If a cell is green, it is intended to contain input data.&lt;br /&gt;
* Grey Cells contain formulas. They will update automatically, and should not be edited.&lt;br /&gt;
* Orange Cells are for user outputs. If a cell is orange, it is intended to be exported elsewhere, such as to a SkyTemple script.&lt;br /&gt;
* Cells without a color or of an unspecified color are typically safe to edit. Always check for a formula first though!&lt;br /&gt;
&lt;br /&gt;
=== Paste Values Only ===&lt;br /&gt;
This tab is the first which will require the use of &amp;quot;Paste Values&amp;quot;. When this guide specifies that a copy/paste must &amp;quot;Paste Values&amp;quot;, this means that the copied text is a formula, and the pasted text should not be a formula. &lt;br /&gt;
[[File:How To Paste Values.png|alt=Depiction of the &amp;quot;Values Only&amp;quot; button in the menu|center|thumb|600x600px|Depiction of the &amp;quot;Values Only&amp;quot; button in the menu]]&lt;br /&gt;
There are two ways to paste values, either by right-clicking the paste location and selecting &amp;quot;Paste Special&amp;quot; then &amp;quot;Values Only&amp;quot;, or by holding shift as you paste. &lt;br /&gt;
&lt;br /&gt;
== Quiz Preamble Generator ==&lt;br /&gt;
The Quiz Preamble Generator Tab as a whole exists to create the very beginning of the quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
Most tabs in the sheet contain an upper panel of some kind, with various simple inputs and feedback on them:&lt;br /&gt;
[[File:Preamble Upper Panel.png|alt=Location of the Quiz Preamble Generator&#039;s Upper Panel.|center|thumb|750x750px|Location of the Quiz Preamble Generator&#039;s Upper Panel.]]&lt;br /&gt;
The &amp;quot;Bottom Screen&amp;quot; and &amp;quot;Top Screen&amp;quot; inputs are the map ID that should be used for that screen&#039;s background. Similarly, the Background Music Name/ID is a BGM name (or number) of the BGM that should play throughout the quiz. The &amp;quot;White Space?&amp;quot; checkbox will attempt to add indents to the output ExplorerScript lines, making the output script more human-readable.&lt;br /&gt;
&lt;br /&gt;
=== Preamble Text ===&lt;br /&gt;
This is the first of many direct inputs for ExplorerScript code. Due to the way spreadsheets store cell data, &amp;quot; &amp;quot; behave weirdly when present in the final script. Please use &#039; &#039; instead. This input is for the first set of dialogue before the questions actually begin. &lt;br /&gt;
[[File:Quiz Preamble Location.png|alt=Location of the Quiz Preamble Inputs|center|thumb|600x600px|Location of the Quiz Preamble Inputs]]&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
The orange output cell on this sheet is largely unimportant, but is present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Starter Selection Generator ==&lt;br /&gt;
This tab of the sheet is primarily for inputting data about the starters, or the personality pools they belong to. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
[[File:Starter Selection Upper Panel.png|alt=The Upper Panel for the &amp;quot;Starter Selection Generator&amp;quot; Tab|thumb|750x750px|Location of the &amp;quot;Upper Panel&amp;quot; for the &amp;quot;Starter Selection Generator&amp;quot; Tab|center]]This upper panel contains 4 inputs, 3 of which are for Special Processes pertaining to starter selection. If other Special Processes have already been added, these Special Process IDs will need to be changed to free slots. The &amp;quot;White Space?&amp;quot; checkbox is the same as before, except for this tab of the sheet. The 4 grey cells are useful statistics about the input starters: how many different pools are used by the starters, how many species are present, and how many options there are for the hero and partner. &lt;br /&gt;
&lt;br /&gt;
=== Personality Pool Input ===&lt;br /&gt;
Next, on the lower right is the nature &amp;quot;Pool&amp;quot; input. These contain the pool name, and the text that should be displayed if that pool is selected by the quiz. &lt;br /&gt;
[[File:Personality Pools Input.png|alt=Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names and descriptions go.|center|thumb|450x450px|Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names/descriptions go.]]&lt;br /&gt;
The &amp;quot;Pool Name&amp;quot; field is only used by the Question Generator Tab, and will not show up anywhere in the final script. Modify these as desired as soon as possible, as it will be difficult to do so after designing the quiz questions. &#039;&#039;&#039;For best results, ensure all pool names are unique!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Starter Species Data ===&lt;br /&gt;
The bottom left segment of the sheet is the &amp;quot;Starter Species Data&amp;quot; input. This is part of a wider table, but each segment will be discussed individually. &lt;br /&gt;
[[File:Starter Species Data Location.png|alt=Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.|center|thumb|750x750px|Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.]]&lt;br /&gt;
While some of these fields should be intuitive, A brief description of each column is as follows:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Species Name:&#039;&#039;&#039; The name of the species as you want it shown in the quiz. If the cell turns purple on entering a species name, this means the Pokémon could not be found in &#039;&#039;&#039;Vanilla Translation Strings&#039;&#039;&#039;. French and German Translations will need to be added by hand, or all strings involving the Pokémon will need to be translated manually.&lt;br /&gt;
* &#039;&#039;&#039;Species ID:&#039;&#039;&#039; The ID in SkyTemple of the Pokémon. &#039;&#039;&#039;[TODO: Explain how this is affected by ExpandPokeList]&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Gender:&#039;&#039;&#039; The gender of the Pokémon, used to set the frame color, and to add &amp;quot;♂&amp;quot; and &amp;quot;♀&amp;quot; to the hero/partner selection list. 0 is Male, 1 is Female, and 2 is Genderless.&lt;br /&gt;
* &#039;&#039;&#039;Pool ID:&#039;&#039;&#039; The number of the Pool the Pokémon should be categorized under. Each Pool that could be chosen by the Quiz should have at least one valid Pokémon, or Bulbasaur will be selected as a failsafe. &#039;&#039;&#039;If the species are not sorted by Pool ID, cells will turn red. The sheet will produce invalid labels if this table is not sorted by Pool ID!&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Start w/ Vowel:&#039;&#039;&#039; If the Pokémon should be referred to as &amp;quot;...an [Pokémon]&amp;quot;, check this box.&lt;br /&gt;
&lt;br /&gt;
=== Talk Group &amp;amp; Role Exclusion ===&lt;br /&gt;
Continuing along the table, the next two subsections are for &amp;quot;Talk Groups&amp;quot; and &amp;quot;Role Exclusion&amp;quot;. Both of these segments relate to either the hero, or the partner.&lt;br /&gt;
[[File:Talk Groups and Role Exclusion.png|alt=Location of Talk Group and Role Exclusion Inputs|center|thumb|300x300px|Location of Talk Group and Role Exclusion Inputs]]&lt;br /&gt;
In the vanilla game, the hero and partner have differing dialogue depending on their species-specific &amp;quot;Talk Group&amp;quot;. These columns are dedicated to assigning the talk group for the hero or partner if that row&#039;s species is chosen. While it handles pronouns for dialogue, especially in gendered languages, it also affects the way the partner&#039;s dialogue is written. It does the same for the hero&#039;s dialogue, but in the English localization it only affects 2 lines in the entire game (&amp;quot;Whoa&amp;quot; &amp;lt;-&amp;gt; &amp;quot;Wah&amp;quot;, &amp;quot;All right&amp;quot; &amp;lt;-&amp;gt; &amp;quot;OK&amp;quot;). This is how they are used in vanilla:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Explorers of Sky Talk Groups&lt;br /&gt;
!#&lt;br /&gt;
!Used By&lt;br /&gt;
!Notable Species&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Partner&lt;br /&gt;
|Male Squirtle/Totodile/Chimchar/Meowth/Munchlax&lt;br /&gt;
|More Masculine/&amp;quot;Rural&amp;quot; Dialogue. (Refers to self as &amp;quot;Oira&amp;quot; in Japanese) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Partner&lt;br /&gt;
|All other Male Pokémon&lt;br /&gt;
|More Masculine/&amp;quot;Boyish&amp;quot; Dialogue. (Refers to self as &amp;quot;Boku&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Partner&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|More Feminine Dialogue. (Refers to self as &amp;quot;Watashi&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Hero&lt;br /&gt;
|All Male/Genderless Pokémon&lt;br /&gt;
|Uses Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Hero&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|Uses Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;Role Exclusion&amp;quot; checkboxes blacklist the row from being an option as a hero or as a partner respectively. Certain Pokémon, particularly Meowth and Munchlax, are unable to be heroes in the vanilla game. This section is how to replicate that feature of the original quiz.&lt;br /&gt;
&lt;br /&gt;
=== Fuwarante Blacklist ===&lt;br /&gt;
Finally, on the far end of the table, is the Fuwarante Blacklist inputs. These are perhaps the most complicated portion of this tab of the sheet.[[File:Fuwarante Blacklist.png|alt=Location of the Fuwarante Blacklist|center|thumb|300x300px|Location of the Fuwarante Blacklist]]Each column corresponds to a bit of the script variable &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt;. If the matching flag is on, the starter in that row &#039;&#039;&#039;cannot&#039;&#039;&#039; be chosen. This will be elaborated on further in the &amp;quot;Question Loop Generator&amp;quot;, but this is a brief explanation of what the bits represent by default:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Bit&lt;br /&gt;
!Description/Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|If enabled, &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt; will be true, meaning the player answered that they have played Time/Darkness before.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|If enabled, the player has played EoS before, according to a custom starting question.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|If enabled, the player has participated in a Mystery Mail event before, according to a custom ending question.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|If enabled, the player claimed to be female in the final gender question. Enable for &#039;&#039;&#039;male&#039;&#039;&#039; starters.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|If enabled, the player claimed to be male in the final gender question. Enable for &#039;&#039;&#039;female&#039;&#039;&#039; starters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
Once again, the orange output cells on the far right of this sheet are largely unimportant, but are present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Question Loop Generator ==&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The upper panel of this sheet mostly consists of inputs, though the single output is a reminder of how many unique pools are used by the Starter Selection Generator. The input directly left of it is for telling the Question Loop Generator how many pools are in use, and should be changed to match the display. On the upper left of the panel, there are inputs for how many questions the game should ask the player, and how many questions will be written for the quiz to randomly choose from. In vanilla, there are 64 possible questions, and 8 will be given to the player.&lt;br /&gt;
[[File:Question Loop Generator Upper Panel.png|alt=Location of the Upper Panel of the Question Loop Generator|center|thumb|750x750px|Location of the Upper Panel of the Question Loop Generator]]&lt;br /&gt;
The bottom row consists of checkboxes to enable/disable the Custom/Standard First and Last Questions, such as the Gender Question and the Time/Darkness Question, which boosts recruit rates for certain species if you answer yes, and adds points to certain pools containing sky-exclusive Pokémon. &lt;br /&gt;
&lt;br /&gt;
=== ExplorerScript Pre/Post Quiz Questions ===&lt;br /&gt;
Room for an additional question before and after the quiz has also been made, which along with the Gender and Time/Darkness questions can be modified in the below ExplorerScript inputs:&lt;br /&gt;
[[File:Question Loop Generator ExplorerScript Inputs.png|alt=Location of the ExplorerScript Inputs|center|thumb|600x600px|Location of the ExplorerScript Inputs]]&lt;br /&gt;
These are the primary use-cases for the Fuwarante Blacklist described above. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag will be explained in further detail below. &lt;br /&gt;
&lt;br /&gt;
== Question Generator ==&lt;br /&gt;
Note: The &amp;quot;Yes.&amp;quot; and &amp;quot;No.&amp;quot; options have the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag after them. This does functionally nothing, and exists primarily to aid in automatic string translation, as the localization teams translated the same English responses for questions differently based on context. This will be elaborated on further in &amp;quot;Full Script Translation&amp;quot;. If there are no plans to use the sheet&#039;s translation features, it is safe to remove any variants of &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt;. (instructions to do so in SkyTemple directly are present below).&lt;br /&gt;
&lt;br /&gt;
=== About Question Templates ===&lt;br /&gt;
This tab of the sheet is dedicated to the design and storage of the individual random questions in the quiz. The way this sheet works revolves   around &amp;quot;Question Templates&amp;quot; that store the question text, question number, answer text, pool ID, and points for that pool ID. Below is an example of a Question Template, and how it translates to question data: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Do you prefer to be busy or have\na lot of free time?^35 |&amp;lt;code&amp;gt;Being busy.^11^4^8^2|Free time!^9^4|In between.^12^4&amp;lt;/code&amp;gt;&lt;br /&gt;
!Question Text&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; |Question #&lt;br /&gt;
|-&lt;br /&gt;
|Do you prefer to be busy or to have a lot of free time?&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; |35&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |Answer Text&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 2&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 3&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 4&lt;br /&gt;
|-&lt;br /&gt;
!ID&lt;br /&gt;
!Points&lt;br /&gt;
!ID&lt;br /&gt;
!Points&lt;br /&gt;
!ID&lt;br /&gt;
!Points&lt;br /&gt;
!ID&lt;br /&gt;
!Points&lt;br /&gt;
|-&lt;br /&gt;
|Being busy.&lt;br /&gt;
|11&lt;br /&gt;
|4&lt;br /&gt;
|8&lt;br /&gt;
|2&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Free time!&lt;br /&gt;
|9&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|In between.&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Question Template Input ===&lt;br /&gt;
&lt;br /&gt;
On the far left, is an input for an existing Question Template.[[File:Question Template Input.png|alt=Question Template Input Location|center|thumb|600x600px|Question Template Input Location]]The &amp;quot;Use Question Template Input&amp;quot; checkbox tells the sheet whether or not to use the Question Template provided. When writing questions entirely from scratch, disable this checkbox. When modifying existing questions, enable the checkbox, and paste in the Question Template. This will subsequently auto-fill the Question Data Inputs with the data within the template. If the auto-filled data itself needs to be altered, you will need to copy and &#039;&#039;&#039;paste values&#039;&#039;&#039; the data, then disable the checkbox.&lt;br /&gt;
&lt;br /&gt;
=== Question Data Inputs ===&lt;br /&gt;
[[File:Question Data Inputs.png|alt=Location of the Question Data Inputs Area|center|thumb|750x750px|Location of the Question Data Inputs Area]]&lt;br /&gt;
The Question Data Inputs Area should seem relatively intuitive. The question text is at the top, the answers are beneath, and up to 4 Personality Pools can gain points from each answer choice. The White Space checkbox is identical to the previous tab, and the question index is just the internal &amp;quot;ID&amp;quot; of the question. It should be incremented for each new question created, and will translate to the ID of the switch case in the final code. Note that the drop-down for the Pool Names is sourced from the Pool Names column of the Starter Selection Generator, and any changes to that list after creating the questions may lead to problems. With the current setup of the sheet, each question is limited to a maximum of 26 answer choices, but this limit is arbitrary, and can be circumvented by editing the question template manually, and pasting it in the Template List. In the event that a single question requires more than 26 choices, please ping happylappy in a support thread.&lt;br /&gt;
&lt;br /&gt;
=== Question Template Output &amp;amp; Template List ===&lt;br /&gt;
Finally, once the question is complete, a template for the question will be created in &amp;quot;Question Template Output&amp;quot;. &lt;br /&gt;
[[File:Question Template Output &amp;amp; Template List.png|alt=Location of Question Template Output &amp;amp; Template List|center|thumb|750x750px|Location of Question Template Output &amp;amp; Template List]]&lt;br /&gt;
Before moving onto the next question, copy the template output, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; in the corresponding slot on the &amp;quot;Question Template List&amp;quot;.   By default, templates for each vanilla question are already in the Question Template List, ready to be edited or modified by copying and pasting into the Question Template Input. The Script Output Column is again for debug purposes, and is read automatically by another tab of the sheet. &lt;br /&gt;
&lt;br /&gt;
== Personality Pool Selection Generator ==&lt;br /&gt;
Once the quiz itself is completed, the points need to be tallied, so that a winning pool can be selected. The exact way that this happens in vanilla is a tad complicated, especially when it comes to breaking ties. Here are the steps that occur in vanilla:&lt;br /&gt;
&lt;br /&gt;
# Points are added to pools containing Sky-Exclusive Starters if the player has played Time/Darkness.&lt;br /&gt;
#* If Male is chosen for the gender question, +4 Points are added to Relaxed, Hasty, and Sassy. (Phanpy, Shinx, and Riolu)&lt;br /&gt;
#* If Female is chosen for the gender question, +4 Points are added to Relaxed and Jolly. (Vulpix and Eevee)&lt;br /&gt;
# The highest pool is found, and chosen.&lt;br /&gt;
#* If there is a tie, it is broken by adding a random number (0-19) to each, and rescoring the points.&lt;br /&gt;
#* If there is STILL a tie, it chooses the smallest pool it can.&lt;br /&gt;
This tab of the sheet serves to implement these two features in a customizable way.&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
About half of the upper panel is actually new this time. The &amp;quot;White Space&amp;quot; and &amp;quot;Number/# of Pools In Use&amp;quot; are unchanged, except they apply to this sheet.[[File:Pool Selection Generator Upper Panel.png|alt=Location of Pool Selection Generator Upper Panel|center|thumb|600x600px|Location of Pool Selection Generator Upper Panel]]The checkbox for &amp;quot;Do Pool Tinkering&amp;quot; enables/disables the Pool Tinkering portion of this sheet, while the &amp;quot;Maximum Tiebreaker Points&amp;quot; input determines the random value added to tied pools to decide a victor. Larger numbers result in less chance of a secondary tie, but could result in overflow for certain pools. &lt;br /&gt;
&lt;br /&gt;
=== Pool Tinkering ===&lt;br /&gt;
As stated above, the vanilla quiz favors pools with Sky-Exclusive Starters for the specified gender if they&#039;ve played Time/Darkness. Through checking the &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; flags from the &amp;quot;Question Loop Generator&amp;quot;, we can mimic this effect.&lt;br /&gt;
[[File:Pool Tinkering.png|alt=Location of Pool Tinkering Portion.|center|thumb|600x600px|Location of Pool Tinkering Portion.]]&lt;br /&gt;
On the far left, are the IDs of the two flags that should be checked (without modification, this could be 0 for &amp;quot;Time/Darkness&amp;quot;, and 3/4 for &amp;quot;Male/Female&amp;quot;). Depending on if the 1st and 2nd flags are true (1), or false (0), the selected pools (as many as needed) will gain the specified number of points. In order to accommodate for the &amp;quot;Surprise Me!&amp;quot; gender option, 2 points are given for male, 2 for &amp;quot;not male&amp;quot;, 2 for &amp;quot;female&amp;quot;, and 2 for &amp;quot;not female&amp;quot;, in order to influence every pool containing a sky-exclusive starter. (A similar process is done for the Time/Darkness exclusive starters I&#039;ve added to my example quiz, if the player has NOT played time/darkness). Up to 10 slots are present for pool tinkering, though more could be added if there is a pressing need. &lt;br /&gt;
&lt;br /&gt;
== Aura Bow Generator ==&lt;br /&gt;
The Aura Bow Generator serves to emulate the cinematics of the vanilla aura bow portion of the quiz. In addition to simply detecting when and for how long the player is touching the Aura Bow, the actual bow color needs to be determined! For the vanilla quiz, the process is as follows:&lt;br /&gt;
&lt;br /&gt;
* Use DS Favorite Color (75% Chance): If the DS Favorite Color is selected, the user&#039;s favorite color will match the color of the bow.&lt;br /&gt;
* Use DS Mac Address (25% Chance): If the Mac Address is selected, then &amp;lt;code&amp;gt;mac_address &amp;amp; 0xF&amp;lt;/code&amp;gt; determines the color of the bow.&lt;br /&gt;
&lt;br /&gt;
This functionality can be replicated by QuizMenuTool, and the chances can even be altered!&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The Aura Bow Generator&#039;s Upper Panel is one of the largest of every tab, though many of these inputs are similar to prior tabs of the sheet. The top left input boxes are Special Process IDs for the 4 Special Processes needed to emulate the Aura Bow portion of the quiz, and the &amp;quot;White Space?&amp;quot; Checkbox is the same as always. The &amp;quot;Aura Bow Output&amp;quot; on the top right is the final script output for this tab, unnecessary outside of debug purposes.&lt;br /&gt;
[[File:Aura Bow Generator Upper Panel.png|alt=Location of the Aura Bow Generator Upper Panel.|center|thumb|600x600px|Location of the Aura Bow Generator Upper Panel.]]&lt;br /&gt;
Beginning with the bottom left of the panel, there are 4 map LEVEL names. &amp;quot;Bottom 1&amp;quot; is for the background while touching the Aura bow, Bottom Screen 2 is for the presentation of the colored Aura Bow, and the Bottom/Top Screen 3 is the backgrounds that the script should end with, when transitioning to the starter reveal. Finally, on the bottom right of the upper panel is the &amp;quot;Touch Screen Aura Bow Object Name&amp;quot;. Per the name, this is the name or ID of the object that should be present on the bottom screen, that will animate when the player touches it. The last three digits of the object seem to vary depending on unknown factors, so be sure to verify that yours matches by inspecting this object in M00A01A with SkyTemple.&lt;br /&gt;
[[File:Aura Bow Touch Object Name.png|alt=Where to check the Aura Bow Touch Object Name in SkyTemple|center|thumb|600x600px|Where to check the Aura Bow Touch Object Name in SkyTemple]]&lt;br /&gt;
&lt;br /&gt;
=== Aura Reading Panel ===&lt;br /&gt;
Beginning on the lower left of the tab, the Aura Reading Panel consists of 3 ExplorerScript code segments, which play before the blank aura bow fades in, after the aura bow fades in, and if the player lets go of the touch screen too quickly. &lt;br /&gt;
[[File:Aura Reading Panel.png|alt=Location of the Aura Reading Panel.|center|thumb|600x600px|Location of the Aura Reading Panel.]]&lt;br /&gt;
At the very bottom of this panel, there are inputs for dialogue in all 5 languages that will play during the aura reading process. Unlike most text in the quiz, &#039;&#039;&#039;this string must be translated here&#039;&#039;&#039;, as every localization takes a different amount of time to print the dialogue. The length of time the touch screen should have been held for is calculated for each [W:X] text tag, and compared against the actual length of time the touch screen was held. Customizing this text string is possible in the box, so these calculations must be done by the sheet. If your hack is for a US ROM, or will be english-only, disable the &amp;quot;Use EU Strings&amp;quot; Checkbox. &amp;quot;Expected Text Speed (# of chars per frame)&amp;quot; should be the speed your dialogue prints at in SkyTemple. This will ensure that the actual length of the text is properly accounted for in the calculation. &amp;quot;Touch Screen Frame Tolerance&amp;quot; is a grace period for letting go of the bow. This is necessary for certain emulators, damaged touch-screens, failure to account for the dialogue box opening/closing, etc. Feel free to adjust as desired, such that the quiz is possible to complete. &lt;br /&gt;
&lt;br /&gt;
=== Bow Selection Panel ===&lt;br /&gt;
Finally, the Bow Selection Panel handles the actual selection and presentation of the Aura Bow. [[File:Bow Selection Panel.png|alt=Bow Selection Panel Location.|center|thumb|600x600px|Bow Selection Panel Location.]]The upper left of the panel is for assigning weights to the three methods for selecting a bow color: DS Favorite Color, DS MAC Address, or a custom block of code. Note that these weights &#039;&#039;&#039;must be integers&#039;&#039;&#039; or the sheet will generate invalid code. For convenience, the percent chance of each option is computed by the sheet, based on the weights and total weight. The ExplorerScript input for the custom bow selection is on the right of this panel, and on the bottom left is the flavor-text for each bow color. &lt;br /&gt;
&lt;br /&gt;
== Variable Cleanup &amp;amp; End-Cap Generator ==&lt;br /&gt;
This tab of the sheet aims to clean up the bevy of variables used by the quiz, and prep the game for actually running. Since QMT uses a majority of the script variables the game has to function, this tab resets them all back to what they should be at the beginning of a save file, now that the quiz no longer needs them. If some part of the quiz needs to be remembered, such as the color of the aura bow, whether the player has played Time/Darkness, or the winning Quiz personality pool, that needs to be preserved in this tab. In addition, this is the tab where the starters are officially initialized, which allows them to be nicknamed. Finally, the special process for actually assigning the starters, &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;, will wipe &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; clean, replacing it with what the real quiz determined your aura bow color to be. Because the real quiz never runs during QMT, this will always be zero. As a result, the aura bow color needs to be saved somewhere besides &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;, then returned afterwards.  &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
This tab ALSO has an upper panel! The number of pools to clear should ideally match the number of pools in use. &amp;quot;White Space&amp;quot; does the same thing it has up to this point, and the far right output cell is read elsewhere, and only exists for debug purposes.&lt;br /&gt;
[[File:Variable Cleanup &amp;amp; End-Cap Upper Panel.png|alt=Variable Cleanup &amp;amp; End-Cap Upper Panel Location.|center|thumb|600x600px|Variable Cleanup &amp;amp; End-Cap Upper Panel Location.]]&lt;br /&gt;
In the center of the panel are three new checkboxes. &amp;quot;Name Partner?&amp;quot; and &amp;quot;Name Hero?&amp;quot; should be somewhat intuitive, they enable/disable the ExplorerScript inputs for naming the hero and partner respectively, which will be elaborated on below. Finally, &amp;quot;Set $VERSION to 1?&amp;quot; sets the &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt; script variable to 1 at the very end of the script. Without ASM modification, saving the game with this variable as anything besides 1 results in a &amp;quot;corrupt&amp;quot; save file. In the absence of a strong reason otherwise, this box should remain checked.&lt;br /&gt;
&lt;br /&gt;
=== Hero Name, Partner Name, &amp;amp; Closing Remarks ===&lt;br /&gt;
These ExplorerScript Inputs are for... the code used for nicknaming the partner and hero respectively, as well as the last few lines of text before the quiz truly ends.[[File:Hero-Partner-Closing Remarks Input.png|alt=Location of ExplorerScript Code Inputs.|center|thumb|600x600px|Location of ExplorerScript Code Inputs.]]Note that &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; will not function without the dedicated SkyPatch, in the QMT github repo (linked at the top). Additionally, the menus themselves will close any active text-box the instant they are done printing, which is why the hero monologue ends with a &amp;lt;code&amp;gt;[K]&amp;lt;/code&amp;gt;. A &amp;lt;code&amp;gt;message_Close();&amp;lt;/code&amp;gt; would also suffice. Finally, the closing remarks should actually fade out the BGM and screen as desired. Feel free to optimize the fades, there is probably a more efficient way to achieve the right effect. &lt;br /&gt;
&lt;br /&gt;
=== Script Variable Preservation Panel ===&lt;br /&gt;
The Script Variable Preservation Panel serves to determine what information should be preserved after the quiz. By default, only the variables storing the personality pool counts are actually being erased, though certain configurations may require some variables to be kept, and others to be wiped in addition.[[File:Script Variable Preservation Panel.png|alt=Script Variable Preservation Panel Location.|center|thumb|600x600px|Script Variable Preservation Panel Location.]]Beginning at the top, is the &amp;quot;Variable Erasure Blacklist&amp;quot;. Based on other interactions with the sheet, the &amp;quot;Automatic Variables&amp;quot; will fill up automatically, but any script variables specified in this row will be kept as they are at the end of the quiz, and not erased. An example of a manual blacklist example might be &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt;, which doesn&#039;t need a dedicated line of code for erasure if it will ALSO be set to 1 at the end. The next row, &amp;quot;Additional Variables to Erase&amp;quot;, will be added to the list of erased variables if they are not already present. The &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; variables should be erased in addition, as the Driftblim Gondola will interpret these variables as valid station passes to enter. Below that, is the &amp;quot;Variable Transfer Table&amp;quot;. Prior to erasing anything, variables in the &amp;quot;Old Variable Name&amp;quot; column will be moved to the &amp;quot;New Variable Name&amp;quot;. The old variable will be slated for erasure, while the new one will be spared. For convenience, the &amp;quot;Variable Meaning&amp;quot; Tab on the left will autofill one or both of these columns depending on the option you select:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable Meaning&lt;br /&gt;
!Old Variable Name&lt;br /&gt;
!New Variable Name&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Preserve&lt;br /&gt;
|&amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;$LOCAL0&amp;lt;/code&amp;gt;&lt;br /&gt;
|If this Variable Meaning is present, &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; will be restored in post. It&#039;s only purpose is to prevent the quiz from wiping the variable on running  &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Winning Pool&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB7&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the winning Pool ID from the quiz itself. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Winning Points&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB6&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the number of points the winning Pool ID had after the tie-breaking process. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Fuwarante Bit X&lt;br /&gt;
|&amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL[X]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|These correspond directly to the FUWARANTE blacklist, and in this example is used to pass forward the Time/Darkness question to &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt;, the variable responsible for the recruitment rate buff for playing Time/Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|Direct Script Variable&lt;br /&gt;
|Any&lt;br /&gt;
|Any&lt;br /&gt;
|This is an invitation to input whatever script variables are needed, and will adjust the coloration of the row to match. &lt;br /&gt;
|}&lt;br /&gt;
A full list of script variables with their appropriate descriptions will be provided in &amp;quot;Other Resources&amp;quot;, and might prove useful for more advanced tinkering in this panel.&lt;br /&gt;
&lt;br /&gt;
== Full Script Translation ==&lt;br /&gt;
This tab of the sheet is dedicated to translating all lines of dialogue into Spanish, French, German, and Italian, for an EU ROM. If the hack this is for doesn&#039;t need translation, this tab can be completely skipped. One of the most essential features of a translated quiz is the ability to pre-translate the vanilla text strings from the original quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
By default, the left-most checkbox of the upper panel will &amp;quot;activate&amp;quot; this sheet for translation. This may cause lag, and will cause more lag every time a change is made on one of the prior sheets, while enabled. Only begin translating once finished with the quiz, at least in the short term. [[File:Full Script Translation Upper Panel.png|alt=Location of the Full Script Translation Upper Panel.|center|thumb|600x600px|Location of the Full Script Translation Upper Panel.]]The &amp;quot;Auto-Translate Vanilla Strings&amp;quot; check-box will automatically search for and translate exact matches to vanilla Quiz strings. Additional translations can be added in &amp;quot;Vanilla Translation Strings&amp;quot; as needed. If no exact match is found, the translation will be left blank for manual translation. &amp;quot;Auto-Translate Pokemon&amp;quot; similarly will attempt to translate exact matches for dialogue specific to the final species. For example, the English string &amp;lt;code&amp;gt;[R][CN]Will be a [CS:K]Magnemite[CR]![W:60]&amp;lt;/code&amp;gt; will be automatically translated to &amp;lt;code&amp;gt;[R][CN]wird ein [CS:K]Magnetilo[CR]![W:60&amp;lt;/code&amp;gt;] (German), based on Magnemite&#039;s German name and the phrase &amp;quot;wird ein ___!&amp;quot;. This will only occur if the checkbox is enabled, and only for Pokemon names present in &amp;quot;Vanilla Translation Strings&amp;quot;. Finally, the &amp;quot;Trim [S:0] Before Translation&amp;quot; checkbox will remove all &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tags from the dialogue before searching for a match, ensuring that the various &amp;quot;Yes.&amp;quot;, &amp;quot;No.&amp;quot;. &amp;quot;Of Course!&amp;quot;, and &amp;quot;Open it!&amp;quot; are not translated automatically, per their vanilla quiz questions. Regardless of whether this checkbox is enabled, the final script output will not contain the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; tags. &lt;br /&gt;
&lt;br /&gt;
=== String Translation Panel ===&lt;br /&gt;
The string translation panel, on the right of this tab, is where text string translation will actually occur. &lt;br /&gt;
[[File:String Translation Panel.png|alt=Location of String Translation Panel.|center|thumb|600x600px|Location of String Translation Panel.]]&lt;br /&gt;
On the left, are English lines of text extracted from other tabs of the sheet. each column corresponds to an EU language (Spanish, French, German, Italian). At the top of each column, is a count of how many untranslated lines of dialogue are left for that language, as well as a checkbox to enable/disable each language. In the above screenshot, French dialogue will not be added to the final script, because the checkbox is enabled. In the rows themselves, are pink cells (vanilla translated text), green cells (empty), and blue cells (manual translation). Simply review each pink cell, and manually translate the English for that row for green cells so they turn blue. If a pink cell needs editing, simply copy the cell, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; it on top of itself, and it will turn blue, which is safe to edit. &lt;br /&gt;
&lt;br /&gt;
== Vanilla Translation Strings ==&lt;br /&gt;
This tab of the sheet is used to store vanilla strings from the base game, and official Pokemon translations. These can be amended and edited as desired, to include custom strings for auto-translation, or new Pokemon name translations. &lt;br /&gt;
[[File:Vanilla Translation Strings Dialogue.png|alt=Vanilla Translation Strings Dialogue|center|thumb|600x600px|Vanilla Translation Strings Dialogue]]&lt;br /&gt;
This area above contains all relevant vanilla strings, which can be added to or amended as desired, in the green cells in these 5 columns. If a need arises to make changes to the quiz after translation, it is best to move all manually translated lines to this tab, before making any changes. Additionally, the lookup table for Pokemon species names can be modified:&lt;br /&gt;
[[File:Vanilla Translation Strings Species.png|alt=Vanilla Translation Strings Species|center|thumb|452x452px|Vanilla Translation Strings Species]]&lt;br /&gt;
On the far right of the tab, are a list of every Pokemon through Scarlet &amp;amp; Violet, and the French/German translations for each species (Spanish and Italian use English species names). These can also be amended or added to as desired. &lt;br /&gt;
&lt;br /&gt;
== Full Script Compression ==&lt;br /&gt;
Last but not least, is the Full Script Compression Tab. This tab compiles all of the information from the other tabs, and compresses it into a copy/pastable batch of scripts for SkyTemple. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
There are a handful of settings in this upper panel. &amp;quot;White Space&amp;quot; is as it has been for every prior tab, but that&#039;s the only returning input.&lt;br /&gt;
[[File:Full Script Compression Upper Panel.png|alt=Full Script Compression Upper Panel Location.|center|thumb|600x600px|Full Script Compression Upper Panel Location.]]&lt;br /&gt;
&amp;quot;Use Full MegaScript&amp;quot; will compile the entire quiz into one script. This is only possible for English-only quizzes, and is only advised for quizzes with few questions and fewer starter choices. &amp;quot;Use Translated Scripts?&amp;quot; will use the outputs from Full Script Translation, which will be empty if the sheet is not active. Disable this checkbox for English-only quizzes. &amp;quot;Generate Unionall CORO&amp;quot; will create the unionall code needed to run the quiz, for a copy and paste replacement for the existing &amp;lt;code&amp;gt;CORO EVENT_M00A_01&amp;lt;/code&amp;gt; coroutine. The &amp;quot;Script File LEVEL Name&amp;quot; should reflect the location of the map LEVEL &amp;quot;folder&amp;quot; that the script file will actually be under. The &amp;quot;Script File SCRIPT Name&amp;quot; should become the name of the acting script itself, and should be 8 alphanumerical characters or fewer (not case-sensitive). Finally, the &amp;quot;Sector Param.&amp;quot; is the sector parameter of the &amp;lt;code&amp;gt;supervision_ExecuteActingSub();&amp;lt;/code&amp;gt; [[List of Opcodes#0x12d - supervision ExecuteActingSub|Opcode]]. Generally this should be zero, though none of these scripts internally utilize the sector parameter, should it be of interest for customization.&lt;br /&gt;
&lt;br /&gt;
=== SkyTemple Script Outputs ===&lt;br /&gt;
This portion of the sheet consists of outputs to SkyTemple. Unlike most output cells thus far, these are actually intended for use!&lt;br /&gt;
[[File:SkyTemple Script Outputs.png|alt=SkyTemple Script Outputs Location.|center|thumb|600x600px|SkyTemple Script Outputs Location.]]&lt;br /&gt;
The intended places for each of these outputs will be described in &amp;quot;Importing The Scripts To SkyTemple&amp;quot;, but when copying a script, be sure to copy all cells in the box with text.&lt;br /&gt;
&lt;br /&gt;
== Importing The Scripts To SkyTemple ==&lt;br /&gt;
Now for the fun part! Actually applying everything to SkyTemple, and seeing the quiz actually play out. This section will briefly cover installation of SkyPatches and Special Processes, though more generalized guides for these things are or will be available. First though, prior installation of StarterMenuTool will change some of these steps. &lt;br /&gt;
=== Converting From StarterMenuTool ===&lt;br /&gt;
There are very few differences between starting fresh and converting from StarterMenuTool. The differences are as follows:&lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu is Applied: Since the SkyPatch is already applied, it does not need to be applied again. It can be reapplied without issue, though it already exists in the ROM.&lt;br /&gt;
* Existing Special Processes: Older versions of &amp;lt;code&amp;gt;starter_setter&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; were added via StarterMenuTool. These may function as intended for QMT, especially &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; which has seen zero change between the two tools, but it is recommended to update them by replacing them, or to use new slots for the QMT SPs.&lt;br /&gt;
* Existing Acting Script: StarterMenuTool takes the same approach as QMT in creating a new acting scene for the quiz itself. This existing script can be repurposed into one of the QMT acting scripts, though with SkyTemple alone it cannot be renamed, meaning the script name it will be used for in the Full Script Compression Upper Panel must be renamed.&lt;br /&gt;
* Edit to Vanilla Quiz: StarterMenuTool modifies the original quiz script m00a01a.ssb. While these changes have no net impact on QMT, it would impact the debug mode, as the code to create a team from the default starters has been removed. If this functionality needs to be restored, simply add the following line after &amp;quot;if ( debug ) {&amp;quot; in m00a01a.ssb:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;switch ( ProcessSpecial(PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ, 0, 0) ) { }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Existing Unionall Edit: StarterMenuTool also requires the modification of &amp;lt;code&amp;gt;coro EVENT_M00A_01&amp;lt;/code&amp;gt;. QuizMenuTool will require this coroutine to be edited to run m00a01a in debug mode, and the QMT scripts otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Installing the SkyPatches ===&lt;br /&gt;
In order for QuizMenuTool to function, the following SkyPatches must be applied. &lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu: Gives &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; the ability to actually nickname the partner. Requires ExtraSpace as a pre-requisite.&lt;br /&gt;
* ExtractSPCode: Enables the use of custom Special Processes used heavily by QMT.&lt;br /&gt;
&lt;br /&gt;
Installing FixPartnerNameMenu is relatively simple. After downloading the file from the github repo, navigate to &amp;lt;code&amp;gt;Patches -&amp;gt; ASM&amp;lt;/code&amp;gt; in SkyTemple. Then, click the &amp;quot;Open Patch Directory&amp;quot; button.&lt;br /&gt;
[[File:InstallFixPartnerNamePatch.png|alt=The &amp;quot;Open Patch Folder&amp;quot; button is on the bottom left.|center|thumb|600x600px|The &amp;quot;Open Patch Directory&amp;quot; button is on the bottom left.]]&lt;br /&gt;
Finally, drag &amp;lt;code&amp;gt;FixPartnerName.skypatch&amp;lt;/code&amp;gt; into the folder, and close it. The patch will now be in the &amp;quot;Others&amp;quot; Tab, ready for installation. If ExtraSpace is not installed, SkyTemple will prompt the installation of both patches sequentially. This is good, do that. &lt;br /&gt;
&lt;br /&gt;
Next, is the installation of ExtractSPCode. Once again, navigate to &amp;lt;code&amp;gt;Patches-&amp;gt;ASM&amp;lt;/code&amp;gt;, and select the &amp;quot;Utility&amp;quot; tab. Install ExtractSPCode, and any necessary pre-requisites (there shouldn&#039;t be any, except maybe ExtraSpace). &lt;br /&gt;
[[File:ExtractSPCode.png|alt=ExtractSPCode Location|center|thumb|600x600px|ExtractSPCode Location]]&lt;br /&gt;
&lt;br /&gt;
=== Applying The Special Processes ===&lt;br /&gt;
Now for installing the Special Processes themselves. If the hack already has custom Special Processes it wishes to keep, or the IDs of the special processes in the sheet have been changed, apply the SPs as desired, but ensure the sheet has accurate IDs (NOT Effects), so it can call them. For simplicity, these are the default locations of each SP:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Spreadsheet Tab&lt;br /&gt;
!Spreadsheet Input Name&lt;br /&gt;
!SP File Name&lt;br /&gt;
!ID&lt;br /&gt;
!Effect&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|starter_setter SP ID&lt;br /&gt;
|starter_setter.asm&lt;br /&gt;
|64&lt;br /&gt;
|61&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|set_frame_color SP ID&lt;br /&gt;
|set_frame_color.asm&lt;br /&gt;
|65&lt;br /&gt;
|62&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|CheckTSPress SP ID&lt;br /&gt;
|CheckTSPress.asm&lt;br /&gt;
|66&lt;br /&gt;
|63&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|ReturnTSPFrames SP ID&lt;br /&gt;
|ReturnTSPFrames.asm&lt;br /&gt;
|67&lt;br /&gt;
|64&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|MoveText2TopScreen SP ID&lt;br /&gt;
|MoveText2TopScreen.asm&lt;br /&gt;
|68&lt;br /&gt;
|65&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|Set_Demo_Character SP ID&lt;br /&gt;
|Set_Demo_Character.asm&lt;br /&gt;
|69&lt;br /&gt;
|66&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|get_favorite_config_color SP ID&lt;br /&gt;
|get_favorite_config_color.asm&lt;br /&gt;
|70&lt;br /&gt;
|67&lt;br /&gt;
|}&lt;br /&gt;
Ensure that you download the correct set of special processes for your version of the ROM (US or EU). Next, navigate to                       &amp;lt;code&amp;gt;Patches-&amp;gt;ASM-&amp;gt;Special Processes&amp;lt;/code&amp;gt;, and click the &amp;quot;Add Special Process&amp;quot; button until enough IDs are in the list for each new Special Process.&lt;br /&gt;
[[File:How2AddSpecialProcesses1.png|alt=The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.|center|thumb|600x600px|The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.]]&lt;br /&gt;
The list should look like it does in the image when done. With that completed, navigate to the &amp;quot;Effects Code&amp;quot; tab. Click the &amp;quot;+&amp;quot; Button to create a new effect. Then, click the &amp;quot;Import Code&amp;quot; button at the bottom to select the special process to be imported to this effect.&lt;br /&gt;
[[File:How2AddSpecialProcesses2.png|center|thumb|600x600px|Clicking the &amp;quot;+&amp;quot; Button adds a new effect. Each new effect must have the correct .asm file imported into it, as specified in the table.]]&lt;br /&gt;
In the above image, Special Process &amp;lt;code&amp;gt;starter_setter.asm&amp;lt;/code&amp;gt; is being imported to Effect 61, which corresponds to ID 64. Similarly, &amp;lt;code&amp;gt;set_frame_color.asm&amp;lt;/code&amp;gt; should be imported to Effect 62 (ID 65), &amp;lt;code&amp;gt;CheckTSPress.asm&amp;lt;/code&amp;gt; should be imported to Effect 63, etc.&lt;br /&gt;
&lt;br /&gt;
Once all the necessary Special Processes have been imported to their effects, the last thing that needs to be done is assigning the effects to their IDs. Navigating back to the &amp;quot;Special Process Effects&amp;quot; tab, assign each effect to the correct ID, as shown below:&lt;br /&gt;
[[File:How2AddSpecialProcesses3.png|alt=Simply clicking on the effect cell will allow it to be edited.|center|thumb|600x600px|Simply clicking on the effect cell will allow it to be edited.]]&lt;br /&gt;
With that, SP importing is complete, and all that remains is to save the ROM.&lt;br /&gt;
&lt;br /&gt;
=== Creating QMT Script Files ===&lt;br /&gt;
Next, is the process of actually creating the QMT script files. For simplicity, this guide will demonstrate the process on LEVEL_S02P01A, the same location in the script files as the original quiz. If you plan on putting the QMT script files elsewhere, ensure this is properly accounted for in Full Script Compression. Navigate to Script Scenes-&amp;gt;S02P01A. If you are using a MegaScript, create ONE new acting scene. Otherwise, create four of them, each with the name in FullScriptCompression.&lt;br /&gt;
[[File:ImportingQMTScriptFiles1.png|alt=Be sure you click &amp;quot;Create Acting Scene&amp;quot;! It is important that these scripts are acting scenes.|center|thumb|600x600px|Be sure you click &amp;quot;Create Acting Scene&amp;quot;! It is important that these scripts are acting scenes.]]&lt;br /&gt;
The newly created scenes should appear in the Acting (ssa) folder. Navigate to the first one created, and double-click on &amp;quot;[script-name].ssb&amp;quot;.&lt;br /&gt;
[[File:ImportingQMTScriptFiles2.png|alt=In this case, &amp;quot;qmt01.ssb&amp;quot; on the right will open the script file&#039;s &amp;quot;ssb&amp;quot; code.|center|thumb|600x600px|In this case, &amp;quot;qmt01.ssb&amp;quot; on the right will open the script file&#039;s &amp;quot;ssb&amp;quot; code.]]&lt;br /&gt;
&lt;br /&gt;
From there, simply paste from the respective part of the sheet, and attempt to save the script.&lt;br /&gt;
[[File:ImportingQMTScriptFiles3.png|center|thumb|600x600px|You can also navigate between script files with the search bar on the left!]]&lt;br /&gt;
&lt;br /&gt;
Repeat the process of pasting in the remaining scripts. Finally, the script that contains the aura bow segment of the quiz (script #2 or the megascript) needs additional work done to the .ssa file. Navigate to S02P01A-&amp;gt;M00A01A, and click the Export Button (square with an up arrow in it).&lt;br /&gt;
[[File:Export Quiz .ssa.png|alt=Visual for exporting the .ssa for M00A01A for QuizMenuTool|center|thumb|600x600px|The Export Button is up top!]]&lt;br /&gt;
Then just import this file into the script containing the Aura Bow segment, as shown below:&lt;br /&gt;
[[File:Aura Bow SSA import.png|center|thumb|600x600px|The Export Button is right next to the Import button!]]&lt;br /&gt;
After that, save the ROM. The quiz is nearly ready, all that&#039;s left is setting up unionall...&lt;br /&gt;
&lt;br /&gt;
=== Editing Unionall ===&lt;br /&gt;
Unionall is a big file, but there&#039;s only a very specific part that needs to be edited. Open Unionall by using the search bar in the Script Engine Debugger, then do CTRL + F (Command + F for Mac, you should know your equivalent if you use Linux) to find coroutine inside unionall.&lt;br /&gt;
[[File:Unionall coro EVENT M00A 01.png|center|thumb|600x600px|Be sure you search for EXACTLY &amp;quot;coro EVENT_M00A_01&amp;quot;. This should be the only match!]]&lt;br /&gt;
Once you find it, select the entire coroutine, and replace it with the unionall final output. the result should look something like this:&lt;br /&gt;
[[File:QMT coro EVENT M00A 01.png|center|thumb|600x600px|Modified Unionall Coroutine, should look roughly like this after pasting.]]&lt;br /&gt;
With that, save unionall, and the quiz is ready for testing! &lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
if you run into any of these issues, or the fix doesn&#039;t work, reach out to happylappy for questions in the SkyTemple discord!&lt;br /&gt;
&lt;br /&gt;
=== The Game Crashed before the first script loaded! ===&lt;br /&gt;
Do your script names and locations match between unionall (or the sheet if it&#039;s making the unionall coro), and your script file names? If not, that would cause a crash. &lt;br /&gt;
&lt;br /&gt;
=== The Game Crashed When a SP tried to run! ===&lt;br /&gt;
Have you used the correct SP IDs and regions? Might be worth importing them again, just in case.&lt;br /&gt;
&lt;br /&gt;
=== The Game Crashed/Glitched out between scripts! ===&lt;br /&gt;
That is... concerning. See, script files are capable of overwriting other things in RAM if they&#039;re too big (which is why QMT usually splits into 4 separate scripts). Quizzes with an obscene number of questions or starters may still overwrite something important in RAM anyway, which would need to be handled on a case-by-case basis.&lt;br /&gt;
&lt;br /&gt;
=== One of my scripts won&#039;t save! ===&lt;br /&gt;
That&#039;s concerning, but could be the result of leaving a question or starter unfinished? Depends heavily on the error message.&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
&lt;br /&gt;
=== QMT Script Variable Map ===&lt;br /&gt;
Below is a table of every script variable used by QuizMenuTool, and what their use-case is for each script. Any variable absent from the table is unused by QMT directly. Variable usage can perhaps be optimized somewhat, but this map functions properly.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Script Variable Name&lt;br /&gt;
!Index&lt;br /&gt;
!Script #1&lt;br /&gt;
!Script #2&lt;br /&gt;
!Script #3&lt;br /&gt;
!Script #4&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB1&lt;br /&gt;
|0&lt;br /&gt;
|Backup of Pre-Quiz $PLAYER_KIND&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning # of Points Backup&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB2&lt;br /&gt;
|0&lt;br /&gt;
|Backup of 0th index of Pre-Quiz $PLAYER_KIND_BACKUP&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning Pool ID Backup&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB3&lt;br /&gt;
|0&lt;br /&gt;
|Backup of Pre-Quiz $ATTENDANT1_KIND&lt;br /&gt;
| -&lt;br /&gt;
|# of times hero gen. failed&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB4&lt;br /&gt;
|0&lt;br /&gt;
|Backup of 0th index of Pre-Quiz $ATTENDANT1_KIND_BACKUP&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|$BIT_FUWARANTE_LOCAL&lt;br /&gt;
|All&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |FUWARANTE blacklist flags&lt;br /&gt;
|-&lt;br /&gt;
|$LOCAL0&lt;br /&gt;
| -&lt;br /&gt;
|Max # of points.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning # of Points / (Aura Bow Color Backup)&lt;br /&gt;
|-&lt;br /&gt;
|$LOCAL1&lt;br /&gt;
| -&lt;br /&gt;
|# Questions Asked / Winning Pool ID&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning Pool ID&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_TALK_BIT_FLAG&lt;br /&gt;
|Varies&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |Question Has Been Asked?&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |# of tied pools (-1 if not checking ties)&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SIDE&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |# of pts to add to tied pool&lt;br /&gt;
|-&lt;br /&gt;
|$RECYCLE_COUNT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |Post-Tie Max # of Pts.&lt;br /&gt;
|-&lt;br /&gt;
|$CONFIG_COLOR_KIND&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Aura Bow Color&lt;br /&gt;
|-&lt;br /&gt;
|$HERO_TALK_KIND&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; |Hero Talk Group&lt;br /&gt;
|-&lt;br /&gt;
|$PARTNER_TALK_KIND&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Partner Talk Group&lt;br /&gt;
|-&lt;br /&gt;
|$VERSION&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 0 Pts.&lt;br /&gt;
|Reset to 1&lt;br /&gt;
|-&lt;br /&gt;
|$CRYSTAL_COLOR_01&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 1 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$CRYSTAL_COLOR_02&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 2 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$CRYSTAL_COLOR_03&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 3 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$COMPULSORY_SAVE_POINT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 4 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$COMPULSORY_SAVE_POINT_SIDE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 5 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SELECT_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 6 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 7 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER_LINK&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 8 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_GETOUT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 9 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_MAP&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 10 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_PLACE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 11 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 12 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER_LINK_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 13 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_GETOUT_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 14 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_MAP_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 15 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_PLACE_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 16 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_SELECT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 17 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 18 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_MODE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 19 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_INDEX&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 20 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_RESULT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 21 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_START_MODE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 22 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 23 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_MODE_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 24 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_INDEX_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 25 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_RESULT_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 26 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_START_MODE_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 27 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$REQUEST_CLEAR_COUNT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 28 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PLAYER_KIND&lt;br /&gt;
| -&lt;br /&gt;
|Pool 29 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT1_KIND&lt;br /&gt;
| -&lt;br /&gt;
|Pool 30 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT2_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 31 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PLAYER_KIND_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
|Pool 32 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT1_KIND_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
|Pool 33 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT2_KIND_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 34 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$HERO_FIRST_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 35 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PARTNER_FIRST_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 36 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$RANDOM_REQUEST_NPC03_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 37 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$WORLD_MAP_LEVEL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 38 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$EVENT_LOCAL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 39 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_EVENT_LOCAL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 40 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$LOTTERY_RESULT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 41 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 42 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP_KUREKURE&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 43 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP_TAKE&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 44 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP_GET&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 45 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$REQUEST_THANKS_RESULT_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 46 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$REQUEST_THANKS_RESULT_VARIATION&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 47 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$SUB30_SPOT_LEVEL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 48 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$TEAM_RANK_EVENT_LEVEL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 49 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PLAY_OLD_GAME&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 50 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1209</id>
		<title>QuizMenuTool Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1209"/>
		<updated>2025-08-11T00:04:54Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* About Question Templates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;{{SkyTempleIcon|icon=skytemple-dialog-error-symbolic}} This article is unfinished. You can help &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:{{PAGENAME}}|veaction=edit}} expanding it]&amp;lt;/span&amp;gt;.&#039;&#039;&amp;lt;hr&amp;gt;This guide explains how to use QuizMenuTool to create a custom Personality Quiz. The bulk of this guide will explain the use of the google sheets portion of the tool. A rudimentary understanding of SkyTemple scripting is helpful for this task, but not strictly required. These topics will be covered at the end for the sake of completion, but only to the extent that they are needed for QuizMenuTool. &lt;br /&gt;
&lt;br /&gt;
== About QuizMenuTool ==&lt;br /&gt;
&lt;br /&gt;
=== What Is QuizMenuTool? ===&lt;br /&gt;
QuizMenuTool is a customizable ExplorerScript replica of the Explorers of Sky Personality Quiz and Starter Selection, with minimal hardcoded aspects. The original quiz was designed to consist mostly of &amp;lt;code&amp;gt;message_Menu()&amp;lt;/code&amp;gt; ASM, to make editing the personality quiz accessible without the need to learn ASM. &lt;br /&gt;
&lt;br /&gt;
=== What can QuizMenuTool do? ===&lt;br /&gt;
QuizMenuTool can modify the process of using the quiz to select a starter, expand/reduce the starter list, add/remove/modify questions from the quiz, and much more! In fact, the better question might be...&lt;br /&gt;
&lt;br /&gt;
=== What Limitations does QuizMenuTool have? ===&lt;br /&gt;
There are a few critical things QuizMenuTool was not designed to do, though many of these could be remedied in the future if enough demand exists. Here&#039;s a list of what QuizMenuTool fails to replicate from the vanilla quiz:&lt;br /&gt;
&lt;br /&gt;
* Hero/Partner Type Exclusion: In the vanilla quiz, the hero and partner are prevented from sharing a type, to encourage team balance. No   option for such a restriction has been implemented yet, though such a thing would be possible in the future, or be scripted manually for a specific hack. &lt;br /&gt;
* SwitchMenu Portraits: In the vanilla quiz, scrolling to a partner choice displays a portrait of that partner, which gradually changes in expression. This feature would require significant custom code to emulate, and is unlikely to be available for QuizMenuTool.&lt;br /&gt;
* Third Party Starter Tweaks: The original starter list is &#039;&#039;&#039;completely unused&#039;&#039;&#039; by QuizMenuTool. Changing it has no impact on the quiz. Players of a hack using QuizMenuTool will have difficulty adding their own starters to the game, though this could potentially be remedied with a special process checking the starter list against what it is expected to be, and assigning the desired starter if a mismatch is found?&lt;br /&gt;
* Incompatibility with Japanese ROMs: Currently, QuizMenuTool is designed to only work for NA and EU ROMs. while in theory a Japanese Quiz could be designed, the Special Processes are not Japanese-compatible. This could be remedied with little effort, but the tool is designed for EU/NA ROMs.&lt;br /&gt;
&lt;br /&gt;
== Who QuizMenuTool is for ==&lt;br /&gt;
If either of the below points do not apply to you, you do not need QuizMenuTool.&lt;br /&gt;
* You would like to expand (or shrink) the list of starter options in the game.&lt;br /&gt;
* You would like to keep the personality quiz in the game, or edit the quiz directly.&lt;br /&gt;
If you only want to change the size of the starter list, and do not want the personality quiz (as if the [[SkipQuiz]] patch is applied), you should instead use [https://github.com/Chesyon/StarterMenuTool StarterMenuTool], which is less powerful but requires much less work to set up.&lt;br /&gt;
&lt;br /&gt;
== Programs and Files ==&lt;br /&gt;
&lt;br /&gt;
=== Required Programs and Files ===&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1snwIq3-GHntcPTBwH-TJ5Ctk0a8l4pwXTZYwCs53dwo/edit?usp=sharing Explorers of Sky Personality Quiz Assembling Sheet]&lt;br /&gt;
* [https://github.com/HappyLappy1/EOS-QuizGenerationTool-ASM Necessary Special Processes and SkyPatches]&lt;br /&gt;
* [[SkyTemple]] &lt;br /&gt;
&lt;br /&gt;
== General Spreadsheet Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Making a Copy of the Sheet ===&lt;br /&gt;
The above link does NOT grant edit access. In order to use the sheet, a copy will need to be made as follows:&lt;br /&gt;
[[File:Copying a Spreadsheet.png|thumb|750x750px|Location of the &amp;quot;File&amp;quot; and &amp;quot;Make a Copy&amp;quot; buttons. |center]]&lt;br /&gt;
First click the &amp;quot;File&amp;quot; button on the top left. Next, &amp;quot;Make a Copy&amp;quot; of the sheet. Finally, name the copy as desired. &lt;br /&gt;
&lt;br /&gt;
=== Cell Color-Coding ===&lt;br /&gt;
Throughout the spreadsheet, most cells are color-coded. Here&#039;s a brief explanation of each color present in the sheet: &lt;br /&gt;
&lt;br /&gt;
* Green Cells are for user input. If a cell is green, it is intended to contain input data.&lt;br /&gt;
* Grey Cells contain formulas. They will update automatically, and should not be edited.&lt;br /&gt;
* Orange Cells are for user outputs. If a cell is orange, it is intended to be exported elsewhere, such as to a SkyTemple script.&lt;br /&gt;
* Cells without a color or of an unspecified color are typically safe to edit. Always check for a formula first though!&lt;br /&gt;
&lt;br /&gt;
=== Paste Values Only ===&lt;br /&gt;
This tab is the first which will require the use of &amp;quot;Paste Values&amp;quot;. When this guide specifies that a copy/paste must &amp;quot;Paste Values&amp;quot;, this means that the copied text is a formula, and the pasted text should not be a formula. &lt;br /&gt;
[[File:How To Paste Values.png|alt=Depiction of the &amp;quot;Values Only&amp;quot; button in the menu|center|thumb|600x600px|Depiction of the &amp;quot;Values Only&amp;quot; button in the menu]]&lt;br /&gt;
There are two ways to paste values, either by right-clicking the paste location and selecting &amp;quot;Paste Special&amp;quot; then &amp;quot;Values Only&amp;quot;, or by holding shift as you paste. &lt;br /&gt;
&lt;br /&gt;
== Quiz Preamble Generator ==&lt;br /&gt;
The Quiz Preamble Generator Tab as a whole exists to create the very beginning of the quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
Most tabs in the sheet contain an upper panel of some kind, with various simple inputs and feedback on them:&lt;br /&gt;
[[File:Preamble Upper Panel.png|alt=Location of the Quiz Preamble Generator&#039;s Upper Panel.|center|thumb|750x750px|Location of the Quiz Preamble Generator&#039;s Upper Panel.]]&lt;br /&gt;
The &amp;quot;Bottom Screen&amp;quot; and &amp;quot;Top Screen&amp;quot; inputs are the map ID that should be used for that screen&#039;s background. Similarly, the Background Music Name/ID is a BGM name (or number) of the BGM that should play throughout the quiz. The &amp;quot;White Space?&amp;quot; checkbox will attempt to add indents to the output ExplorerScript lines, making the output script more human-readable.&lt;br /&gt;
&lt;br /&gt;
=== Preamble Text ===&lt;br /&gt;
This is the first of many direct inputs for ExplorerScript code. Due to the way spreadsheets store cell data, &amp;quot; &amp;quot; behave weirdly when present in the final script. Please use &#039; &#039; instead. This input is for the first set of dialogue before the questions actually begin. &lt;br /&gt;
[[File:Quiz Preamble Location.png|alt=Location of the Quiz Preamble Inputs|center|thumb|600x600px|Location of the Quiz Preamble Inputs]]&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
The orange output cell on this sheet is largely unimportant, but is present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Starter Selection Generator ==&lt;br /&gt;
This tab of the sheet is primarily for inputting data about the starters, or the personality pools they belong to. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
[[File:Starter Selection Upper Panel.png|alt=The Upper Panel for the &amp;quot;Starter Selection Generator&amp;quot; Tab|thumb|750x750px|Location of the &amp;quot;Upper Panel&amp;quot; for the &amp;quot;Starter Selection Generator&amp;quot; Tab|center]]This upper panel contains 4 inputs, 3 of which are for Special Processes pertaining to starter selection. If other Special Processes have already been added, these Special Process IDs will need to be changed to free slots. The &amp;quot;White Space?&amp;quot; checkbox is the same as before, except for this tab of the sheet. The 4 grey cells are useful statistics about the input starters: how many different pools are used by the starters, how many species are present, and how many options there are for the hero and partner. &lt;br /&gt;
&lt;br /&gt;
=== Personality Pool Input ===&lt;br /&gt;
Next, on the lower right is the nature &amp;quot;Pool&amp;quot; input. These contain the pool name, and the text that should be displayed if that pool is selected by the quiz. &lt;br /&gt;
[[File:Personality Pools Input.png|alt=Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names and descriptions go.|center|thumb|450x450px|Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names/descriptions go.]]&lt;br /&gt;
The &amp;quot;Pool Name&amp;quot; field is only used by the Question Generator Tab, and will not show up anywhere in the final script. Modify these as desired as soon as possible, as it will be difficult to do so after designing the quiz questions. &#039;&#039;&#039;For best results, ensure all pool names are unique!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Starter Species Data ===&lt;br /&gt;
The bottom left segment of the sheet is the &amp;quot;Starter Species Data&amp;quot; input. This is part of a wider table, but each segment will be discussed individually. &lt;br /&gt;
[[File:Starter Species Data Location.png|alt=Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.|center|thumb|750x750px|Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.]]&lt;br /&gt;
While some of these fields should be intuitive, A brief description of each column is as follows:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Species Name:&#039;&#039;&#039; The name of the species as you want it shown in the quiz. If the cell turns purple on entering a species name, this means the Pokémon could not be found in &#039;&#039;&#039;Vanilla Translation Strings&#039;&#039;&#039;. French and German Translations will need to be added by hand, or all strings involving the Pokémon will need to be translated manually.&lt;br /&gt;
* &#039;&#039;&#039;Species ID:&#039;&#039;&#039; The ID in SkyTemple of the Pokémon. &#039;&#039;&#039;[TODO: Explain how this is affected by ExpandPokeList]&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Gender:&#039;&#039;&#039; The gender of the Pokémon, used to set the frame color, and to add &amp;quot;♂&amp;quot; and &amp;quot;♀&amp;quot; to the hero/partner selection list. 0 is Male, 1 is Female, and 2 is Genderless.&lt;br /&gt;
* &#039;&#039;&#039;Pool ID:&#039;&#039;&#039; The number of the Pool the Pokémon should be categorized under. Each Pool that could be chosen by the Quiz should have at least one valid Pokémon, or Bulbasaur will be selected as a failsafe. &#039;&#039;&#039;If the species are not sorted by Pool ID, cells will turn red. The sheet will produce invalid labels if this table is not sorted by Pool ID!&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Start w/ Vowel:&#039;&#039;&#039; If the Pokémon should be referred to as &amp;quot;...an [Pokémon]&amp;quot;, check this box.&lt;br /&gt;
&lt;br /&gt;
=== Talk Group &amp;amp; Role Exclusion ===&lt;br /&gt;
Continuing along the table, the next two subsections are for &amp;quot;Talk Groups&amp;quot; and &amp;quot;Role Exclusion&amp;quot;. Both of these segments relate to either the hero, or the partner.&lt;br /&gt;
[[File:Talk Groups and Role Exclusion.png|alt=Location of Talk Group and Role Exclusion Inputs|center|thumb|300x300px|Location of Talk Group and Role Exclusion Inputs]]&lt;br /&gt;
In the vanilla game, the hero and partner have differing dialogue depending on their species-specific &amp;quot;Talk Group&amp;quot;. These columns are dedicated to assigning the talk group for the hero or partner if that row&#039;s species is chosen. While it handles pronouns for dialogue, especially in gendered languages, it also affects the way the partner&#039;s dialogue is written. It does the same for the hero&#039;s dialogue, but in the English localization it only affects 2 lines in the entire game (&amp;quot;Whoa&amp;quot; &amp;lt;-&amp;gt; &amp;quot;Wah&amp;quot;, &amp;quot;All right&amp;quot; &amp;lt;-&amp;gt; &amp;quot;OK&amp;quot;). This is how they are used in vanilla:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Explorers of Sky Talk Groups&lt;br /&gt;
!#&lt;br /&gt;
!Used By&lt;br /&gt;
!Notable Species&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Partner&lt;br /&gt;
|Male Squirtle/Totodile/Chimchar/Meowth/Munchlax&lt;br /&gt;
|More Masculine/&amp;quot;Rural&amp;quot; Dialogue. (Refers to self as &amp;quot;Oira&amp;quot; in Japanese) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Partner&lt;br /&gt;
|All other Male Pokémon&lt;br /&gt;
|More Masculine/&amp;quot;Boyish&amp;quot; Dialogue. (Refers to self as &amp;quot;Boku&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Partner&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|More Feminine Dialogue. (Refers to self as &amp;quot;Watashi&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Hero&lt;br /&gt;
|All Male/Genderless Pokémon&lt;br /&gt;
|Uses Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Hero&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|Uses Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;Role Exclusion&amp;quot; checkboxes blacklist the row from being an option as a hero or as a partner respectively. Certain Pokémon, particularly Meowth and Munchlax, are unable to be heroes in the vanilla game. This section is how to replicate that feature of the original quiz.&lt;br /&gt;
&lt;br /&gt;
=== Fuwarante Blacklist ===&lt;br /&gt;
Finally, on the far end of the table, is the Fuwarante Blacklist inputs. These are perhaps the most complicated portion of this tab of the sheet.[[File:Fuwarante Blacklist.png|alt=Location of the Fuwarante Blacklist|center|thumb|300x300px|Location of the Fuwarante Blacklist]]Each column corresponds to a bit of the script variable &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt;. If the matching flag is on, the starter in that row &#039;&#039;&#039;cannot&#039;&#039;&#039; be chosen. This will be elaborated on further in the &amp;quot;Question Loop Generator&amp;quot;, but this is a brief explanation of what the bits represent by default:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Bit&lt;br /&gt;
!Description/Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|If enabled, &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt; will be true, meaning the player answered that they have played Time/Darkness before.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|If enabled, the player has played EoS before, according to a custom starting question.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|If enabled, the player has participated in a Mystery Mail event before, according to a custom ending question.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|If enabled, the player claimed to be female in the final gender question. Enable for &#039;&#039;&#039;male&#039;&#039;&#039; starters.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|If enabled, the player claimed to be male in the final gender question. Enable for &#039;&#039;&#039;female&#039;&#039;&#039; starters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
Once again, the orange output cells on the far right of this sheet are largely unimportant, but are present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Question Loop Generator ==&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The upper panel of this sheet mostly consists of inputs, though the single output is a reminder of how many unique pools are used by the Starter Selection Generator. The input directly left of it is for telling the Question Loop Generator how many pools are in use, and should be changed to match the display. On the upper left of the panel, there are inputs for how many questions the game should ask the player, and how many questions will be written for the quiz to randomly choose from. In vanilla, there are 64 possible questions, and 8 will be given to the player.&lt;br /&gt;
[[File:Question Loop Generator Upper Panel.png|alt=Location of the Upper Panel of the Question Loop Generator|center|thumb|750x750px|Location of the Upper Panel of the Question Loop Generator]]&lt;br /&gt;
The bottom row consists of checkboxes to enable/disable the Custom/Standard First and Last Questions, such as the Gender Question and the Time/Darkness Question, which boosts recruit rates for certain species if you answer yes, and adds points to certain pools containing sky-exclusive Pokémon. &lt;br /&gt;
&lt;br /&gt;
=== ExplorerScript Pre/Post Quiz Questions ===&lt;br /&gt;
Room for an additional question before and after the quiz has also been made, which along with the Gender and Time/Darkness questions can be modified in the below ExplorerScript inputs:&lt;br /&gt;
[[File:Question Loop Generator ExplorerScript Inputs.png|alt=Location of the ExplorerScript Inputs|center|thumb|600x600px|Location of the ExplorerScript Inputs]]&lt;br /&gt;
These are the primary use-cases for the Fuwarante Blacklist described above. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag will be explained in further detail below. &lt;br /&gt;
&lt;br /&gt;
== Question Generator ==&lt;br /&gt;
Note: The &amp;quot;Yes.&amp;quot; and &amp;quot;No.&amp;quot; options have the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag after them. This does functionally nothing, and exists primarily to aid in automatic string translation, as the localization teams translated the same English responses for questions differently based on context. This will be elaborated on further in &amp;quot;Full Script Translation&amp;quot;. If there are no plans to use the sheet&#039;s translation features, it is safe to remove any variants of &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt;. (instructions to do so in SkyTemple directly are present below).&lt;br /&gt;
&lt;br /&gt;
=== About Question Templates ===&lt;br /&gt;
This tab of the sheet is dedicated to the design and storage of the individual random questions in the quiz. The way this sheet works revolves   around &amp;quot;Question Templates&amp;quot; that store the question text, question number, answer text, pool ID, and points for that pool ID. Below is an example of a Question Template, and how it translates to question data: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Do you prefer to be busy or have\na lot of free time?^35 |&amp;lt;code&amp;gt;Being busy.^11^4^8^2|Free time!^9^4|In between.^12^4&amp;lt;/code&amp;gt;&lt;br /&gt;
!Question Text&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; |Question #&lt;br /&gt;
|-&lt;br /&gt;
|Do you prefer to be busy or to have a lot of free time?&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; |35&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |Answer Text&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 2&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 3&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 4&lt;br /&gt;
|-&lt;br /&gt;
!ID&lt;br /&gt;
!Points&lt;br /&gt;
!ID&lt;br /&gt;
!Points&lt;br /&gt;
!ID&lt;br /&gt;
!Points&lt;br /&gt;
!ID&lt;br /&gt;
!Points&lt;br /&gt;
|-&lt;br /&gt;
|Being busy.&lt;br /&gt;
|11&lt;br /&gt;
|4&lt;br /&gt;
|8&lt;br /&gt;
|2&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Free time!&lt;br /&gt;
|9&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|In between.&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Question Template Input ===&lt;br /&gt;
&lt;br /&gt;
On the far left, is an input for an existing Question Template.[[File:Question Template Input.png|alt=Question Template Input Location|center|thumb|600x600px|Question Template Input Location]]The &amp;quot;Use Question Template Input&amp;quot; checkbox tells the sheet whether or not to use the Question Template provided. When writing questions entirely from scratch, disable this checkbox. When modifying existing questions, enable the checkbox, and paste in the Question Template. This will subsequently auto-fill the Question Data Inputs with the data within the template. If the auto-filled data itself needs to be altered, you will need to copy and &#039;&#039;&#039;paste values&#039;&#039;&#039; the data, then disable the checkbox.&lt;br /&gt;
&lt;br /&gt;
=== Question Data Inputs ===&lt;br /&gt;
[[File:Question Data Inputs.png|alt=Location of the Question Data Inputs Area|center|thumb|750x750px|Location of the Question Data Inputs Area]]&lt;br /&gt;
The Question Data Inputs Area should seem relatively intuitive. The question text is at the top, the answers are beneath, and up to 4 Personality Pools can gain points from each answer choice. The White Space checkbox is identical to the previous tab, and the question index is just the internal &amp;quot;ID&amp;quot; of the question. It should be incremented for each new question created, and will translate to the ID of the switch case in the final code. Note that the drop-down for the Pool Names is sourced from the Pool Names column of the Starter Selection Generator, and any changes to that list after creating the questions may lead to problems. With the current setup of the sheet, each question is limited to a maximum of 26 answer choices, but this limit is arbitrary, and can be circumvented by editing the question template manually, and pasting it in the Template List. In the event that a single question requires more than 26 choices, please ping happylappy in a support thread.&lt;br /&gt;
&lt;br /&gt;
=== Question Template Output &amp;amp; Template List ===&lt;br /&gt;
Finally, once the question is complete, a template for the question will be created in &amp;quot;Question Template Output&amp;quot;. &lt;br /&gt;
[[File:Question Template Output &amp;amp; Template List.png|alt=Location of Question Template Output &amp;amp; Template List|center|thumb|750x750px|Location of Question Template Output &amp;amp; Template List]]&lt;br /&gt;
Before moving onto the next question, copy the template output, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; in the corresponding slot on the &amp;quot;Question Template List&amp;quot;.   By default, templates for each vanilla question are already in the Question Template List, ready to be edited or modified by copying and pasting into the Question Template Input. The Script Output Column is again for debug purposes, and is read automatically by another tab of the sheet. &lt;br /&gt;
&lt;br /&gt;
== Personality Pool Selection Generator ==&lt;br /&gt;
Once the quiz itself is completed, the points need to be tallied, so that a winning pool can be selected. The exact way that this happens in vanilla is a tad complicated, especially when it comes to breaking ties. Here are the steps that occur in vanilla:&lt;br /&gt;
&lt;br /&gt;
# Points are added to pools containing Sky-Exclusive Starters if the player has played Time/Darkness.&lt;br /&gt;
#* If Male is chosen for the gender question, +4 Points are added to Relaxed, Hasty, and Sassy. (Phanpy, Shinx, and Riolu)&lt;br /&gt;
#* If Female is chosen for the gender question, +4 Points are added to Relaxed and Jolly. (Vulpix and Eevee)&lt;br /&gt;
# The highest pool is found, and chosen.&lt;br /&gt;
#* If there is a tie, it is broken by adding a random number (0-19) to each, and rescoring the points.&lt;br /&gt;
#* If there is STILL a tie, it chooses the smallest pool it can.&lt;br /&gt;
This tab of the sheet serves to implement these two features in a customizable way.&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
About half of the upper panel is actually new this time. The &amp;quot;White Space&amp;quot; and &amp;quot;Number/# of Pools In Use&amp;quot; are unchanged, except they apply to this sheet.[[File:Pool Selection Generator Upper Panel.png|alt=Location of Pool Selection Generator Upper Panel|center|thumb|600x600px|Location of Pool Selection Generator Upper Panel]]The checkbox for &amp;quot;Do Pool Tinkering&amp;quot; enables/disables the Pool Tinkering portion of this sheet, while the &amp;quot;Maximum Tiebreaker Points&amp;quot; input determines the random value added to tied pools to decide a victor. Larger numbers result in less chance of a secondary tie, but could result in overflow for certain pools. &lt;br /&gt;
&lt;br /&gt;
=== Pool Tinkering ===&lt;br /&gt;
As stated above, the vanilla quiz favors pools with Sky-Exclusive Starters for the specified gender if they&#039;ve played Time/Darkness. Through checking the &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; flags from the &amp;quot;Question Loop Generator&amp;quot;, we can mimic this effect.&lt;br /&gt;
[[File:Pool Tinkering.png|alt=Location of Pool Tinkering Portion.|center|thumb|600x600px|Location of Pool Tinkering Portion.]]&lt;br /&gt;
On the far left, are the IDs of the two flags that should be checked (without modification, this could be 0 for &amp;quot;Time/Darkness&amp;quot;, and 3/4 for &amp;quot;Male/Female&amp;quot;). Depending on if the 1st and 2nd flags are true (1), or false (0), the selected pools (as many as needed) will gain the specified number of points. In order to accommodate for the &amp;quot;Surprise Me!&amp;quot; gender option, 2 points are given for male, 2 for &amp;quot;not male&amp;quot;, 2 for &amp;quot;female&amp;quot;, and 2 for &amp;quot;not female&amp;quot;, in order to influence every pool containing a sky-exclusive starter. (A similar process is done for the Time/Darkness exclusive starters I&#039;ve added to my example quiz, if the player has NOT played time/darkness). Up to 10 slots are present for pool tinkering, though more could be added if there is a pressing need. &lt;br /&gt;
&lt;br /&gt;
== Aura Bow Generator ==&lt;br /&gt;
The Aura Bow Generator serves to emulate the cinematics of the vanilla aura bow portion of the quiz. In addition to simply detecting when and for how long the player is touching the Aura Bow, the actual bow color needs to be determined! For the vanilla quiz, the process is as follows:&lt;br /&gt;
&lt;br /&gt;
* Use DS Favorite Color (75% Chance): If the DS Favorite Color is selected, the user&#039;s favorite color will match the color of the bow.&lt;br /&gt;
* Use DS Mac Address (25% Chance): If the Mac Address is selected, then &amp;lt;code&amp;gt;mac_address &amp;amp; 0xF&amp;lt;/code&amp;gt; determines the color of the bow.&lt;br /&gt;
&lt;br /&gt;
This functionality can be replicated by QuizMenuTool, and the chances can even be altered!&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The Aura Bow Generator&#039;s Upper Panel is one of the largest of every tab, though many of these inputs are similar to prior tabs of the sheet. The top left input boxes are Special Process IDs for the 4 Special Processes needed to emulate the Aura Bow portion of the quiz, and the &amp;quot;White Space?&amp;quot; Checkbox is the same as always. The &amp;quot;Aura Bow Output&amp;quot; on the top right is the final script output for this tab, unnecessary outside of debug purposes.&lt;br /&gt;
[[File:Aura Bow Generator Upper Panel.png|alt=Location of the Aura Bow Generator Upper Panel.|center|thumb|600x600px|Location of the Aura Bow Generator Upper Panel.]]&lt;br /&gt;
Beginning with the bottom left of the panel, there are 4 map LEVEL names. &amp;quot;Bottom 1&amp;quot; is for the background while touching the Aura bow, Bottom Screen 2 is for the presentation of the colored Aura Bow, and the Bottom/Top Screen 3 is the backgrounds that the script should end with, when transitioning to the starter reveal. Finally, on the bottom right of the upper panel is the &amp;quot;Touch Screen Aura Bow Object Name&amp;quot;. Per the name, this is the name or ID of the object that should be present on the bottom screen, that will animate when the player touches it. The last three digits of the object seem to vary depending on unknown factors, so be sure to verify that yours matches by inspecting this object in M00A01A with SkyTemple.&lt;br /&gt;
[[File:Aura Bow Touch Object Name.png|alt=Where to check the Aura Bow Touch Object Name in SkyTemple|center|thumb|600x600px|Where to check the Aura Bow Touch Object Name in SkyTemple]]&lt;br /&gt;
&lt;br /&gt;
=== Aura Reading Panel ===&lt;br /&gt;
Beginning on the lower left of the tab, the Aura Reading Panel consists of 3 ExplorerScript code segments, which play before the blank aura bow fades in, after the aura bow fades in, and if the player lets go of the touch screen too quickly. &lt;br /&gt;
[[File:Aura Reading Panel.png|alt=Location of the Aura Reading Panel.|center|thumb|600x600px|Location of the Aura Reading Panel.]]&lt;br /&gt;
At the very bottom of this panel, there are inputs for dialogue in all 5 languages that will play during the aura reading process. Unlike most text in the quiz, &#039;&#039;&#039;this string must be translated here&#039;&#039;&#039;, as every localization takes a different amount of time to print the dialogue. The length of time the touch screen should have been held for is calculated for each [W:X] text tag, and compared against the actual length of time the touch screen was held. Customizing this text string is possible in the box, so these calculations must be done by the sheet. If your hack is for a US ROM, or will be english-only, disable the &amp;quot;Use EU Strings&amp;quot; Checkbox. &amp;quot;Expected Text Speed (# of chars per frame)&amp;quot; should be the speed your dialogue prints at in SkyTemple. This will ensure that the actual length of the text is properly accounted for in the calculation. &amp;quot;Touch Screen Frame Tolerance&amp;quot; is a grace period for letting go of the bow. This is necessary for certain emulators, damaged touch-screens, failure to account for the dialogue box opening/closing, etc. Feel free to adjust as desired, such that the quiz is possible to complete. &lt;br /&gt;
&lt;br /&gt;
=== Bow Selection Panel ===&lt;br /&gt;
Finally, the Bow Selection Panel handles the actual selection and presentation of the Aura Bow. [[File:Bow Selection Panel.png|alt=Bow Selection Panel Location.|center|thumb|600x600px|Bow Selection Panel Location.]]The upper left of the panel is for assigning weights to the three methods for selecting a bow color: DS Favorite Color, DS MAC Address, or a custom block of code. Note that these weights &#039;&#039;&#039;must be integers&#039;&#039;&#039; or the sheet will generate invalid code. For convenience, the percent chance of each option is computed by the sheet, based on the weights and total weight. The ExplorerScript input for the custom bow selection is on the right of this panel, and on the bottom left is the flavor-text for each bow color. &lt;br /&gt;
&lt;br /&gt;
== Variable Cleanup &amp;amp; End-Cap Generator ==&lt;br /&gt;
This tab of the sheet aims to clean up the bevy of variables used by the quiz, and prep the game for actually running. Since QMT uses a majority of the script variables the game has to function, this tab resets them all back to what they should be at the beginning of a save file, now that the quiz no longer needs them. If some part of the quiz needs to be remembered, such as the color of the aura bow, whether the player has played Time/Darkness, or the winning Quiz personality pool, that needs to be preserved in this tab. In addition, this is the tab where the starters are officially initialized, which allows them to be nicknamed. Finally, the special process for actually assigning the starters, &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;, will wipe &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; clean, replacing it with what the real quiz determined your aura bow color to be. Because the real quiz never runs during QMT, this will always be zero. As a result, the aura bow color needs to be saved somewhere besides &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;, then returned afterwards.  &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
This tab ALSO has an upper panel! The number of pools to clear should ideally match the number of pools in use. &amp;quot;White Space&amp;quot; does the same thing it has up to this point, and the far right output cell is read elsewhere, and only exists for debug purposes.&lt;br /&gt;
[[File:Variable Cleanup &amp;amp; End-Cap Upper Panel.png|alt=Variable Cleanup &amp;amp; End-Cap Upper Panel Location.|center|thumb|600x600px|Variable Cleanup &amp;amp; End-Cap Upper Panel Location.]]&lt;br /&gt;
In the center of the panel are three new checkboxes. &amp;quot;Name Partner?&amp;quot; and &amp;quot;Name Hero?&amp;quot; should be somewhat intuitive, they enable/disable the ExplorerScript inputs for naming the hero and partner respectively, which will be elaborated on below. Finally, &amp;quot;Set $VERSION to 1?&amp;quot; sets the &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt; script variable to 1 at the very end of the script. Without ASM modification, saving the game with this variable as anything besides 1 results in a &amp;quot;corrupt&amp;quot; save file. In the absence of a strong reason otherwise, this box should remain checked.&lt;br /&gt;
&lt;br /&gt;
=== Hero Name, Partner Name, &amp;amp; Closing Remarks ===&lt;br /&gt;
These ExplorerScript Inputs are for... the code used for nicknaming the partner and hero respectively, as well as the last few lines of text before the quiz truly ends.[[File:Hero-Partner-Closing Remarks Input.png|alt=Location of ExplorerScript Code Inputs.|center|thumb|600x600px|Location of ExplorerScript Code Inputs.]]Note that &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; will not function without the dedicated SkyPatch, in the QMT github repo (linked at the top). Additionally, the menus themselves will close any active text-box the instant they are done printing, which is why the hero monologue ends with a &amp;lt;code&amp;gt;[K]&amp;lt;/code&amp;gt;. A &amp;lt;code&amp;gt;message_Close();&amp;lt;/code&amp;gt; would also suffice. Finally, the closing remarks should actually fade out the BGM and screen as desired. Feel free to optimize the fades, there is probably a more efficient way to achieve the right effect. &lt;br /&gt;
&lt;br /&gt;
=== Script Variable Preservation Panel ===&lt;br /&gt;
The Script Variable Preservation Panel serves to determine what information should be preserved after the quiz. By default, only the variables storing the personality pool counts are actually being erased, though certain configurations may require some variables to be kept, and others to be wiped in addition.[[File:Script Variable Preservation Panel.png|alt=Script Variable Preservation Panel Location.|center|thumb|600x600px|Script Variable Preservation Panel Location.]]Beginning at the top, is the &amp;quot;Variable Erasure Blacklist&amp;quot;. Based on other interactions with the sheet, the &amp;quot;Automatic Variables&amp;quot; will fill up automatically, but any script variables specified in this row will be kept as they are at the end of the quiz, and not erased. An example of a manual blacklist example might be &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt;, which doesn&#039;t need a dedicated line of code for erasure if it will ALSO be set to 1 at the end. The next row, &amp;quot;Additional Variables to Erase&amp;quot;, will be added to the list of erased variables if they are not already present. The &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; variables should be erased in addition, as the Driftblim Gondola will interpret these variables as valid station passes to enter. Below that, is the &amp;quot;Variable Transfer Table&amp;quot;. Prior to erasing anything, variables in the &amp;quot;Old Variable Name&amp;quot; column will be moved to the &amp;quot;New Variable Name&amp;quot;. The old variable will be slated for erasure, while the new one will be spared. For convenience, the &amp;quot;Variable Meaning&amp;quot; Tab on the left will autofill one or both of these columns depending on the option you select:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable Meaning&lt;br /&gt;
!Old Variable Name&lt;br /&gt;
!New Variable Name&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Preserve&lt;br /&gt;
|&amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;$LOCAL0&amp;lt;/code&amp;gt;&lt;br /&gt;
|If this Variable Meaning is present, &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; will be restored in post. It&#039;s only purpose is to prevent the quiz from wiping the variable on running  &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Winning Pool&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB7&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the winning Pool ID from the quiz itself. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Winning Points&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB6&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the number of points the winning Pool ID had after the tie-breaking process. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Fuwarante Bit X&lt;br /&gt;
|&amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL[X]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|These correspond directly to the FUWARANTE blacklist, and in this example is used to pass forward the Time/Darkness question to &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt;, the variable responsible for the recruitment rate buff for playing Time/Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|Direct Script Variable&lt;br /&gt;
|Any&lt;br /&gt;
|Any&lt;br /&gt;
|This is an invitation to input whatever script variables are needed, and will adjust the coloration of the row to match. &lt;br /&gt;
|}&lt;br /&gt;
A full list of script variables with their appropriate descriptions will be provided in &amp;quot;Other Resources&amp;quot;, and might prove useful for more advanced tinkering in this panel.&lt;br /&gt;
&lt;br /&gt;
== Full Script Translation ==&lt;br /&gt;
This tab of the sheet is dedicated to translating all lines of dialogue into Spanish, French, German, and Italian, for an EU ROM. If the hack this is for doesn&#039;t need translation, this tab can be completely skipped. One of the most essential features of a translated quiz is the ability to pre-translate the vanilla text strings from the original quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
By default, the left-most checkbox of the upper panel will &amp;quot;activate&amp;quot; this sheet for translation. This may cause lag, and will cause more lag every time a change is made on one of the prior sheets, while enabled. Only begin translating once finished with the quiz, at least in the short term. [[File:Full Script Translation Upper Panel.png|alt=Location of the Full Script Translation Upper Panel.|center|thumb|600x600px|Location of the Full Script Translation Upper Panel.]]The &amp;quot;Auto-Translate Vanilla Strings&amp;quot; check-box will automatically search for and translate exact matches to vanilla Quiz strings. Additional translations can be added in &amp;quot;Vanilla Translation Strings&amp;quot; as needed. If no exact match is found, the translation will be left blank for manual translation. &amp;quot;Auto-Translate Pokemon&amp;quot; similarly will attempt to translate exact matches for dialogue specific to the final species. For example, the English string &amp;lt;code&amp;gt;[R][CN]Will be a [CS:K]Magnemite[CR]![W:60]&amp;lt;/code&amp;gt; will be automatically translated to &amp;lt;code&amp;gt;[R][CN]wird ein [CS:K]Magnetilo[CR]![W:60&amp;lt;/code&amp;gt;] (German), based on Magnemite&#039;s German name and the phrase &amp;quot;wird ein ___!&amp;quot;. This will only occur if the checkbox is enabled, and only for Pokemon names present in &amp;quot;Vanilla Translation Strings&amp;quot;. Finally, the &amp;quot;Trim [S:0] Before Translation&amp;quot; checkbox will remove all &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tags from the dialogue before searching for a match, ensuring that the various &amp;quot;Yes.&amp;quot;, &amp;quot;No.&amp;quot;. &amp;quot;Of Course!&amp;quot;, and &amp;quot;Open it!&amp;quot; are not translated automatically, per their vanilla quiz questions. Regardless of whether this checkbox is enabled, the final script output will not contain the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; tags. &lt;br /&gt;
&lt;br /&gt;
=== String Translation Panel ===&lt;br /&gt;
The string translation panel, on the right of this tab, is where text string translation will actually occur. &lt;br /&gt;
[[File:String Translation Panel.png|alt=Location of String Translation Panel.|center|thumb|600x600px|Location of String Translation Panel.]]&lt;br /&gt;
On the left, are English lines of text extracted from other tabs of the sheet. each column corresponds to an EU language (Spanish, French, German, Italian). At the top of each column, is a count of how many untranslated lines of dialogue are left for that language, as well as a checkbox to enable/disable each language. In the above screenshot, French dialogue will not be added to the final script, because the checkbox is enabled. In the rows themselves, are pink cells (vanilla translated text), green cells (empty), and blue cells (manual translation). Simply review each pink cell, and manually translate the English for that row for green cells so they turn blue. If a pink cell needs editing, simply copy the cell, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; it on top of itself, and it will turn blue, which is safe to edit. &lt;br /&gt;
&lt;br /&gt;
== Vanilla Translation Strings ==&lt;br /&gt;
This tab of the sheet is used to store vanilla strings from the base game, and official Pokemon translations. These can be amended and edited as desired, to include custom strings for auto-translation, or new Pokemon name translations. &lt;br /&gt;
[[File:Vanilla Translation Strings Dialogue.png|alt=Vanilla Translation Strings Dialogue|center|thumb|600x600px|Vanilla Translation Strings Dialogue]]&lt;br /&gt;
This area above contains all relevant vanilla strings, which can be added to or amended as desired, in the green cells in these 5 columns. If a need arises to make changes to the quiz after translation, it is best to move all manually translated lines to this tab, before making any changes. Additionally, the lookup table for Pokemon species names can be modified:&lt;br /&gt;
[[File:Vanilla Translation Strings Species.png|alt=Vanilla Translation Strings Species|center|thumb|452x452px|Vanilla Translation Strings Species]]&lt;br /&gt;
On the far right of the tab, are a list of every Pokemon through Scarlet &amp;amp; Violet, and the French/German translations for each species (Spanish and Italian use English species names). These can also be amended or added to as desired. &lt;br /&gt;
&lt;br /&gt;
== Full Script Compression ==&lt;br /&gt;
Last but not least, is the Full Script Compression Tab. This tab compiles all of the information from the other tabs, and compresses it into a copy/pastable batch of scripts for SkyTemple. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
There are a handful of settings in this upper panel. &amp;quot;White Space&amp;quot; is as it has been for every prior tab, but that&#039;s the only returning input.&lt;br /&gt;
[[File:Full Script Compression Upper Panel.png|alt=Full Script Compression Upper Panel Location.|center|thumb|600x600px|Full Script Compression Upper Panel Location.]]&lt;br /&gt;
&amp;quot;Use Full MegaScript&amp;quot; will compile the entire quiz into one script. This is only possible for English-only quizzes, and is only advised for quizzes with few questions and fewer starter choices. &amp;quot;Use Translated Scripts?&amp;quot; will use the outputs from Full Script Translation, which will be empty if the sheet is not active. Disable this checkbox for English-only quizzes. &amp;quot;Generate Unionall CORO&amp;quot; will create the unionall code needed to run the quiz, for a copy and paste replacement for the existing &amp;lt;code&amp;gt;CORO EVENT_M00A_01&amp;lt;/code&amp;gt; coroutine. The &amp;quot;Script File LEVEL Name&amp;quot; should reflect the location of the map LEVEL &amp;quot;folder&amp;quot; that the script file will actually be under. The &amp;quot;Script File SCRIPT Name&amp;quot; should become the name of the acting script itself, and should be 8 alphanumerical characters or fewer (not case-sensitive). Finally, the &amp;quot;Sector Param.&amp;quot; is the sector parameter of the &amp;lt;code&amp;gt;supervision_ExecuteActingSub();&amp;lt;/code&amp;gt; [[List of Opcodes#0x12d - supervision ExecuteActingSub|Opcode]]. Generally this should be zero, though none of these scripts internally utilize the sector parameter, should it be of interest for customization.&lt;br /&gt;
&lt;br /&gt;
=== SkyTemple Script Outputs ===&lt;br /&gt;
This portion of the sheet consists of outputs to SkyTemple. Unlike most output cells thus far, these are actually intended for use!&lt;br /&gt;
[[File:SkyTemple Script Outputs.png|alt=SkyTemple Script Outputs Location.|center|thumb|600x600px|SkyTemple Script Outputs Location.]]&lt;br /&gt;
The intended places for each of these outputs will be described in &amp;quot;Importing The Scripts To SkyTemple&amp;quot;, but when copying a script, be sure to copy all cells in the box with text.&lt;br /&gt;
&lt;br /&gt;
== Importing The Scripts To SkyTemple ==&lt;br /&gt;
Now for the fun part! Actually applying everything to SkyTemple, and seeing the quiz actually play out. This section will briefly cover installation of SkyPatches and Special Processes, though more generalized guides for these things are or will be available. First though, prior installation of StarterMenuTool will change some of these steps. &lt;br /&gt;
=== Converting From StarterMenuTool ===&lt;br /&gt;
There are very few differences between starting fresh and converting from StarterMenuTool. The differences are as follows:&lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu is Applied: Since the SkyPatch is already applied, it does not need to be applied again. It can be reapplied without issue, though it already exists in the ROM.&lt;br /&gt;
* Existing Special Processes: Older versions of &amp;lt;code&amp;gt;starter_setter&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; were added via StarterMenuTool. These may function as intended for QMT, especially &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; which has seen zero change between the two tools, but it is recommended to update them by replacing them, or to use new slots for the QMT SPs.&lt;br /&gt;
* Existing Acting Script: StarterMenuTool takes the same approach as QMT in creating a new acting scene for the quiz itself. This existing script can be repurposed into one of the QMT acting scripts, though with SkyTemple alone it cannot be renamed, meaning the script name it will be used for in the Full Script Compression Upper Panel must be renamed.&lt;br /&gt;
* Edit to Vanilla Quiz: StarterMenuTool modifies the original quiz script m00a01a.ssb. While these changes have no net impact on QMT, it would impact the debug mode, as the code to create a team from the default starters has been removed. If this functionality needs to be restored, simply add the following line after &amp;quot;if ( debug ) {&amp;quot; in m00a01a.ssb:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;switch ( ProcessSpecial(PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ, 0, 0) ) { }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Existing Unionall Edit: StarterMenuTool also requires the modification of &amp;lt;code&amp;gt;coro EVENT_M00A_01&amp;lt;/code&amp;gt;. QuizMenuTool will require this coroutine to be edited to run m00a01a in debug mode, and the QMT scripts otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Installing the SkyPatches ===&lt;br /&gt;
In order for QuizMenuTool to function, the following SkyPatches must be applied. &lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu: Gives &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; the ability to actually nickname the partner. Requires ExtraSpace as a pre-requisite.&lt;br /&gt;
* ExtractSPCode: Enables the use of custom Special Processes used heavily by QMT.&lt;br /&gt;
&lt;br /&gt;
Installing FixPartnerNameMenu is relatively simple. After downloading the file from the github repo, navigate to &amp;lt;code&amp;gt;Patches -&amp;gt; ASM&amp;lt;/code&amp;gt; in SkyTemple. Then, click the &amp;quot;Open Patch Directory&amp;quot; button.&lt;br /&gt;
[[File:InstallFixPartnerNamePatch.png|alt=The &amp;quot;Open Patch Folder&amp;quot; button is on the bottom left.|center|thumb|600x600px|The &amp;quot;Open Patch Directory&amp;quot; button is on the bottom left.]]&lt;br /&gt;
Finally, drag &amp;lt;code&amp;gt;FixPartnerName.skypatch&amp;lt;/code&amp;gt; into the folder, and close it. The patch will now be in the &amp;quot;Others&amp;quot; Tab, ready for installation. If ExtraSpace is not installed, SkyTemple will prompt the installation of both patches sequentially. This is good, do that. &lt;br /&gt;
&lt;br /&gt;
Next, is the installation of ExtractSPCode. Once again, navigate to &amp;lt;code&amp;gt;Patches-&amp;gt;ASM&amp;lt;/code&amp;gt;, and select the &amp;quot;Utility&amp;quot; tab. Install ExtractSPCode, and any necessary pre-requisites (there shouldn&#039;t be any, except maybe ExtraSpace). &lt;br /&gt;
[[File:ExtractSPCode.png|alt=ExtractSPCode Location|center|thumb|600x600px|ExtractSPCode Location]]&lt;br /&gt;
&lt;br /&gt;
=== Applying The Special Processes ===&lt;br /&gt;
Now for installing the Special Processes themselves. If the hack already has custom Special Processes it wishes to keep, or the IDs of the special processes in the sheet have been changed, apply the SPs as desired, but ensure the sheet has accurate IDs (NOT Effects), so it can call them. For simplicity, these are the default locations of each SP:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Spreadsheet Tab&lt;br /&gt;
!Spreadsheet Input Name&lt;br /&gt;
!SP File Name&lt;br /&gt;
!ID&lt;br /&gt;
!Effect&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|starter_setter SP ID&lt;br /&gt;
|starter_setter.asm&lt;br /&gt;
|64&lt;br /&gt;
|61&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|set_frame_color SP ID&lt;br /&gt;
|set_frame_color.asm&lt;br /&gt;
|65&lt;br /&gt;
|62&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|CheckTSPress SP ID&lt;br /&gt;
|CheckTSPress.asm&lt;br /&gt;
|66&lt;br /&gt;
|63&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|ReturnTSPFrames SP ID&lt;br /&gt;
|ReturnTSPFrames.asm&lt;br /&gt;
|67&lt;br /&gt;
|64&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|MoveText2TopScreen SP ID&lt;br /&gt;
|MoveText2TopScreen.asm&lt;br /&gt;
|68&lt;br /&gt;
|65&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|Set_Demo_Character SP ID&lt;br /&gt;
|Set_Demo_Character.asm&lt;br /&gt;
|69&lt;br /&gt;
|66&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|get_favorite_config_color SP ID&lt;br /&gt;
|get_favorite_config_color.asm&lt;br /&gt;
|70&lt;br /&gt;
|67&lt;br /&gt;
|}&lt;br /&gt;
Ensure that you download the correct set of special processes for your version of the ROM (US or EU). Next, navigate to                       &amp;lt;code&amp;gt;Patches-&amp;gt;ASM-&amp;gt;Special Processes&amp;lt;/code&amp;gt;, and click the &amp;quot;Add Special Process&amp;quot; button until enough IDs are in the list for each new Special Process.&lt;br /&gt;
[[File:How2AddSpecialProcesses1.png|alt=The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.|center|thumb|600x600px|The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.]]&lt;br /&gt;
The list should look like it does in the image when done. With that completed, navigate to the &amp;quot;Effects Code&amp;quot; tab. Click the &amp;quot;+&amp;quot; Button to create a new effect. Then, click the &amp;quot;Import Code&amp;quot; button at the bottom to select the special process to be imported to this effect.&lt;br /&gt;
[[File:How2AddSpecialProcesses2.png|center|thumb|600x600px|Clicking the &amp;quot;+&amp;quot; Button adds a new effect. Each new effect must have the correct .asm file imported into it, as specified in the table.]]&lt;br /&gt;
In the above image, Special Process &amp;lt;code&amp;gt;starter_setter.asm&amp;lt;/code&amp;gt; is being imported to Effect 61, which corresponds to ID 64. Similarly, &amp;lt;code&amp;gt;set_frame_color.asm&amp;lt;/code&amp;gt; should be imported to Effect 62 (ID 65), &amp;lt;code&amp;gt;CheckTSPress.asm&amp;lt;/code&amp;gt; should be imported to Effect 63, etc.&lt;br /&gt;
&lt;br /&gt;
Once all the necessary Special Processes have been imported to their effects, the last thing that needs to be done is assigning the effects to their IDs. Navigating back to the &amp;quot;Special Process Effects&amp;quot; tab, assign each effect to the correct ID, as shown below:&lt;br /&gt;
[[File:How2AddSpecialProcesses3.png|alt=Simply clicking on the effect cell will allow it to be edited.|center|thumb|600x600px|Simply clicking on the effect cell will allow it to be edited.]]&lt;br /&gt;
With that, SP importing is complete, and all that remains is to save the ROM.&lt;br /&gt;
&lt;br /&gt;
=== Creating QMT Script Files ===&lt;br /&gt;
Next, is the process of actually creating the QMT script files. For simplicity, this guide will demonstrate the process on LEVEL_S02P01A, the same location in the script files as the original quiz. If you plan on putting the QMT script files elsewhere, ensure this is properly accounted for in Full Script Compression. Navigate to Script Scenes-&amp;gt;S02P01A. If you are using a MegaScript, create ONE new acting scene. Otherwise, create four of them, each with the name in FullScriptCompression.&lt;br /&gt;
[[File:ImportingQMTScriptFiles1.png|alt=Be sure you click &amp;quot;Create Acting Scene&amp;quot;! It is important that these scripts are acting scenes.|center|thumb|600x600px|Be sure you click &amp;quot;Create Acting Scene&amp;quot;! It is important that these scripts are acting scenes.]]&lt;br /&gt;
The newly created scenes should appear in the Acting (ssa) folder. Navigate to the first one created, and double-click on &amp;quot;[script-name].ssb&amp;quot;.&lt;br /&gt;
[[File:ImportingQMTScriptFiles2.png|alt=In this case, &amp;quot;qmt01.ssb&amp;quot; on the right will open the script file&#039;s &amp;quot;ssb&amp;quot; code.|center|thumb|600x600px|In this case, &amp;quot;qmt01.ssb&amp;quot; on the right will open the script file&#039;s &amp;quot;ssb&amp;quot; code.]]&lt;br /&gt;
&lt;br /&gt;
From there, simply paste from the respective part of the sheet, and attempt to save the script.&lt;br /&gt;
[[File:ImportingQMTScriptFiles3.png|center|thumb|600x600px|You can also navigate between script files with the search bar on the left!]]&lt;br /&gt;
&lt;br /&gt;
Repeat the process of pasting in the remaining scripts. Finally, the script that contains the aura bow segment of the quiz (script #2 or the megascript) needs additional work done to the .ssa file. Navigate to S02P01A-&amp;gt;M00A01A, and click the Export Button (square with an up arrow in it).&lt;br /&gt;
[[File:Export Quiz .ssa.png|alt=Visual for exporting the .ssa for M00A01A for QuizMenuTool|center|thumb|600x600px|The Export Button is up top!]]&lt;br /&gt;
Then just import this file into the script containing the Aura Bow segment, as shown below:&lt;br /&gt;
[[File:Aura Bow SSA import.png|center|thumb|600x600px|The Export Button is right next to the Import button!]]&lt;br /&gt;
After that, save the ROM. The quiz is nearly ready, all that&#039;s left is setting up unionall...&lt;br /&gt;
&lt;br /&gt;
=== Editing Unionall ===&lt;br /&gt;
Unionall is a big file, but there&#039;s only a very specific part that needs to be edited. Open Unionall by using the search bar in the Script Engine Debugger, then do CTRL + F (Command + F for Mac, you should know your equivalent if you use Linux) to find coroutine inside unionall.&lt;br /&gt;
[[File:Unionall coro EVENT M00A 01.png|center|thumb|600x600px|Be sure you search for EXACTLY &amp;quot;coro EVENT_M00A_01&amp;quot;. This should be the only match!]]&lt;br /&gt;
Once you find it, select the entire coroutine, and replace it with the unionall final output. the result should look something like this:&lt;br /&gt;
[[File:QMT coro EVENT M00A 01.png|center|thumb|600x600px|Modified Unionall Coroutine, should look roughly like this after pasting.]]&lt;br /&gt;
With that, save unionall, and the quiz is ready for testing! &lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
if you run into any of these issues, or the fix doesn&#039;t work, reach out to happylappy for questions in the SkyTemple discord!&lt;br /&gt;
&lt;br /&gt;
=== The Game Crashed before the first script loaded! ===&lt;br /&gt;
Do your script names and locations match between unionall (or the sheet if it&#039;s making the unionall coro), and your script file names? If not, that would cause a crash. &lt;br /&gt;
&lt;br /&gt;
=== The Game Crashed When a SP tried to run! ===&lt;br /&gt;
Have you used the correct SP IDs and regions? Might be worth importing them again, just in case.&lt;br /&gt;
&lt;br /&gt;
=== The Game Crashed/Glitched out between scripts! ===&lt;br /&gt;
That is... concerning. See, script files are capable of overwriting other things in RAM if they&#039;re too big (which is why QMT usually splits into 4 separate scripts). Quizzes with an obscene number of questions or starters may still overwrite something important in RAM anyway, which would need to be handled on a case-by-case basis.&lt;br /&gt;
&lt;br /&gt;
=== One of my scripts won&#039;t save! ===&lt;br /&gt;
That&#039;s concerning, but could be the result of leaving a question or starter unfinished? Depends heavily on the error message.&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
&lt;br /&gt;
=== QMT Script Variable Map ===&lt;br /&gt;
Below is a table of every script variable used by QuizMenuTool, and what their use-case is for each script. Any variable absent from the table is unused by QMT directly. Variable usage can perhaps be optimized somewhat, but this map functions properly.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Script Variable Name&lt;br /&gt;
!Index&lt;br /&gt;
!Script #1&lt;br /&gt;
!Script #2&lt;br /&gt;
!Script #3&lt;br /&gt;
!Script #4&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB1&lt;br /&gt;
|0&lt;br /&gt;
|Backup of Pre-Quiz $PLAYER_KIND&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning # of Points Backup&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB2&lt;br /&gt;
|0&lt;br /&gt;
|Backup of 0th index of Pre-Quiz $PLAYER_KIND_BACKUP&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning Pool ID Backup&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB3&lt;br /&gt;
|0&lt;br /&gt;
|Backup of Pre-Quiz $ATTENDANT1_KIND&lt;br /&gt;
| -&lt;br /&gt;
|# of times hero gen. failed&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB4&lt;br /&gt;
|0&lt;br /&gt;
|Backup of 0th index of Pre-Quiz $ATTENDANT1_KIND_BACKUP&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|$BIT_FUWARANTE_LOCAL&lt;br /&gt;
|All&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |FUWARANTE blacklist flags&lt;br /&gt;
|-&lt;br /&gt;
|$LOCAL0&lt;br /&gt;
| -&lt;br /&gt;
|Max # of points.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning # of Points / (Aura Bow Color Backup)&lt;br /&gt;
|-&lt;br /&gt;
|$LOCAL1&lt;br /&gt;
| -&lt;br /&gt;
|# Questions Asked / Winning Pool ID&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning Pool ID&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_TALK_BIT_FLAG&lt;br /&gt;
|Varies&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |Question Has Been Asked?&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |# of tied pools (-1 if not checking ties)&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SIDE&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |# of pts to add to tied pool&lt;br /&gt;
|-&lt;br /&gt;
|$RECYCLE_COUNT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |Post-Tie Max # of Pts.&lt;br /&gt;
|-&lt;br /&gt;
|$CONFIG_COLOR_KIND&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Aura Bow Color&lt;br /&gt;
|-&lt;br /&gt;
|$HERO_TALK_KIND&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; |Hero Talk Group&lt;br /&gt;
|-&lt;br /&gt;
|$PARTNER_TALK_KIND&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Partner Talk Group&lt;br /&gt;
|-&lt;br /&gt;
|$VERSION&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 0 Pts.&lt;br /&gt;
|Reset to 1&lt;br /&gt;
|-&lt;br /&gt;
|$CRYSTAL_COLOR_01&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 1 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$CRYSTAL_COLOR_02&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 2 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$CRYSTAL_COLOR_03&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 3 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$COMPULSORY_SAVE_POINT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 4 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$COMPULSORY_SAVE_POINT_SIDE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 5 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SELECT_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 6 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 7 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER_LINK&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 8 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_GETOUT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 9 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_MAP&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 10 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_PLACE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 11 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 12 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER_LINK_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 13 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_GETOUT_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 14 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_MAP_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 15 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_PLACE_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 16 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_SELECT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 17 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 18 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_MODE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 19 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_INDEX&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 20 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_RESULT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 21 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_START_MODE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 22 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 23 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_MODE_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 24 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_INDEX_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 25 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_RESULT_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 26 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_START_MODE_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 27 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$REQUEST_CLEAR_COUNT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 28 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PLAYER_KIND&lt;br /&gt;
| -&lt;br /&gt;
|Pool 29 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT1_KIND&lt;br /&gt;
| -&lt;br /&gt;
|Pool 30 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT2_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 31 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PLAYER_KIND_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
|Pool 32 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT1_KIND_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
|Pool 33 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT2_KIND_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 34 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$HERO_FIRST_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 35 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PARTNER_FIRST_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 36 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$RANDOM_REQUEST_NPC03_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 37 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$WORLD_MAP_LEVEL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 38 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$EVENT_LOCAL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 39 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_EVENT_LOCAL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 40 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$LOTTERY_RESULT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 41 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 42 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP_KUREKURE&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 43 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP_TAKE&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 44 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP_GET&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 45 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$REQUEST_THANKS_RESULT_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 46 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$REQUEST_THANKS_RESULT_VARIATION&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 47 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$SUB30_SPOT_LEVEL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 48 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$TEAM_RANK_EVENT_LEVEL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 49 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PLAY_OLD_GAME&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 50 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1208</id>
		<title>QuizMenuTool Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1208"/>
		<updated>2025-08-10T22:36:48Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;{{SkyTempleIcon|icon=skytemple-dialog-error-symbolic}} This article is unfinished. You can help &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:{{PAGENAME}}|veaction=edit}} expanding it]&amp;lt;/span&amp;gt;.&#039;&#039;&amp;lt;hr&amp;gt;This guide explains how to use QuizMenuTool to create a custom Personality Quiz. The bulk of this guide will explain the use of the google sheets portion of the tool. A rudimentary understanding of SkyTemple scripting is helpful for this task, but not strictly required. These topics will be covered at the end for the sake of completion, but only to the extent that they are needed for QuizMenuTool. &lt;br /&gt;
&lt;br /&gt;
== About QuizMenuTool ==&lt;br /&gt;
&lt;br /&gt;
=== What Is QuizMenuTool? ===&lt;br /&gt;
QuizMenuTool is a customizable ExplorerScript replica of the Explorers of Sky Personality Quiz and Starter Selection, with minimal hardcoded aspects. The original quiz was designed to consist mostly of &amp;lt;code&amp;gt;message_Menu()&amp;lt;/code&amp;gt; ASM, to make editing the personality quiz accessible without the need to learn ASM. &lt;br /&gt;
&lt;br /&gt;
=== What can QuizMenuTool do? ===&lt;br /&gt;
QuizMenuTool can modify the process of using the quiz to select a starter, expand/reduce the starter list, add/remove/modify questions from the quiz, and much more! In fact, the better question might be...&lt;br /&gt;
&lt;br /&gt;
=== What Limitations does QuizMenuTool have? ===&lt;br /&gt;
There are a few critical things QuizMenuTool was not designed to do, though many of these could be remedied in the future if enough demand exists. Here&#039;s a list of what QuizMenuTool fails to replicate from the vanilla quiz:&lt;br /&gt;
&lt;br /&gt;
* Hero/Partner Type Exclusion: In the vanilla quiz, the hero and partner are prevented from sharing a type, to encourage team balance. No   option for such a restriction has been implemented yet, though such a thing would be possible in the future, or be scripted manually for a specific hack. &lt;br /&gt;
* SwitchMenu Portraits: In the vanilla quiz, scrolling to a partner choice displays a portrait of that partner, which gradually changes in expression. This feature would require significant custom code to emulate, and is unlikely to be available for QuizMenuTool.&lt;br /&gt;
* Third Party Starter Tweaks: The original starter list is &#039;&#039;&#039;completely unused&#039;&#039;&#039; by QuizMenuTool. Changing it has no impact on the quiz. Players of a hack using QuizMenuTool will have difficulty adding their own starters to the game, though this could potentially be remedied with a special process checking the starter list against what it is expected to be, and assigning the desired starter if a mismatch is found?&lt;br /&gt;
* Incompatibility with Japanese ROMs: Currently, QuizMenuTool is designed to only work for NA and EU ROMs. while in theory a Japanese Quiz could be designed, the Special Processes are not Japanese-compatible. This could be remedied with little effort, but the tool is designed for EU/NA ROMs.&lt;br /&gt;
&lt;br /&gt;
== Who QuizMenuTool is for ==&lt;br /&gt;
If either of the below points do not apply to you, you do not need QuizMenuTool.&lt;br /&gt;
* You would like to expand (or shrink) the list of starter options in the game.&lt;br /&gt;
* You would like to keep the personality quiz in the game, or edit the quiz directly.&lt;br /&gt;
If you only want to change the size of the starter list, and do not want the personality quiz (as if the [[SkipQuiz]] patch is applied), you should instead use [https://github.com/Chesyon/StarterMenuTool StarterMenuTool], which is less powerful but requires much less work to set up.&lt;br /&gt;
&lt;br /&gt;
== Programs and Files ==&lt;br /&gt;
&lt;br /&gt;
=== Required Programs and Files ===&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1snwIq3-GHntcPTBwH-TJ5Ctk0a8l4pwXTZYwCs53dwo/edit?usp=sharing Explorers of Sky Personality Quiz Assembling Sheet]&lt;br /&gt;
* [https://github.com/HappyLappy1/EOS-QuizGenerationTool-ASM Necessary Special Processes and SkyPatches]&lt;br /&gt;
* [[SkyTemple]] &lt;br /&gt;
&lt;br /&gt;
== General Spreadsheet Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Making a Copy of the Sheet ===&lt;br /&gt;
The above link does NOT grant edit access. In order to use the sheet, a copy will need to be made as follows:&lt;br /&gt;
[[File:Copying a Spreadsheet.png|thumb|750x750px|Location of the &amp;quot;File&amp;quot; and &amp;quot;Make a Copy&amp;quot; buttons. |center]]&lt;br /&gt;
First click the &amp;quot;File&amp;quot; button on the top left. Next, &amp;quot;Make a Copy&amp;quot; of the sheet. Finally, name the copy as desired. &lt;br /&gt;
&lt;br /&gt;
=== Cell Color-Coding ===&lt;br /&gt;
Throughout the spreadsheet, most cells are color-coded. Here&#039;s a brief explanation of each color present in the sheet: &lt;br /&gt;
&lt;br /&gt;
* Green Cells are for user input. If a cell is green, it is intended to contain input data.&lt;br /&gt;
* Grey Cells contain formulas. They will update automatically, and should not be edited.&lt;br /&gt;
* Orange Cells are for user outputs. If a cell is orange, it is intended to be exported elsewhere, such as to a SkyTemple script.&lt;br /&gt;
* Cells without a color or of an unspecified color are typically safe to edit. Always check for a formula first though!&lt;br /&gt;
&lt;br /&gt;
=== Paste Values Only ===&lt;br /&gt;
This tab is the first which will require the use of &amp;quot;Paste Values&amp;quot;. When this guide specifies that a copy/paste must &amp;quot;Paste Values&amp;quot;, this means that the copied text is a formula, and the pasted text should not be a formula. &lt;br /&gt;
[[File:How To Paste Values.png|alt=Depiction of the &amp;quot;Values Only&amp;quot; button in the menu|center|thumb|600x600px|Depiction of the &amp;quot;Values Only&amp;quot; button in the menu]]&lt;br /&gt;
There are two ways to paste values, either by right-clicking the paste location and selecting &amp;quot;Paste Special&amp;quot; then &amp;quot;Values Only&amp;quot;, or by holding shift as you paste. &lt;br /&gt;
&lt;br /&gt;
== Quiz Preamble Generator ==&lt;br /&gt;
The Quiz Preamble Generator Tab as a whole exists to create the very beginning of the quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
Most tabs in the sheet contain an upper panel of some kind, with various simple inputs and feedback on them:&lt;br /&gt;
[[File:Preamble Upper Panel.png|alt=Location of the Quiz Preamble Generator&#039;s Upper Panel.|center|thumb|750x750px|Location of the Quiz Preamble Generator&#039;s Upper Panel.]]&lt;br /&gt;
The &amp;quot;Bottom Screen&amp;quot; and &amp;quot;Top Screen&amp;quot; inputs are the map ID that should be used for that screen&#039;s background. Similarly, the Background Music Name/ID is a BGM name (or number) of the BGM that should play throughout the quiz. The &amp;quot;White Space?&amp;quot; checkbox will attempt to add indents to the output ExplorerScript lines, making the output script more human-readable.&lt;br /&gt;
&lt;br /&gt;
=== Preamble Text ===&lt;br /&gt;
This is the first of many direct inputs for ExplorerScript code. Due to the way spreadsheets store cell data, &amp;quot; &amp;quot; behave weirdly when present in the final script. Please use &#039; &#039; instead. This input is for the first set of dialogue before the questions actually begin. &lt;br /&gt;
[[File:Quiz Preamble Location.png|alt=Location of the Quiz Preamble Inputs|center|thumb|600x600px|Location of the Quiz Preamble Inputs]]&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
The orange output cell on this sheet is largely unimportant, but is present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Starter Selection Generator ==&lt;br /&gt;
This tab of the sheet is primarily for inputting data about the starters, or the personality pools they belong to. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
[[File:Starter Selection Upper Panel.png|alt=The Upper Panel for the &amp;quot;Starter Selection Generator&amp;quot; Tab|thumb|750x750px|Location of the &amp;quot;Upper Panel&amp;quot; for the &amp;quot;Starter Selection Generator&amp;quot; Tab|center]]This upper panel contains 4 inputs, 3 of which are for Special Processes pertaining to starter selection. If other Special Processes have already been added, these Special Process IDs will need to be changed to free slots. The &amp;quot;White Space?&amp;quot; checkbox is the same as before, except for this tab of the sheet. The 4 grey cells are useful statistics about the input starters: how many different pools are used by the starters, how many species are present, and how many options there are for the hero and partner. &lt;br /&gt;
&lt;br /&gt;
=== Personality Pool Input ===&lt;br /&gt;
Next, on the lower right is the nature &amp;quot;Pool&amp;quot; input. These contain the pool name, and the text that should be displayed if that pool is selected by the quiz. &lt;br /&gt;
[[File:Personality Pools Input.png|alt=Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names and descriptions go.|center|thumb|450x450px|Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names/descriptions go.]]&lt;br /&gt;
The &amp;quot;Pool Name&amp;quot; field is only used by the Question Generator Tab, and will not show up anywhere in the final script. Modify these as desired as soon as possible, as it will be difficult to do so after designing the quiz questions. &#039;&#039;&#039;For best results, ensure all pool names are unique!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Starter Species Data ===&lt;br /&gt;
The bottom left segment of the sheet is the &amp;quot;Starter Species Data&amp;quot; input. This is part of a wider table, but each segment will be discussed individually. &lt;br /&gt;
[[File:Starter Species Data Location.png|alt=Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.|center|thumb|750x750px|Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.]]&lt;br /&gt;
While some of these fields should be intuitive, A brief description of each column is as follows:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Species Name:&#039;&#039;&#039; The name of the species as you want it shown in the quiz. If the cell turns purple on entering a species name, this means the Pokémon could not be found in &#039;&#039;&#039;Vanilla Translation Strings&#039;&#039;&#039;. French and German Translations will need to be added by hand, or all strings involving the Pokémon will need to be translated manually.&lt;br /&gt;
* &#039;&#039;&#039;Species ID:&#039;&#039;&#039; The ID in SkyTemple of the Pokémon. &#039;&#039;&#039;[TODO: Explain how this is affected by ExpandPokeList]&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Gender:&#039;&#039;&#039; The gender of the Pokémon, used to set the frame color, and to add &amp;quot;♂&amp;quot; and &amp;quot;♀&amp;quot; to the hero/partner selection list. 0 is Male, 1 is Female, and 2 is Genderless.&lt;br /&gt;
* &#039;&#039;&#039;Pool ID:&#039;&#039;&#039; The number of the Pool the Pokémon should be categorized under. Each Pool that could be chosen by the Quiz should have at least one valid Pokémon, or Bulbasaur will be selected as a failsafe. &#039;&#039;&#039;If the species are not sorted by Pool ID, cells will turn red. The sheet will produce invalid labels if this table is not sorted by Pool ID!&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Start w/ Vowel:&#039;&#039;&#039; If the Pokémon should be referred to as &amp;quot;...an [Pokémon]&amp;quot;, check this box.&lt;br /&gt;
&lt;br /&gt;
=== Talk Group &amp;amp; Role Exclusion ===&lt;br /&gt;
Continuing along the table, the next two subsections are for &amp;quot;Talk Groups&amp;quot; and &amp;quot;Role Exclusion&amp;quot;. Both of these segments relate to either the hero, or the partner.&lt;br /&gt;
[[File:Talk Groups and Role Exclusion.png|alt=Location of Talk Group and Role Exclusion Inputs|center|thumb|300x300px|Location of Talk Group and Role Exclusion Inputs]]&lt;br /&gt;
In the vanilla game, the hero and partner have differing dialogue depending on their species-specific &amp;quot;Talk Group&amp;quot;. These columns are dedicated to assigning the talk group for the hero or partner if that row&#039;s species is chosen. While it handles pronouns for dialogue, especially in gendered languages, it also affects the way the partner&#039;s dialogue is written. It does the same for the hero&#039;s dialogue, but in the English localization it only affects 2 lines in the entire game (&amp;quot;Whoa&amp;quot; &amp;lt;-&amp;gt; &amp;quot;Wah&amp;quot;, &amp;quot;All right&amp;quot; &amp;lt;-&amp;gt; &amp;quot;OK&amp;quot;). This is how they are used in vanilla:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Explorers of Sky Talk Groups&lt;br /&gt;
!#&lt;br /&gt;
!Used By&lt;br /&gt;
!Notable Species&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Partner&lt;br /&gt;
|Male Squirtle/Totodile/Chimchar/Meowth/Munchlax&lt;br /&gt;
|More Masculine/&amp;quot;Rural&amp;quot; Dialogue. (Refers to self as &amp;quot;Oira&amp;quot; in Japanese) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Partner&lt;br /&gt;
|All other Male Pokémon&lt;br /&gt;
|More Masculine/&amp;quot;Boyish&amp;quot; Dialogue. (Refers to self as &amp;quot;Boku&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Partner&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|More Feminine Dialogue. (Refers to self as &amp;quot;Watashi&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Hero&lt;br /&gt;
|All Male/Genderless Pokémon&lt;br /&gt;
|Uses Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Hero&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|Uses Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;Role Exclusion&amp;quot; checkboxes blacklist the row from being an option as a hero or as a partner respectively. Certain Pokémon, particularly Meowth and Munchlax, are unable to be heroes in the vanilla game. This section is how to replicate that feature of the original quiz.&lt;br /&gt;
&lt;br /&gt;
=== Fuwarante Blacklist ===&lt;br /&gt;
Finally, on the far end of the table, is the Fuwarante Blacklist inputs. These are perhaps the most complicated portion of this tab of the sheet.[[File:Fuwarante Blacklist.png|alt=Location of the Fuwarante Blacklist|center|thumb|300x300px|Location of the Fuwarante Blacklist]]Each column corresponds to a bit of the script variable &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt;. If the matching flag is on, the starter in that row &#039;&#039;&#039;cannot&#039;&#039;&#039; be chosen. This will be elaborated on further in the &amp;quot;Question Loop Generator&amp;quot;, but this is a brief explanation of what the bits represent by default:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Bit&lt;br /&gt;
!Description/Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|If enabled, &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt; will be true, meaning the player answered that they have played Time/Darkness before.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|If enabled, the player has played EoS before, according to a custom starting question.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|If enabled, the player has participated in a Mystery Mail event before, according to a custom ending question.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|If enabled, the player claimed to be female in the final gender question. Enable for &#039;&#039;&#039;male&#039;&#039;&#039; starters.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|If enabled, the player claimed to be male in the final gender question. Enable for &#039;&#039;&#039;female&#039;&#039;&#039; starters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
Once again, the orange output cells on the far right of this sheet are largely unimportant, but are present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Question Loop Generator ==&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The upper panel of this sheet mostly consists of inputs, though the single output is a reminder of how many unique pools are used by the Starter Selection Generator. The input directly left of it is for telling the Question Loop Generator how many pools are in use, and should be changed to match the display. On the upper left of the panel, there are inputs for how many questions the game should ask the player, and how many questions will be written for the quiz to randomly choose from. In vanilla, there are 64 possible questions, and 8 will be given to the player.&lt;br /&gt;
[[File:Question Loop Generator Upper Panel.png|alt=Location of the Upper Panel of the Question Loop Generator|center|thumb|750x750px|Location of the Upper Panel of the Question Loop Generator]]&lt;br /&gt;
The bottom row consists of checkboxes to enable/disable the Custom/Standard First and Last Questions, such as the Gender Question and the Time/Darkness Question, which boosts recruit rates for certain species if you answer yes, and adds points to certain pools containing sky-exclusive Pokémon. &lt;br /&gt;
&lt;br /&gt;
=== ExplorerScript Pre/Post Quiz Questions ===&lt;br /&gt;
Room for an additional question before and after the quiz has also been made, which along with the Gender and Time/Darkness questions can be modified in the below ExplorerScript inputs:&lt;br /&gt;
[[File:Question Loop Generator ExplorerScript Inputs.png|alt=Location of the ExplorerScript Inputs|center|thumb|600x600px|Location of the ExplorerScript Inputs]]&lt;br /&gt;
These are the primary use-cases for the Fuwarante Blacklist described above. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag will be explained in further detail below. &lt;br /&gt;
&lt;br /&gt;
== Question Generator ==&lt;br /&gt;
Note: The &amp;quot;Yes.&amp;quot; and &amp;quot;No.&amp;quot; options have the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag after them. This does functionally nothing, and exists primarily to aid in automatic string translation, as the localization teams translated the same English responses for questions differently based on context. This will be elaborated on further in &amp;quot;Full Script Translation&amp;quot;. If there are no plans to use the sheet&#039;s translation features, it is safe to remove any variants of &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt;. (instructions to do so in SkyTemple directly are present below).&lt;br /&gt;
&lt;br /&gt;
=== About Question Templates ===&lt;br /&gt;
This tab of the sheet is dedicated to the design and storage of the individual random questions in the quiz. The way this sheet works revolves   around &amp;quot;Question Templates&amp;quot; that store the question text, question number, answer text, pool ID, and points for that pool ID. Below is an example of a Question Template, and how it translates to question data: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Do you prefer to be busy or have\na lot of free time?^35 |&amp;lt;code&amp;gt;Being busy.^11^4^8^2|Free time!^9^4|In between.^12^4&amp;lt;/code&amp;gt;&lt;br /&gt;
!Question Text&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; |Question #&lt;br /&gt;
|-&lt;br /&gt;
|Do you prefer to be busy or to have a lot of free time?&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; |35&lt;br /&gt;
|-&lt;br /&gt;
!Answer Text&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
|-&lt;br /&gt;
|Being busy.&lt;br /&gt;
|11&lt;br /&gt;
|4&lt;br /&gt;
|8&lt;br /&gt;
|2&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Free time!&lt;br /&gt;
|9&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|In between.&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Question Template Input ===&lt;br /&gt;
&lt;br /&gt;
On the far left, is an input for an existing Question Template.[[File:Question Template Input.png|alt=Question Template Input Location|center|thumb|600x600px|Question Template Input Location]]The &amp;quot;Use Question Template Input&amp;quot; checkbox tells the sheet whether or not to use the Question Template provided. When writing questions entirely from scratch, disable this checkbox. When modifying existing questions, enable the checkbox, and paste in the Question Template. This will subsequently auto-fill the Question Data Inputs with the data within the template. If the auto-filled data itself needs to be altered, you will need to copy and &#039;&#039;&#039;paste values&#039;&#039;&#039; the data, then disable the checkbox.&lt;br /&gt;
&lt;br /&gt;
=== Question Data Inputs ===&lt;br /&gt;
[[File:Question Data Inputs.png|alt=Location of the Question Data Inputs Area|center|thumb|750x750px|Location of the Question Data Inputs Area]]&lt;br /&gt;
The Question Data Inputs Area should seem relatively intuitive. The question text is at the top, the answers are beneath, and up to 4 Personality Pools can gain points from each answer choice. The White Space checkbox is identical to the previous tab, and the question index is just the internal &amp;quot;ID&amp;quot; of the question. It should be incremented for each new question created, and will translate to the ID of the switch case in the final code. Note that the drop-down for the Pool Names is sourced from the Pool Names column of the Starter Selection Generator, and any changes to that list after creating the questions may lead to problems. With the current setup of the sheet, each question is limited to a maximum of 26 answer choices, but this limit is arbitrary, and can be circumvented by editing the question template manually, and pasting it in the Template List. In the event that a single question requires more than 26 choices, please ping happylappy in a support thread.&lt;br /&gt;
&lt;br /&gt;
=== Question Template Output &amp;amp; Template List ===&lt;br /&gt;
Finally, once the question is complete, a template for the question will be created in &amp;quot;Question Template Output&amp;quot;. &lt;br /&gt;
[[File:Question Template Output &amp;amp; Template List.png|alt=Location of Question Template Output &amp;amp; Template List|center|thumb|750x750px|Location of Question Template Output &amp;amp; Template List]]&lt;br /&gt;
Before moving onto the next question, copy the template output, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; in the corresponding slot on the &amp;quot;Question Template List&amp;quot;.   By default, templates for each vanilla question are already in the Question Template List, ready to be edited or modified by copying and pasting into the Question Template Input. The Script Output Column is again for debug purposes, and is read automatically by another tab of the sheet. &lt;br /&gt;
&lt;br /&gt;
== Personality Pool Selection Generator ==&lt;br /&gt;
Once the quiz itself is completed, the points need to be tallied, so that a winning pool can be selected. The exact way that this happens in vanilla is a tad complicated, especially when it comes to breaking ties. Here are the steps that occur in vanilla:&lt;br /&gt;
&lt;br /&gt;
# Points are added to pools containing Sky-Exclusive Starters if the player has played Time/Darkness.&lt;br /&gt;
#* If Male is chosen for the gender question, +4 Points are added to Relaxed, Hasty, and Sassy. (Phanpy, Shinx, and Riolu)&lt;br /&gt;
#* If Female is chosen for the gender question, +4 Points are added to Relaxed and Jolly. (Vulpix and Eevee)&lt;br /&gt;
# The highest pool is found, and chosen.&lt;br /&gt;
#* If there is a tie, it is broken by adding a random number (0-19) to each, and rescoring the points.&lt;br /&gt;
#* If there is STILL a tie, it chooses the smallest pool it can.&lt;br /&gt;
This tab of the sheet serves to implement these two features in a customizable way.&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
About half of the upper panel is actually new this time. The &amp;quot;White Space&amp;quot; and &amp;quot;Number/# of Pools In Use&amp;quot; are unchanged, except they apply to this sheet.[[File:Pool Selection Generator Upper Panel.png|alt=Location of Pool Selection Generator Upper Panel|center|thumb|600x600px|Location of Pool Selection Generator Upper Panel]]The checkbox for &amp;quot;Do Pool Tinkering&amp;quot; enables/disables the Pool Tinkering portion of this sheet, while the &amp;quot;Maximum Tiebreaker Points&amp;quot; input determines the random value added to tied pools to decide a victor. Larger numbers result in less chance of a secondary tie, but could result in overflow for certain pools. &lt;br /&gt;
&lt;br /&gt;
=== Pool Tinkering ===&lt;br /&gt;
As stated above, the vanilla quiz favors pools with Sky-Exclusive Starters for the specified gender if they&#039;ve played Time/Darkness. Through checking the &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; flags from the &amp;quot;Question Loop Generator&amp;quot;, we can mimic this effect.&lt;br /&gt;
[[File:Pool Tinkering.png|alt=Location of Pool Tinkering Portion.|center|thumb|600x600px|Location of Pool Tinkering Portion.]]&lt;br /&gt;
On the far left, are the IDs of the two flags that should be checked (without modification, this could be 0 for &amp;quot;Time/Darkness&amp;quot;, and 3/4 for &amp;quot;Male/Female&amp;quot;). Depending on if the 1st and 2nd flags are true (1), or false (0), the selected pools (as many as needed) will gain the specified number of points. In order to accommodate for the &amp;quot;Surprise Me!&amp;quot; gender option, 2 points are given for male, 2 for &amp;quot;not male&amp;quot;, 2 for &amp;quot;female&amp;quot;, and 2 for &amp;quot;not female&amp;quot;, in order to influence every pool containing a sky-exclusive starter. (A similar process is done for the Time/Darkness exclusive starters I&#039;ve added to my example quiz, if the player has NOT played time/darkness). Up to 10 slots are present for pool tinkering, though more could be added if there is a pressing need. &lt;br /&gt;
&lt;br /&gt;
== Aura Bow Generator ==&lt;br /&gt;
The Aura Bow Generator serves to emulate the cinematics of the vanilla aura bow portion of the quiz. In addition to simply detecting when and for how long the player is touching the Aura Bow, the actual bow color needs to be determined! For the vanilla quiz, the process is as follows:&lt;br /&gt;
&lt;br /&gt;
* Use DS Favorite Color (75% Chance): If the DS Favorite Color is selected, the user&#039;s favorite color will match the color of the bow.&lt;br /&gt;
* Use DS Mac Address (25% Chance): If the Mac Address is selected, then &amp;lt;code&amp;gt;mac_address &amp;amp; 0xF&amp;lt;/code&amp;gt; determines the color of the bow.&lt;br /&gt;
&lt;br /&gt;
This functionality can be replicated by QuizMenuTool, and the chances can even be altered!&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The Aura Bow Generator&#039;s Upper Panel is one of the largest of every tab, though many of these inputs are similar to prior tabs of the sheet. The top left input boxes are Special Process IDs for the 4 Special Processes needed to emulate the Aura Bow portion of the quiz, and the &amp;quot;White Space?&amp;quot; Checkbox is the same as always. The &amp;quot;Aura Bow Output&amp;quot; on the top right is the final script output for this tab, unnecessary outside of debug purposes.&lt;br /&gt;
[[File:Aura Bow Generator Upper Panel.png|alt=Location of the Aura Bow Generator Upper Panel.|center|thumb|600x600px|Location of the Aura Bow Generator Upper Panel.]]&lt;br /&gt;
Beginning with the bottom left of the panel, there are 4 map LEVEL names. &amp;quot;Bottom 1&amp;quot; is for the background while touching the Aura bow, Bottom Screen 2 is for the presentation of the colored Aura Bow, and the Bottom/Top Screen 3 is the backgrounds that the script should end with, when transitioning to the starter reveal. Finally, on the bottom right of the upper panel is the &amp;quot;Touch Screen Aura Bow Object Name&amp;quot;. Per the name, this is the name or ID of the object that should be present on the bottom screen, that will animate when the player touches it. The last three digits of the object seem to vary depending on unknown factors, so be sure to verify that yours matches by inspecting this object in M00A01A with SkyTemple.&lt;br /&gt;
[[File:Aura Bow Touch Object Name.png|alt=Where to check the Aura Bow Touch Object Name in SkyTemple|center|thumb|600x600px|Where to check the Aura Bow Touch Object Name in SkyTemple]]&lt;br /&gt;
&lt;br /&gt;
=== Aura Reading Panel ===&lt;br /&gt;
Beginning on the lower left of the tab, the Aura Reading Panel consists of 3 ExplorerScript code segments, which play before the blank aura bow fades in, after the aura bow fades in, and if the player lets go of the touch screen too quickly. &lt;br /&gt;
[[File:Aura Reading Panel.png|alt=Location of the Aura Reading Panel.|center|thumb|600x600px|Location of the Aura Reading Panel.]]&lt;br /&gt;
At the very bottom of this panel, there are inputs for dialogue in all 5 languages that will play during the aura reading process. Unlike most text in the quiz, &#039;&#039;&#039;this string must be translated here&#039;&#039;&#039;, as every localization takes a different amount of time to print the dialogue. The length of time the touch screen should have been held for is calculated for each [W:X] text tag, and compared against the actual length of time the touch screen was held. Customizing this text string is possible in the box, so these calculations must be done by the sheet. If your hack is for a US ROM, or will be english-only, disable the &amp;quot;Use EU Strings&amp;quot; Checkbox. &amp;quot;Expected Text Speed (# of chars per frame)&amp;quot; should be the speed your dialogue prints at in SkyTemple. This will ensure that the actual length of the text is properly accounted for in the calculation. &amp;quot;Touch Screen Frame Tolerance&amp;quot; is a grace period for letting go of the bow. This is necessary for certain emulators, damaged touch-screens, failure to account for the dialogue box opening/closing, etc. Feel free to adjust as desired, such that the quiz is possible to complete. &lt;br /&gt;
&lt;br /&gt;
=== Bow Selection Panel ===&lt;br /&gt;
Finally, the Bow Selection Panel handles the actual selection and presentation of the Aura Bow. [[File:Bow Selection Panel.png|alt=Bow Selection Panel Location.|center|thumb|600x600px|Bow Selection Panel Location.]]The upper left of the panel is for assigning weights to the three methods for selecting a bow color: DS Favorite Color, DS MAC Address, or a custom block of code. Note that these weights &#039;&#039;&#039;must be integers&#039;&#039;&#039; or the sheet will generate invalid code. For convenience, the percent chance of each option is computed by the sheet, based on the weights and total weight. The ExplorerScript input for the custom bow selection is on the right of this panel, and on the bottom left is the flavor-text for each bow color. &lt;br /&gt;
&lt;br /&gt;
== Variable Cleanup &amp;amp; End-Cap Generator ==&lt;br /&gt;
This tab of the sheet aims to clean up the bevy of variables used by the quiz, and prep the game for actually running. Since QMT uses a majority of the script variables the game has to function, this tab resets them all back to what they should be at the beginning of a save file, now that the quiz no longer needs them. If some part of the quiz needs to be remembered, such as the color of the aura bow, whether the player has played Time/Darkness, or the winning Quiz personality pool, that needs to be preserved in this tab. In addition, this is the tab where the starters are officially initialized, which allows them to be nicknamed. Finally, the special process for actually assigning the starters, &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;, will wipe &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; clean, replacing it with what the real quiz determined your aura bow color to be. Because the real quiz never runs during QMT, this will always be zero. As a result, the aura bow color needs to be saved somewhere besides &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;, then returned afterwards.  &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
This tab ALSO has an upper panel! The number of pools to clear should ideally match the number of pools in use. &amp;quot;White Space&amp;quot; does the same thing it has up to this point, and the far right output cell is read elsewhere, and only exists for debug purposes.&lt;br /&gt;
[[File:Variable Cleanup &amp;amp; End-Cap Upper Panel.png|alt=Variable Cleanup &amp;amp; End-Cap Upper Panel Location.|center|thumb|600x600px|Variable Cleanup &amp;amp; End-Cap Upper Panel Location.]]&lt;br /&gt;
In the center of the panel are three new checkboxes. &amp;quot;Name Partner?&amp;quot; and &amp;quot;Name Hero?&amp;quot; should be somewhat intuitive, they enable/disable the ExplorerScript inputs for naming the hero and partner respectively, which will be elaborated on below. Finally, &amp;quot;Set $VERSION to 1?&amp;quot; sets the &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt; script variable to 1 at the very end of the script. Without ASM modification, saving the game with this variable as anything besides 1 results in a &amp;quot;corrupt&amp;quot; save file. In the absence of a strong reason otherwise, this box should remain checked.&lt;br /&gt;
&lt;br /&gt;
=== Hero Name, Partner Name, &amp;amp; Closing Remarks ===&lt;br /&gt;
These ExplorerScript Inputs are for... the code used for nicknaming the partner and hero respectively, as well as the last few lines of text before the quiz truly ends.[[File:Hero-Partner-Closing Remarks Input.png|alt=Location of ExplorerScript Code Inputs.|center|thumb|600x600px|Location of ExplorerScript Code Inputs.]]Note that &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; will not function without the dedicated SkyPatch, in the QMT github repo (linked at the top). Additionally, the menus themselves will close any active text-box the instant they are done printing, which is why the hero monologue ends with a &amp;lt;code&amp;gt;[K]&amp;lt;/code&amp;gt;. A &amp;lt;code&amp;gt;message_Close();&amp;lt;/code&amp;gt; would also suffice. Finally, the closing remarks should actually fade out the BGM and screen as desired. Feel free to optimize the fades, there is probably a more efficient way to achieve the right effect. &lt;br /&gt;
&lt;br /&gt;
=== Script Variable Preservation Panel ===&lt;br /&gt;
The Script Variable Preservation Panel serves to determine what information should be preserved after the quiz. By default, only the variables storing the personality pool counts are actually being erased, though certain configurations may require some variables to be kept, and others to be wiped in addition.[[File:Script Variable Preservation Panel.png|alt=Script Variable Preservation Panel Location.|center|thumb|600x600px|Script Variable Preservation Panel Location.]]Beginning at the top, is the &amp;quot;Variable Erasure Blacklist&amp;quot;. Based on other interactions with the sheet, the &amp;quot;Automatic Variables&amp;quot; will fill up automatically, but any script variables specified in this row will be kept as they are at the end of the quiz, and not erased. An example of a manual blacklist example might be &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt;, which doesn&#039;t need a dedicated line of code for erasure if it will ALSO be set to 1 at the end. The next row, &amp;quot;Additional Variables to Erase&amp;quot;, will be added to the list of erased variables if they are not already present. The &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; variables should be erased in addition, as the Driftblim Gondola will interpret these variables as valid station passes to enter. Below that, is the &amp;quot;Variable Transfer Table&amp;quot;. Prior to erasing anything, variables in the &amp;quot;Old Variable Name&amp;quot; column will be moved to the &amp;quot;New Variable Name&amp;quot;. The old variable will be slated for erasure, while the new one will be spared. For convenience, the &amp;quot;Variable Meaning&amp;quot; Tab on the left will autofill one or both of these columns depending on the option you select:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable Meaning&lt;br /&gt;
!Old Variable Name&lt;br /&gt;
!New Variable Name&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Preserve&lt;br /&gt;
|&amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;$LOCAL0&amp;lt;/code&amp;gt;&lt;br /&gt;
|If this Variable Meaning is present, &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; will be restored in post. It&#039;s only purpose is to prevent the quiz from wiping the variable on running  &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Winning Pool&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB7&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the winning Pool ID from the quiz itself. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Winning Points&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB6&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the number of points the winning Pool ID had after the tie-breaking process. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Fuwarante Bit X&lt;br /&gt;
|&amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL[X]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|These correspond directly to the FUWARANTE blacklist, and in this example is used to pass forward the Time/Darkness question to &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt;, the variable responsible for the recruitment rate buff for playing Time/Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|Direct Script Variable&lt;br /&gt;
|Any&lt;br /&gt;
|Any&lt;br /&gt;
|This is an invitation to input whatever script variables are needed, and will adjust the coloration of the row to match. &lt;br /&gt;
|}&lt;br /&gt;
A full list of script variables with their appropriate descriptions will be provided in &amp;quot;Other Resources&amp;quot;, and might prove useful for more advanced tinkering in this panel.&lt;br /&gt;
&lt;br /&gt;
== Full Script Translation ==&lt;br /&gt;
This tab of the sheet is dedicated to translating all lines of dialogue into Spanish, French, German, and Italian, for an EU ROM. If the hack this is for doesn&#039;t need translation, this tab can be completely skipped. One of the most essential features of a translated quiz is the ability to pre-translate the vanilla text strings from the original quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
By default, the left-most checkbox of the upper panel will &amp;quot;activate&amp;quot; this sheet for translation. This may cause lag, and will cause more lag every time a change is made on one of the prior sheets, while enabled. Only begin translating once finished with the quiz, at least in the short term. [[File:Full Script Translation Upper Panel.png|alt=Location of the Full Script Translation Upper Panel.|center|thumb|600x600px|Location of the Full Script Translation Upper Panel.]]The &amp;quot;Auto-Translate Vanilla Strings&amp;quot; check-box will automatically search for and translate exact matches to vanilla Quiz strings. Additional translations can be added in &amp;quot;Vanilla Translation Strings&amp;quot; as needed. If no exact match is found, the translation will be left blank for manual translation. &amp;quot;Auto-Translate Pokemon&amp;quot; similarly will attempt to translate exact matches for dialogue specific to the final species. For example, the English string &amp;lt;code&amp;gt;[R][CN]Will be a [CS:K]Magnemite[CR]![W:60]&amp;lt;/code&amp;gt; will be automatically translated to &amp;lt;code&amp;gt;[R][CN]wird ein [CS:K]Magnetilo[CR]![W:60&amp;lt;/code&amp;gt;] (German), based on Magnemite&#039;s German name and the phrase &amp;quot;wird ein ___!&amp;quot;. This will only occur if the checkbox is enabled, and only for Pokemon names present in &amp;quot;Vanilla Translation Strings&amp;quot;. Finally, the &amp;quot;Trim [S:0] Before Translation&amp;quot; checkbox will remove all &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tags from the dialogue before searching for a match, ensuring that the various &amp;quot;Yes.&amp;quot;, &amp;quot;No.&amp;quot;. &amp;quot;Of Course!&amp;quot;, and &amp;quot;Open it!&amp;quot; are not translated automatically, per their vanilla quiz questions. Regardless of whether this checkbox is enabled, the final script output will not contain the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; tags. &lt;br /&gt;
&lt;br /&gt;
=== String Translation Panel ===&lt;br /&gt;
The string translation panel, on the right of this tab, is where text string translation will actually occur. &lt;br /&gt;
[[File:String Translation Panel.png|alt=Location of String Translation Panel.|center|thumb|600x600px|Location of String Translation Panel.]]&lt;br /&gt;
On the left, are English lines of text extracted from other tabs of the sheet. each column corresponds to an EU language (Spanish, French, German, Italian). At the top of each column, is a count of how many untranslated lines of dialogue are left for that language, as well as a checkbox to enable/disable each language. In the above screenshot, French dialogue will not be added to the final script, because the checkbox is enabled. In the rows themselves, are pink cells (vanilla translated text), green cells (empty), and blue cells (manual translation). Simply review each pink cell, and manually translate the English for that row for green cells so they turn blue. If a pink cell needs editing, simply copy the cell, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; it on top of itself, and it will turn blue, which is safe to edit. &lt;br /&gt;
&lt;br /&gt;
== Vanilla Translation Strings ==&lt;br /&gt;
This tab of the sheet is used to store vanilla strings from the base game, and official Pokemon translations. These can be amended and edited as desired, to include custom strings for auto-translation, or new Pokemon name translations. &lt;br /&gt;
[[File:Vanilla Translation Strings Dialogue.png|alt=Vanilla Translation Strings Dialogue|center|thumb|600x600px|Vanilla Translation Strings Dialogue]]&lt;br /&gt;
This area above contains all relevant vanilla strings, which can be added to or amended as desired, in the green cells in these 5 columns. If a need arises to make changes to the quiz after translation, it is best to move all manually translated lines to this tab, before making any changes. Additionally, the lookup table for Pokemon species names can be modified:&lt;br /&gt;
[[File:Vanilla Translation Strings Species.png|alt=Vanilla Translation Strings Species|center|thumb|452x452px|Vanilla Translation Strings Species]]&lt;br /&gt;
On the far right of the tab, are a list of every Pokemon through Scarlet &amp;amp; Violet, and the French/German translations for each species (Spanish and Italian use English species names). These can also be amended or added to as desired. &lt;br /&gt;
&lt;br /&gt;
== Full Script Compression ==&lt;br /&gt;
Last but not least, is the Full Script Compression Tab. This tab compiles all of the information from the other tabs, and compresses it into a copy/pastable batch of scripts for SkyTemple. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
There are a handful of settings in this upper panel. &amp;quot;White Space&amp;quot; is as it has been for every prior tab, but that&#039;s the only returning input.&lt;br /&gt;
[[File:Full Script Compression Upper Panel.png|alt=Full Script Compression Upper Panel Location.|center|thumb|600x600px|Full Script Compression Upper Panel Location.]]&lt;br /&gt;
&amp;quot;Use Full MegaScript&amp;quot; will compile the entire quiz into one script. This is only possible for English-only quizzes, and is only advised for quizzes with few questions and fewer starter choices. &amp;quot;Use Translated Scripts?&amp;quot; will use the outputs from Full Script Translation, which will be empty if the sheet is not active. Disable this checkbox for English-only quizzes. &amp;quot;Generate Unionall CORO&amp;quot; will create the unionall code needed to run the quiz, for a copy and paste replacement for the existing &amp;lt;code&amp;gt;CORO EVENT_M00A_01&amp;lt;/code&amp;gt; coroutine. The &amp;quot;Script File LEVEL Name&amp;quot; should reflect the location of the map LEVEL &amp;quot;folder&amp;quot; that the script file will actually be under. The &amp;quot;Script File SCRIPT Name&amp;quot; should become the name of the acting script itself, and should be 8 alphanumerical characters or fewer (not case-sensitive). Finally, the &amp;quot;Sector Param.&amp;quot; is the sector parameter of the &amp;lt;code&amp;gt;supervision_ExecuteActingSub();&amp;lt;/code&amp;gt; [[List of Opcodes#0x12d - supervision ExecuteActingSub|Opcode]]. Generally this should be zero, though none of these scripts internally utilize the sector parameter, should it be of interest for customization.&lt;br /&gt;
&lt;br /&gt;
=== SkyTemple Script Outputs ===&lt;br /&gt;
This portion of the sheet consists of outputs to SkyTemple. Unlike most output cells thus far, these are actually intended for use!&lt;br /&gt;
[[File:SkyTemple Script Outputs.png|alt=SkyTemple Script Outputs Location.|center|thumb|600x600px|SkyTemple Script Outputs Location.]]&lt;br /&gt;
The intended places for each of these outputs will be described in &amp;quot;Importing The Scripts To SkyTemple&amp;quot;, but when copying a script, be sure to copy all cells in the box with text.&lt;br /&gt;
&lt;br /&gt;
== Importing The Scripts To SkyTemple ==&lt;br /&gt;
Now for the fun part! Actually applying everything to SkyTemple, and seeing the quiz actually play out. This section will briefly cover installation of SkyPatches and Special Processes, though more generalized guides for these things are or will be available. First though, prior installation of StarterMenuTool will change some of these steps. &lt;br /&gt;
=== Converting From StarterMenuTool ===&lt;br /&gt;
There are very few differences between starting fresh and converting from StarterMenuTool. The differences are as follows:&lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu is Applied: Since the SkyPatch is already applied, it does not need to be applied again. It can be reapplied without issue, though it already exists in the ROM.&lt;br /&gt;
* Existing Special Processes: Older versions of &amp;lt;code&amp;gt;starter_setter&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; were added via StarterMenuTool. These may function as intended for QMT, especially &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; which has seen zero change between the two tools, but it is recommended to update them by replacing them, or to use new slots for the QMT SPs.&lt;br /&gt;
* Existing Acting Script: StarterMenuTool takes the same approach as QMT in creating a new acting scene for the quiz itself. This existing script can be repurposed into one of the QMT acting scripts, though with SkyTemple alone it cannot be renamed, meaning the script name it will be used for in the Full Script Compression Upper Panel must be renamed.&lt;br /&gt;
* Edit to Vanilla Quiz: StarterMenuTool modifies the original quiz script m00a01a.ssb. While these changes have no net impact on QMT, it would impact the debug mode, as the code to create a team from the default starters has been removed. If this functionality needs to be restored, simply add the following line after &amp;quot;if ( debug ) {&amp;quot; in m00a01a.ssb:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;switch ( ProcessSpecial(PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ, 0, 0) ) { }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Existing Unionall Edit: StarterMenuTool also requires the modification of &amp;lt;code&amp;gt;coro EVENT_M00A_01&amp;lt;/code&amp;gt;. QuizMenuTool will require this coroutine to be edited to run m00a01a in debug mode, and the QMT scripts otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Installing the SkyPatches ===&lt;br /&gt;
In order for QuizMenuTool to function, the following SkyPatches must be applied. &lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu: Gives &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; the ability to actually nickname the partner. Requires ExtraSpace as a pre-requisite.&lt;br /&gt;
* ExtractSPCode: Enables the use of custom Special Processes used heavily by QMT.&lt;br /&gt;
&lt;br /&gt;
Installing FixPartnerNameMenu is relatively simple. After downloading the file from the github repo, navigate to &amp;lt;code&amp;gt;Patches -&amp;gt; ASM&amp;lt;/code&amp;gt; in SkyTemple. Then, click the &amp;quot;Open Patch Directory&amp;quot; button.&lt;br /&gt;
[[File:InstallFixPartnerNamePatch.png|alt=The &amp;quot;Open Patch Folder&amp;quot; button is on the bottom left.|center|thumb|600x600px|The &amp;quot;Open Patch Directory&amp;quot; button is on the bottom left.]]&lt;br /&gt;
Finally, drag &amp;lt;code&amp;gt;FixPartnerName.skypatch&amp;lt;/code&amp;gt; into the folder, and close it. The patch will now be in the &amp;quot;Others&amp;quot; Tab, ready for installation. If ExtraSpace is not installed, SkyTemple will prompt the installation of both patches sequentially. This is good, do that. &lt;br /&gt;
&lt;br /&gt;
Next, is the installation of ExtractSPCode. Once again, navigate to &amp;lt;code&amp;gt;Patches-&amp;gt;ASM&amp;lt;/code&amp;gt;, and select the &amp;quot;Utility&amp;quot; tab. Install ExtractSPCode, and any necessary pre-requisites (there shouldn&#039;t be any, except maybe ExtraSpace). &lt;br /&gt;
[[File:ExtractSPCode.png|alt=ExtractSPCode Location|center|thumb|600x600px|ExtractSPCode Location]]&lt;br /&gt;
&lt;br /&gt;
=== Applying The Special Processes ===&lt;br /&gt;
Now for installing the Special Processes themselves. If the hack already has custom Special Processes it wishes to keep, or the IDs of the special processes in the sheet have been changed, apply the SPs as desired, but ensure the sheet has accurate IDs (NOT Effects), so it can call them. For simplicity, these are the default locations of each SP:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Spreadsheet Tab&lt;br /&gt;
!Spreadsheet Input Name&lt;br /&gt;
!SP File Name&lt;br /&gt;
!ID&lt;br /&gt;
!Effect&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|starter_setter SP ID&lt;br /&gt;
|starter_setter.asm&lt;br /&gt;
|64&lt;br /&gt;
|61&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|set_frame_color SP ID&lt;br /&gt;
|set_frame_color.asm&lt;br /&gt;
|65&lt;br /&gt;
|62&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|CheckTSPress SP ID&lt;br /&gt;
|CheckTSPress.asm&lt;br /&gt;
|66&lt;br /&gt;
|63&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|ReturnTSPFrames SP ID&lt;br /&gt;
|ReturnTSPFrames.asm&lt;br /&gt;
|67&lt;br /&gt;
|64&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|MoveText2TopScreen SP ID&lt;br /&gt;
|MoveText2TopScreen.asm&lt;br /&gt;
|68&lt;br /&gt;
|65&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|Set_Demo_Character SP ID&lt;br /&gt;
|Set_Demo_Character.asm&lt;br /&gt;
|69&lt;br /&gt;
|66&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|get_favorite_config_color SP ID&lt;br /&gt;
|get_favorite_config_color.asm&lt;br /&gt;
|70&lt;br /&gt;
|67&lt;br /&gt;
|}&lt;br /&gt;
Ensure that you download the correct set of special processes for your version of the ROM (US or EU). Next, navigate to                       &amp;lt;code&amp;gt;Patches-&amp;gt;ASM-&amp;gt;Special Processes&amp;lt;/code&amp;gt;, and click the &amp;quot;Add Special Process&amp;quot; button until enough IDs are in the list for each new Special Process.&lt;br /&gt;
[[File:How2AddSpecialProcesses1.png|alt=The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.|center|thumb|600x600px|The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.]]&lt;br /&gt;
The list should look like it does in the image when done. With that completed, navigate to the &amp;quot;Effects Code&amp;quot; tab. Click the &amp;quot;+&amp;quot; Button to create a new effect. Then, click the &amp;quot;Import Code&amp;quot; button at the bottom to select the special process to be imported to this effect.&lt;br /&gt;
[[File:How2AddSpecialProcesses2.png|center|thumb|600x600px|Clicking the &amp;quot;+&amp;quot; Button adds a new effect. Each new effect must have the correct .asm file imported into it, as specified in the table.]]&lt;br /&gt;
In the above image, Special Process &amp;lt;code&amp;gt;starter_setter.asm&amp;lt;/code&amp;gt; is being imported to Effect 61, which corresponds to ID 64. Similarly, &amp;lt;code&amp;gt;set_frame_color.asm&amp;lt;/code&amp;gt; should be imported to Effect 62 (ID 65), &amp;lt;code&amp;gt;CheckTSPress.asm&amp;lt;/code&amp;gt; should be imported to Effect 63, etc.&lt;br /&gt;
&lt;br /&gt;
Once all the necessary Special Processes have been imported to their effects, the last thing that needs to be done is assigning the effects to their IDs. Navigating back to the &amp;quot;Special Process Effects&amp;quot; tab, assign each effect to the correct ID, as shown below:&lt;br /&gt;
[[File:How2AddSpecialProcesses3.png|alt=Simply clicking on the effect cell will allow it to be edited.|center|thumb|600x600px|Simply clicking on the effect cell will allow it to be edited.]]&lt;br /&gt;
With that, SP importing is complete, and all that remains is to save the ROM.&lt;br /&gt;
&lt;br /&gt;
=== Creating QMT Script Files ===&lt;br /&gt;
Next, is the process of actually creating the QMT script files. For simplicity, this guide will demonstrate the process on LEVEL_S02P01A, the same location in the script files as the original quiz. If you plan on putting the QMT script files elsewhere, ensure this is properly accounted for in Full Script Compression. Navigate to Script Scenes-&amp;gt;S02P01A. If you are using a MegaScript, create ONE new acting scene. Otherwise, create four of them, each with the name in FullScriptCompression.&lt;br /&gt;
[[File:ImportingQMTScriptFiles1.png|alt=Be sure you click &amp;quot;Create Acting Scene&amp;quot;! It is important that these scripts are acting scenes.|center|thumb|600x600px|Be sure you click &amp;quot;Create Acting Scene&amp;quot;! It is important that these scripts are acting scenes.]]&lt;br /&gt;
The newly created scenes should appear in the Acting (ssa) folder. Navigate to the first one created, and double-click on &amp;quot;[script-name].ssb&amp;quot;.&lt;br /&gt;
[[File:ImportingQMTScriptFiles2.png|alt=In this case, &amp;quot;qmt01.ssb&amp;quot; on the right will open the script file&#039;s &amp;quot;ssb&amp;quot; code.|center|thumb|600x600px|In this case, &amp;quot;qmt01.ssb&amp;quot; on the right will open the script file&#039;s &amp;quot;ssb&amp;quot; code.]]&lt;br /&gt;
&lt;br /&gt;
From there, simply paste from the respective part of the sheet, and attempt to save the script.&lt;br /&gt;
[[File:ImportingQMTScriptFiles3.png|center|thumb|600x600px|You can also navigate between script files with the search bar on the left!]]&lt;br /&gt;
&lt;br /&gt;
Repeat the process of pasting in the remaining scripts. Finally, the script that contains the aura bow segment of the quiz (script #2 or the megascript) needs additional work done to the .ssa file. Navigate to S02P01A-&amp;gt;M00A01A, and click the Export Button (square with an up arrow in it).&lt;br /&gt;
[[File:Export Quiz .ssa.png|alt=Visual for exporting the .ssa for M00A01A for QuizMenuTool|center|thumb|600x600px|The Export Button is up top!]]&lt;br /&gt;
Then just import this file into the script containing the Aura Bow segment, as shown below:&lt;br /&gt;
[[File:Aura Bow SSA import.png|center|thumb|600x600px|The Export Button is right next to the Import button!]]&lt;br /&gt;
After that, save the ROM. The quiz is nearly ready, all that&#039;s left is setting up unionall...&lt;br /&gt;
&lt;br /&gt;
=== Editing Unionall ===&lt;br /&gt;
Unionall is a big file, but there&#039;s only a very specific part that needs to be edited. Open Unionall by using the search bar in the Script Engine Debugger, then do CTRL + F (Command + F for Mac, you should know your equivalent if you use Linux) to find coroutine inside unionall.&lt;br /&gt;
[[File:Unionall coro EVENT M00A 01.png|center|thumb|600x600px|Be sure you search for EXACTLY &amp;quot;coro EVENT_M00A_01&amp;quot;. This should be the only match!]]&lt;br /&gt;
Once you find it, select the entire coroutine, and replace it with the unionall final output. the result should look something like this:&lt;br /&gt;
[[File:QMT coro EVENT M00A 01.png|center|thumb|600x600px|Modified Unionall Coroutine, should look roughly like this after pasting.]]&lt;br /&gt;
With that, save unionall, and the quiz is ready for testing! &lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
if you run into any of these issues, or the fix doesn&#039;t work, reach out to happylappy for questions in the SkyTemple discord!&lt;br /&gt;
&lt;br /&gt;
=== The Game Crashed before the first script loaded! ===&lt;br /&gt;
Do your script names and locations match between unionall (or the sheet if it&#039;s making the unionall coro), and your script file names? If not, that would cause a crash. &lt;br /&gt;
&lt;br /&gt;
=== The Game Crashed When a SP tried to run! ===&lt;br /&gt;
Have you used the correct SP IDs and regions? Might be worth importing them again, just in case.&lt;br /&gt;
&lt;br /&gt;
=== The Game Crashed/Glitched out between scripts! ===&lt;br /&gt;
That is... concerning. See, script files are capable of overwriting other things in RAM if they&#039;re too big (which is why QMT usually splits into 4 separate scripts). Quizzes with an obscene number of questions or starters may still overwrite something important in RAM anyway, which would need to be handled on a case-by-case basis.&lt;br /&gt;
&lt;br /&gt;
=== One of my scripts won&#039;t save! ===&lt;br /&gt;
That&#039;s concerning, but could be the result of leaving a question or starter unfinished? Depends heavily on the error message.&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
&lt;br /&gt;
=== QMT Script Variable Map ===&lt;br /&gt;
Below is a table of every script variable used by QuizMenuTool, and what their use-case is for each script. Any variable absent from the table is unused by QMT directly. Variable usage can perhaps be optimized somewhat, but this map functions properly.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Script Variable Name&lt;br /&gt;
!Index&lt;br /&gt;
!Script #1&lt;br /&gt;
!Script #2&lt;br /&gt;
!Script #3&lt;br /&gt;
!Script #4&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB1&lt;br /&gt;
|0&lt;br /&gt;
|Backup of Pre-Quiz $PLAYER_KIND&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning # of Points Backup&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB2&lt;br /&gt;
|0&lt;br /&gt;
|Backup of 0th index of Pre-Quiz $PLAYER_KIND_BACKUP&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning Pool ID Backup&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB3&lt;br /&gt;
|0&lt;br /&gt;
|Backup of Pre-Quiz $ATTENDANT1_KIND&lt;br /&gt;
| -&lt;br /&gt;
|# of times hero gen. failed&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB4&lt;br /&gt;
|0&lt;br /&gt;
|Backup of 0th index of Pre-Quiz $ATTENDANT1_KIND_BACKUP&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|$BIT_FUWARANTE_LOCAL&lt;br /&gt;
|All&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |FUWARANTE blacklist flags&lt;br /&gt;
|-&lt;br /&gt;
|$LOCAL0&lt;br /&gt;
| -&lt;br /&gt;
|Max # of points.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning # of Points / (Aura Bow Color Backup)&lt;br /&gt;
|-&lt;br /&gt;
|$LOCAL1&lt;br /&gt;
| -&lt;br /&gt;
|# Questions Asked / Winning Pool ID&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning Pool ID&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_TALK_BIT_FLAG&lt;br /&gt;
|Varies&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |Question Has Been Asked?&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |# of tied pools (-1 if not checking ties)&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SIDE&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |# of pts to add to tied pool&lt;br /&gt;
|-&lt;br /&gt;
|$RECYCLE_COUNT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |Post-Tie Max # of Pts.&lt;br /&gt;
|-&lt;br /&gt;
|$CONFIG_COLOR_KIND&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Aura Bow Color&lt;br /&gt;
|-&lt;br /&gt;
|$HERO_TALK_KIND&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; |Hero Talk Group&lt;br /&gt;
|-&lt;br /&gt;
|$PARTNER_TALK_KIND&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Partner Talk Group&lt;br /&gt;
|-&lt;br /&gt;
|$VERSION&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 0 Pts.&lt;br /&gt;
|Reset to 1&lt;br /&gt;
|-&lt;br /&gt;
|$CRYSTAL_COLOR_01&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 1 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$CRYSTAL_COLOR_02&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 2 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$CRYSTAL_COLOR_03&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 3 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$COMPULSORY_SAVE_POINT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 4 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$COMPULSORY_SAVE_POINT_SIDE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 5 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SELECT_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 6 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 7 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER_LINK&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 8 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_GETOUT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 9 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_MAP&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 10 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_PLACE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 11 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 12 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER_LINK_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 13 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_GETOUT_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 14 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_MAP_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 15 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_PLACE_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 16 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_SELECT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 17 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 18 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_MODE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 19 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_INDEX&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 20 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_RESULT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 21 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_START_MODE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 22 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 23 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_MODE_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 24 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_INDEX_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 25 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_RESULT_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 26 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_START_MODE_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 27 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$REQUEST_CLEAR_COUNT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 28 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PLAYER_KIND&lt;br /&gt;
| -&lt;br /&gt;
|Pool 29 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT1_KIND&lt;br /&gt;
| -&lt;br /&gt;
|Pool 30 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT2_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 31 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PLAYER_KIND_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
|Pool 32 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT1_KIND_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
|Pool 33 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT2_KIND_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 34 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$HERO_FIRST_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 35 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PARTNER_FIRST_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 36 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$RANDOM_REQUEST_NPC03_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 37 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$WORLD_MAP_LEVEL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 38 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$EVENT_LOCAL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 39 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_EVENT_LOCAL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 40 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$LOTTERY_RESULT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 41 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 42 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP_KUREKURE&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 43 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP_TAKE&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 44 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP_GET&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 45 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$REQUEST_THANKS_RESULT_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 46 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$REQUEST_THANKS_RESULT_VARIATION&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 47 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$SUB30_SPOT_LEVEL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 48 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$TEAM_RANK_EVENT_LEVEL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 49 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PLAY_OLD_GAME&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 50 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1207</id>
		<title>QuizMenuTool Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1207"/>
		<updated>2025-08-10T22:27:37Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: Troubleshooting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;{{SkyTempleIcon|icon=skytemple-dialog-error-symbolic}} This article is unfinished. You can help &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:{{PAGENAME}}|veaction=edit}} expanding it]&amp;lt;/span&amp;gt;.&#039;&#039;&amp;lt;hr&amp;gt;This guide explains how to use QuizMenuTool to create a custom Personality Quiz. The bulk of this guide will explain the use of the google sheets portion of the tool. A rudimentary understanding of SkyTemple scripting is helpful for this task, but not strictly required. These topics will be covered at the end for the sake of completion, but only to the extent that they are needed for QuizMenuTool. &lt;br /&gt;
&lt;br /&gt;
== About QuizMenuTool ==&lt;br /&gt;
&lt;br /&gt;
=== What Is QuizMenuTool? ===&lt;br /&gt;
QuizMenuTool is a customizable ExplorerScript replica of the Explorers of Sky Personality Quiz and Starter Selection, with minimal hardcoded aspects. The original quiz was designed to consist mostly of &amp;lt;code&amp;gt;message_Menu()&amp;lt;/code&amp;gt; ASM, to make editing the personality quiz accessible without the need to learn ASM. &lt;br /&gt;
&lt;br /&gt;
=== What can QuizMenuTool do? ===&lt;br /&gt;
QuizMenuTool can modify the process of using the quiz to select a starter, expand/reduce the starter list, add/remove/modify questions from the quiz, and much more! In fact, the better question might be...&lt;br /&gt;
&lt;br /&gt;
=== What Limitations does QuizMenuTool have? ===&lt;br /&gt;
There are a few critical things QuizMenuTool was not designed to do, though many of these could be remedied in the future if enough demand exists. Here&#039;s a list of what QuizMenuTool fails to replicate from the vanilla quiz:&lt;br /&gt;
&lt;br /&gt;
* Hero/Partner Type Exclusion: In the vanilla quiz, the hero and partner are prevented from sharing a type, to encourage team balance. No   option for such a restriction has been implemented yet, though such a thing would be possible in the future, or be scripted manually for a specific hack. &lt;br /&gt;
* SwitchMenu Portraits: In the vanilla quiz, scrolling to a partner choice displays a portrait of that partner, which gradually changes in expression. This feature would require significant custom code to emulate, and is unlikely to be available for QuizMenuTool.&lt;br /&gt;
* Third Party Starter Tweaks: The original starter list is &#039;&#039;&#039;completely unused&#039;&#039;&#039; by QuizMenuTool. Changing it has no impact on the quiz. Players of a hack using QuizMenuTool will have difficulty adding their own starters to the game, though this could potentially be remedied with a special process checking the starter list against what it is expected to be, and assigning the desired starter if a mismatch is found?&lt;br /&gt;
* Incompatibility with Japanese ROMs: Currently, QuizMenuTool is designed to only work for NA and EU ROMs. while in theory a Japanese Quiz could be designed, the Special Processes are not Japanese-compatible. This could be remedied with little effort, but the tool is designed for EU/NA ROMs.&lt;br /&gt;
&lt;br /&gt;
== Who QuizMenuTool is for ==&lt;br /&gt;
If either of the below points do not apply to you, you do not need QuizMenuTool.&lt;br /&gt;
* You would like to expand (or shrink) the list of starter options in the game.&lt;br /&gt;
* You would like to keep the personality quiz in the game, or edit the quiz directly.&lt;br /&gt;
If you only want to change the size of the starter list, and do not want the personality quiz (as if the [[SkipQuiz]] patch is applied), you should instead use [https://github.com/Chesyon/StarterMenuTool StarterMenuTool], which is less powerful but requires much less work to set up.&lt;br /&gt;
&lt;br /&gt;
== Programs and Files ==&lt;br /&gt;
&lt;br /&gt;
=== Required Programs and Files ===&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1snwIq3-GHntcPTBwH-TJ5Ctk0a8l4pwXTZYwCs53dwo/edit?usp=sharing Explorers of Sky Personality Quiz Assembling Sheet]&lt;br /&gt;
* [https://github.com/HappyLappy1/EOS-QuizGenerationTool-ASM Necessary Special Processes and SkyPatches]&lt;br /&gt;
* [[SkyTemple]] &lt;br /&gt;
&lt;br /&gt;
== General Spreadsheet Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Making a Copy of the Sheet ===&lt;br /&gt;
The above link does NOT grant edit access. In order to use the sheet, a copy will need to be made as follows:&lt;br /&gt;
[[File:Copying a Spreadsheet.png|thumb|750x750px|Location of the &amp;quot;File&amp;quot; and &amp;quot;Make a Copy&amp;quot; buttons. |center]]&lt;br /&gt;
First click the &amp;quot;File&amp;quot; button on the top left. Next, &amp;quot;Make a Copy&amp;quot; of the sheet. Finally, name the copy as desired. &lt;br /&gt;
&lt;br /&gt;
=== Cell Color-Coding ===&lt;br /&gt;
Throughout the spreadsheet, most cells are color-coded. Here&#039;s a brief explanation of each color present in the sheet: &lt;br /&gt;
&lt;br /&gt;
* Green Cells are for user input. If a cell is green, it is intended to contain input data.&lt;br /&gt;
* Grey Cells contain formulas. They will update automatically, and should not be edited.&lt;br /&gt;
* Orange Cells are for user outputs. If a cell is orange, it is intended to be exported elsewhere, such as to a SkyTemple script.&lt;br /&gt;
* Cells without a color or of an unspecified color are typically safe to edit. Always check for a formula first though!&lt;br /&gt;
&lt;br /&gt;
=== Paste Values Only ===&lt;br /&gt;
This tab is the first which will require the use of &amp;quot;Paste Values&amp;quot;. When this guide specifies that a copy/paste must &amp;quot;Paste Values&amp;quot;, this means that the copied text is a formula, and the pasted text should not be a formula. &lt;br /&gt;
[[File:How To Paste Values.png|alt=Depiction of the &amp;quot;Values Only&amp;quot; button in the menu|center|thumb|600x600px|Depiction of the &amp;quot;Values Only&amp;quot; button in the menu]]&lt;br /&gt;
There are two ways to paste values, either by right-clicking the paste location and selecting &amp;quot;Paste Special&amp;quot; then &amp;quot;Values Only&amp;quot;, or by holding shift as you paste. &lt;br /&gt;
&lt;br /&gt;
== Quiz Preamble Generator ==&lt;br /&gt;
The Quiz Preamble Generator Tab as a whole exists to create the very beginning of the quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
Most tabs in the sheet contain an upper panel of some kind, with various simple inputs and feedback on them:&lt;br /&gt;
[[File:Preamble Upper Panel.png|alt=Location of the Quiz Preamble Generator&#039;s Upper Panel.|center|thumb|750x750px|Location of the Quiz Preamble Generator&#039;s Upper Panel.]]&lt;br /&gt;
The &amp;quot;Bottom Screen&amp;quot; and &amp;quot;Top Screen&amp;quot; inputs are the map ID that should be used for that screen&#039;s background. Similarly, the Background Music Name/ID is a BGM name (or number) of the BGM that should play throughout the quiz. The &amp;quot;White Space?&amp;quot; checkbox will attempt to add indents to the output ExplorerScript lines, making the output script more human-readable.&lt;br /&gt;
&lt;br /&gt;
=== Preamble Text ===&lt;br /&gt;
This is the first of many direct inputs for ExplorerScript code. Due to the way spreadsheets store cell data, &amp;quot; &amp;quot; behave weirdly when present in the final script. Please use &#039; &#039; instead. This input is for the first set of dialogue before the questions actually begin. &lt;br /&gt;
[[File:Quiz Preamble Location.png|alt=Location of the Quiz Preamble Inputs|center|thumb|600x600px|Location of the Quiz Preamble Inputs]]&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
The orange output cell on this sheet is largely unimportant, but is present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Starter Selection Generator ==&lt;br /&gt;
This tab of the sheet is primarily for inputting data about the starters, or the personality pools they belong to. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
[[File:Starter Selection Upper Panel.png|alt=The Upper Panel for the &amp;quot;Starter Selection Generator&amp;quot; Tab|thumb|750x750px|Location of the &amp;quot;Upper Panel&amp;quot; for the &amp;quot;Starter Selection Generator&amp;quot; Tab|center]]This upper panel contains 4 inputs, 3 of which are for Special Processes pertaining to starter selection. If other Special Processes have already been added, these Special Process IDs will need to be changed to free slots. The &amp;quot;White Space?&amp;quot; checkbox is the same as before, except for this tab of the sheet. The 4 grey cells are useful statistics about the input starters: how many different pools are used by the starters, how many species are present, and how many options there are for the hero and partner. &lt;br /&gt;
&lt;br /&gt;
=== Personality Pool Input ===&lt;br /&gt;
Next, on the lower right is the nature &amp;quot;Pool&amp;quot; input. These contain the pool name, and the text that should be displayed if that pool is selected by the quiz. &lt;br /&gt;
[[File:Personality Pools Input.png|alt=Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names and descriptions go.|center|thumb|450x450px|Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names/descriptions go.]]&lt;br /&gt;
The &amp;quot;Pool Name&amp;quot; field is only used by the Question Generator Tab, and will not show up anywhere in the final script. Modify these as desired as soon as possible, as it will be difficult to do so after designing the quiz questions. &#039;&#039;&#039;For best results, ensure all pool names are unique!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Starter Species Data ===&lt;br /&gt;
The bottom left segment of the sheet is the &amp;quot;Starter Species Data&amp;quot; input. This is part of a wider table, but each segment will be discussed individually. &lt;br /&gt;
[[File:Starter Species Data Location.png|alt=Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.|center|thumb|750x750px|Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.]]&lt;br /&gt;
While some of these fields should be intuitive, A brief description of each column is as follows:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Species Name:&#039;&#039;&#039; The name of the species as you want it shown in the quiz. If the cell turns purple on entering a species name, this means the Pokémon could not be found in &#039;&#039;&#039;Vanilla Translation Strings&#039;&#039;&#039;. French and German Translations will need to be added by hand, or all strings involving the Pokémon will need to be translated manually.&lt;br /&gt;
* &#039;&#039;&#039;Species ID:&#039;&#039;&#039; The ID in SkyTemple of the Pokémon. &#039;&#039;&#039;[TODO: Explain how this is affected by ExpandPokeList]&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Gender:&#039;&#039;&#039; The gender of the Pokémon, used to set the frame color, and to add &amp;quot;♂&amp;quot; and &amp;quot;♀&amp;quot; to the hero/partner selection list. 0 is Male, 1 is Female, and 2 is Genderless.&lt;br /&gt;
* &#039;&#039;&#039;Pool ID:&#039;&#039;&#039; The number of the Pool the Pokémon should be categorized under. Each Pool that could be chosen by the Quiz should have at least one valid Pokémon, or Bulbasaur will be selected as a failsafe. &#039;&#039;&#039;If the species are not sorted by Pool ID, cells will turn red. The sheet will produce invalid labels if this table is not sorted by Pool ID!&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Start w/ Vowel:&#039;&#039;&#039; If the Pokémon should be referred to as &amp;quot;...an [Pokémon]&amp;quot;, check this box.&lt;br /&gt;
&lt;br /&gt;
=== Talk Group &amp;amp; Role Exclusion ===&lt;br /&gt;
Continuing along the table, the next two subsections are for &amp;quot;Talk Groups&amp;quot; and &amp;quot;Role Exclusion&amp;quot;. Both of these segments relate to either the hero, or the partner.&lt;br /&gt;
[[File:Talk Groups and Role Exclusion.png|alt=Location of Talk Group and Role Exclusion Inputs|center|thumb|300x300px|Location of Talk Group and Role Exclusion Inputs]]&lt;br /&gt;
In the vanilla game, the hero and partner have differing dialogue depending on their species-specific &amp;quot;Talk Group&amp;quot;. These columns are dedicated to assigning the talk group for the hero or partner if that row&#039;s species is chosen. While it handles pronouns for dialogue, especially in gendered languages, it also affects the way the partner&#039;s dialogue is written. It does the same for the hero&#039;s dialogue, but in the English localization it only affects 2 lines in the entire game (&amp;quot;Whoa&amp;quot; &amp;lt;-&amp;gt; &amp;quot;Wah&amp;quot;, &amp;quot;All right&amp;quot; &amp;lt;-&amp;gt; &amp;quot;OK&amp;quot;). This is how they are used in vanilla:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Explorers of Sky Talk Groups&lt;br /&gt;
!#&lt;br /&gt;
!Used By&lt;br /&gt;
!Notable Species&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Partner&lt;br /&gt;
|Male Squirtle/Totodile/Chimchar/Meowth/Munchlax&lt;br /&gt;
|More Masculine/&amp;quot;Rural&amp;quot; Dialogue. (Refers to self as &amp;quot;Oira&amp;quot; in Japanese) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Partner&lt;br /&gt;
|All other Male Pokémon&lt;br /&gt;
|More Masculine/&amp;quot;Boyish&amp;quot; Dialogue. (Refers to self as &amp;quot;Boku&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Partner&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|More Feminine Dialogue. (Refers to self as &amp;quot;Watashi&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Hero&lt;br /&gt;
|All Male/Genderless Pokémon&lt;br /&gt;
|Uses Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Hero&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|Uses Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;Role Exclusion&amp;quot; checkboxes blacklist the row from being an option as a hero or as a partner respectively. Certain Pokémon, particularly Meowth and Munchlax, are unable to be heroes in the vanilla game. This section is how to replicate that feature of the original quiz.&lt;br /&gt;
&lt;br /&gt;
=== Fuwarante Blacklist ===&lt;br /&gt;
Finally, on the far end of the table, is the Fuwarante Blacklist inputs. These are perhaps the most complicated portion of this tab of the sheet.[[File:Fuwarante Blacklist.png|alt=Location of the Fuwarante Blacklist|center|thumb|300x300px|Location of the Fuwarante Blacklist]]Each column corresponds to a bit of the script variable &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt;. If the matching flag is on, the starter in that row &#039;&#039;&#039;cannot&#039;&#039;&#039; be chosen. This will be elaborated on further in the &amp;quot;Question Loop Generator&amp;quot;, but this is a brief explanation of what the bits represent by default:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Bit&lt;br /&gt;
!Description/Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|If enabled, &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt; will be true, meaning the player answered that they have played Time/Darkness before.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|If enabled, the player has played EoS before, according to a custom starting question.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|If enabled, the player has participated in a Mystery Mail event before, according to a custom ending question.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|If enabled, the player claimed to be female in the final gender question. Enable for &#039;&#039;&#039;male&#039;&#039;&#039; starters.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|If enabled, the player claimed to be male in the final gender question. Enable for &#039;&#039;&#039;female&#039;&#039;&#039; starters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
Once again, the orange output cells on the far right of this sheet are largely unimportant, but are present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Question Loop Generator ==&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The upper panel of this sheet mostly consists of inputs, though the single output is a reminder of how many unique pools are used by the Starter Selection Generator. The input directly left of it is for telling the Question Loop Generator how many pools are in use, and should be changed to match the display. On the upper left of the panel, there are inputs for how many questions the game should ask the player, and how many questions will be written for the quiz to randomly choose from. In vanilla, there are 64 possible questions, and 8 will be given to the player.&lt;br /&gt;
[[File:Question Loop Generator Upper Panel.png|alt=Location of the Upper Panel of the Question Loop Generator|center|thumb|750x750px|Location of the Upper Panel of the Question Loop Generator]]&lt;br /&gt;
The bottom row consists of checkboxes to enable/disable the Custom/Standard First and Last Questions, such as the Gender Question and the Time/Darkness Question, which boosts recruit rates for certain species if you answer yes, and adds points to certain pools containing sky-exclusive Pokémon. &lt;br /&gt;
&lt;br /&gt;
=== ExplorerScript Pre/Post Quiz Questions ===&lt;br /&gt;
Room for an additional question before and after the quiz has also been made, which along with the Gender and Time/Darkness questions can be modified in the below ExplorerScript inputs:&lt;br /&gt;
[[File:Question Loop Generator ExplorerScript Inputs.png|alt=Location of the ExplorerScript Inputs|center|thumb|600x600px|Location of the ExplorerScript Inputs]]&lt;br /&gt;
These are the primary use-cases for the Fuwarante Blacklist described above. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag will be explained in further detail below. &lt;br /&gt;
&lt;br /&gt;
== Question Generator ==&lt;br /&gt;
Note: The &amp;quot;Yes.&amp;quot; and &amp;quot;No.&amp;quot; options have the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag after them. This does functionally nothing, and exists primarily to aid in automatic string translation, as the localization teams translated the same English responses for questions differently based on context. This will be elaborated on further in &amp;quot;Full Script Translation&amp;quot;. If there are no plans to use the sheet&#039;s translation features, it is safe to remove any variants of &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt;. (instructions to do so in SkyTemple directly are present below).&lt;br /&gt;
&lt;br /&gt;
=== About Question Templates ===&lt;br /&gt;
This tab of the sheet is dedicated to the design and storage of the individual random questions in the quiz. The way this sheet works revolves   around &amp;quot;Question Templates&amp;quot; that store the question text, question number, answer text, pool ID, and points for that pool ID. Below is an example of a Question Template, and how it translates to question data: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Do you prefer to be busy or have\na lot of free time?^35 |&amp;lt;code&amp;gt;Being busy.^11^4^8^2|Free time!^9^4|In between.^12^4&amp;lt;/code&amp;gt;&lt;br /&gt;
!Question Text&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; |Question #&lt;br /&gt;
|-&lt;br /&gt;
|Do you prefer to be busy or to have a lot of free time?&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; |35&lt;br /&gt;
|-&lt;br /&gt;
!Answer Text&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
|-&lt;br /&gt;
|Being busy.&lt;br /&gt;
|11&lt;br /&gt;
|4&lt;br /&gt;
|8&lt;br /&gt;
|2&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Free time!&lt;br /&gt;
|9&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|In between.&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Question Template Input ===&lt;br /&gt;
&lt;br /&gt;
On the far left, is an input for an existing Question Template.[[File:Question Template Input.png|alt=Question Template Input Location|center|thumb|600x600px|Question Template Input Location]]The &amp;quot;Use Question Template Input&amp;quot; checkbox tells the sheet whether or not to use the Question Template provided. When writing questions entirely from scratch, disable this checkbox. When modifying existing questions, enable the checkbox, and paste in the Question Template. This will subsequently auto-fill the Question Data Inputs with the data within the template. If the auto-filled data itself needs to be altered, you will need to copy and &#039;&#039;&#039;paste values&#039;&#039;&#039; the data, then disable the checkbox.&lt;br /&gt;
&lt;br /&gt;
=== Question Data Inputs ===&lt;br /&gt;
[[File:Question Data Inputs.png|alt=Location of the Question Data Inputs Area|center|thumb|750x750px|Location of the Question Data Inputs Area]]&lt;br /&gt;
The Question Data Inputs Area should seem relatively intuitive. The question text is at the top, the answers are beneath, and up to 4 Personality Pools can gain points from each answer choice. The White Space checkbox is identical to the previous tab, and the question index is just the internal &amp;quot;ID&amp;quot; of the question. It should be incremented for each new question created, and will translate to the ID of the switch case in the final code. Note that the drop-down for the Pool Names is sourced from the Pool Names column of the Starter Selection Generator, and any changes to that list after creating the questions may lead to problems. With the current setup of the sheet, each question is limited to a maximum of 26 answer choices, but this limit is arbitrary, and can be circumvented by editing the question template manually, and pasting it in the Template List. In the event that a single question requires more than 26 choices, please ping happylappy in a support thread.&lt;br /&gt;
&lt;br /&gt;
=== Question Template Output &amp;amp; Template List ===&lt;br /&gt;
Finally, once the question is complete, a template for the question will be created in &amp;quot;Question Template Output&amp;quot;. &lt;br /&gt;
[[File:Question Template Output &amp;amp; Template List.png|alt=Location of Question Template Output &amp;amp; Template List|center|thumb|750x750px|Location of Question Template Output &amp;amp; Template List]]&lt;br /&gt;
Before moving onto the next question, copy the template output, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; in the corresponding slot on the &amp;quot;Question Template List&amp;quot;.   By default, templates for each vanilla question are already in the Question Template List, ready to be edited or modified by copying and pasting into the Question Template Input. The Script Output Column is again for debug purposes, and is read automatically by another tab of the sheet. &lt;br /&gt;
&lt;br /&gt;
== Personality Pool Selection Generator ==&lt;br /&gt;
Once the quiz itself is completed, the points need to be tallied, so that a winning pool can be selected. The exact way that this happens in vanilla is a tad complicated, especially when it comes to breaking ties. Here are the steps that occur in vanilla:&lt;br /&gt;
&lt;br /&gt;
# Points are added to pools containing Sky-Exclusive Starters if the player has played Time/Darkness.&lt;br /&gt;
#* If Male is chosen for the gender question, +4 Points are added to Relaxed, Hasty, and Sassy. (Phanpy, Shinx, and Riolu)&lt;br /&gt;
#* If Female is chosen for the gender question, +4 Points are added to Relaxed and Jolly. (Vulpix and Eevee)&lt;br /&gt;
# The highest pool is found, and chosen.&lt;br /&gt;
#* If there is a tie, it is broken by adding a random number (0-19) to each, and rescoring the points.&lt;br /&gt;
#* If there is STILL a tie, it chooses the smallest pool it can.&lt;br /&gt;
This tab of the sheet serves to implement these two features in a customizable way.&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
About half of the upper panel is actually new this time. The &amp;quot;White Space&amp;quot; and &amp;quot;Number/# of Pools In Use&amp;quot; are unchanged, except they apply to this sheet.[[File:Pool Selection Generator Upper Panel.png|alt=Location of Pool Selection Generator Upper Panel|center|thumb|600x600px|Location of Pool Selection Generator Upper Panel]]The checkbox for &amp;quot;Do Pool Tinkering&amp;quot; enables/disables the Pool Tinkering portion of this sheet, while the &amp;quot;Maximum Tiebreaker Points&amp;quot; input determines the random value added to tied pools to decide a victor. Larger numbers result in less chance of a secondary tie, but could result in overflow for certain pools. &lt;br /&gt;
&lt;br /&gt;
=== Pool Tinkering ===&lt;br /&gt;
As stated above, the vanilla quiz favors pools with Sky-Exclusive Starters for the specified gender if they&#039;ve played Time/Darkness. Through checking the &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; flags from the &amp;quot;Question Loop Generator&amp;quot;, we can mimic this effect.&lt;br /&gt;
[[File:Pool Tinkering.png|alt=Location of Pool Tinkering Portion.|center|thumb|600x600px|Location of Pool Tinkering Portion.]]&lt;br /&gt;
On the far left, are the IDs of the two flags that should be checked (without modification, this could be 0 for &amp;quot;Time/Darkness&amp;quot;, and 3/4 for &amp;quot;Male/Female&amp;quot;). Depending on if the 1st and 2nd flags are true (1), or false (0), the selected pools (as many as needed) will gain the specified number of points. In order to accommodate for the &amp;quot;Surprise Me!&amp;quot; gender option, 2 points are given for male, 2 for &amp;quot;not male&amp;quot;, 2 for &amp;quot;female&amp;quot;, and 2 for &amp;quot;not female&amp;quot;, in order to influence every pool containing a sky-exclusive starter. (A similar process is done for the Time/Darkness exclusive starters I&#039;ve added to my example quiz, if the player has NOT played time/darkness). Up to 10 slots are present for pool tinkering, though more could be added if there is a pressing need. &lt;br /&gt;
&lt;br /&gt;
== Aura Bow Generator ==&lt;br /&gt;
The Aura Bow Generator serves to emulate the cinematics of the vanilla aura bow portion of the quiz. In addition to simply detecting when and for how long the player is touching the Aura Bow, the actual bow color needs to be determined! For the vanilla quiz, the process is as follows:&lt;br /&gt;
&lt;br /&gt;
* Use DS Favorite Color (75% Chance): If the DS Favorite Color is selected, the user&#039;s favorite color will match the color of the bow.&lt;br /&gt;
* Use DS Mac Address (25% Chance): If the Mac Address is selected, then &amp;lt;code&amp;gt;mac_address &amp;amp; 0xF&amp;lt;/code&amp;gt; determines the color of the bow.&lt;br /&gt;
&lt;br /&gt;
This functionality can be replicated by QuizMenuTool, and the chances can even be altered!&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The Aura Bow Generator&#039;s Upper Panel is one of the largest of every tab, though many of these inputs are similar to prior tabs of the sheet. The top left input boxes are Special Process IDs for the 4 Special Processes needed to emulate the Aura Bow portion of the quiz, and the &amp;quot;White Space?&amp;quot; Checkbox is the same as always. The &amp;quot;Aura Bow Output&amp;quot; on the top right is the final script output for this tab, unnecessary outside of debug purposes.&lt;br /&gt;
[[File:Aura Bow Generator Upper Panel.png|alt=Location of the Aura Bow Generator Upper Panel.|center|thumb|600x600px|Location of the Aura Bow Generator Upper Panel.]]&lt;br /&gt;
Beginning with the bottom left of the panel, there are 4 map LEVEL names. &amp;quot;Bottom 1&amp;quot; is for the background while touching the Aura bow, Bottom Screen 2 is for the presentation of the colored Aura Bow, and the Bottom/Top Screen 3 is the backgrounds that the script should end with, when transitioning to the starter reveal. Finally, on the bottom right of the upper panel is the &amp;quot;Touch Screen Aura Bow Object Name&amp;quot;. Per the name, this is the name or ID of the object that should be present on the bottom screen, that will animate when the player touches it. The last three digits of the object seem to vary depending on unknown factors, so be sure to verify that yours matches by inspecting this object in M00A01A with SkyTemple.&lt;br /&gt;
[[File:Aura Bow Touch Object Name.png|alt=Where to check the Aura Bow Touch Object Name in SkyTemple|center|thumb|600x600px|Where to check the Aura Bow Touch Object Name in SkyTemple]]&lt;br /&gt;
&lt;br /&gt;
=== Aura Reading Panel ===&lt;br /&gt;
Beginning on the lower left of the tab, the Aura Reading Panel consists of 3 ExplorerScript code segments, which play before the blank aura bow fades in, after the aura bow fades in, and if the player lets go of the touch screen too quickly. &lt;br /&gt;
[[File:Aura Reading Panel.png|alt=Location of the Aura Reading Panel.|center|thumb|600x600px|Location of the Aura Reading Panel.]]&lt;br /&gt;
At the very bottom of this panel, there are inputs for dialogue in all 5 languages that will play during the aura reading process. Unlike most text in the quiz, &#039;&#039;&#039;this string must be translated here&#039;&#039;&#039;, as every localization takes a different amount of time to print the dialogue. The length of time the touch screen should have been held for is calculated for each [W:X] text tag, and compared against the actual length of time the touch screen was held. Customizing this text string is possible in the box, so these calculations must be done by the sheet. If your hack is for a US ROM, or will be english-only, disable the &amp;quot;Use EU Strings&amp;quot; Checkbox. &amp;quot;Expected Text Speed (# of chars per frame)&amp;quot; should be the speed your dialogue prints at in SkyTemple. This will ensure that the actual length of the text is properly accounted for in the calculation. &amp;quot;Touch Screen Frame Tolerance&amp;quot; is a grace period for letting go of the bow. This is necessary for certain emulators, damaged touch-screens, failure to account for the dialogue box opening/closing, etc. Feel free to adjust as desired, such that the quiz is possible to complete. &lt;br /&gt;
&lt;br /&gt;
=== Bow Selection Panel ===&lt;br /&gt;
Finally, the Bow Selection Panel handles the actual selection and presentation of the Aura Bow. [[File:Bow Selection Panel.png|alt=Bow Selection Panel Location.|center|thumb|600x600px|Bow Selection Panel Location.]]The upper left of the panel is for assigning weights to the three methods for selecting a bow color: DS Favorite Color, DS MAC Address, or a custom block of code. Note that these weights &#039;&#039;&#039;must be integers&#039;&#039;&#039; or the sheet will generate invalid code. For convenience, the percent chance of each option is computed by the sheet, based on the weights and total weight. The ExplorerScript input for the custom bow selection is on the right of this panel, and on the bottom left is the flavor-text for each bow color. &lt;br /&gt;
&lt;br /&gt;
== Variable Cleanup &amp;amp; End-Cap Generator ==&lt;br /&gt;
This tab of the sheet aims to clean up the bevy of variables used by the quiz, and prep the game for actually running. Since QMT uses a majority of the script variables the game has to function, this tab resets them all back to what they should be at the beginning of a save file, now that the quiz no longer needs them. If some part of the quiz needs to be remembered, such as the color of the aura bow, whether the player has played Time/Darkness, or the winning Quiz personality pool, that needs to be preserved in this tab. In addition, this is the tab where the starters are officially initialized, which allows them to be nicknamed. Finally, the special process for actually assigning the starters, &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;, will wipe &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; clean, replacing it with what the real quiz determined your aura bow color to be. Because the real quiz never runs during QMT, this will always be zero. As a result, the aura bow color needs to be saved somewhere besides &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;, then returned afterwards.  &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
This tab ALSO has an upper panel! The number of pools to clear should ideally match the number of pools in use. &amp;quot;White Space&amp;quot; does the same thing it has up to this point, and the far right output cell is read elsewhere, and only exists for debug purposes.&lt;br /&gt;
[[File:Variable Cleanup &amp;amp; End-Cap Upper Panel.png|alt=Variable Cleanup &amp;amp; End-Cap Upper Panel Location.|center|thumb|600x600px|Variable Cleanup &amp;amp; End-Cap Upper Panel Location.]]&lt;br /&gt;
In the center of the panel are three new checkboxes. &amp;quot;Name Partner?&amp;quot; and &amp;quot;Name Hero?&amp;quot; should be somewhat intuitive, they enable/disable the ExplorerScript inputs for naming the hero and partner respectively, which will be elaborated on below. Finally, &amp;quot;Set $VERSION to 1?&amp;quot; sets the &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt; script variable to 1 at the very end of the script. Without ASM modification, saving the game with this variable as anything besides 1 results in a &amp;quot;corrupt&amp;quot; save file. In the absence of a strong reason otherwise, this box should remain checked.&lt;br /&gt;
&lt;br /&gt;
=== Hero Name, Partner Name, &amp;amp; Closing Remarks ===&lt;br /&gt;
These ExplorerScript Inputs are for... the code used for nicknaming the partner and hero respectively, as well as the last few lines of text before the quiz truly ends.[[File:Hero-Partner-Closing Remarks Input.png|alt=Location of ExplorerScript Code Inputs.|center|thumb|600x600px|Location of ExplorerScript Code Inputs.]]Note that &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; will not function without the dedicated SkyPatch, in the QMT github repo (linked at the top). Additionally, the menus themselves will close any active text-box the instant they are done printing, which is why the hero monologue ends with a &amp;lt;code&amp;gt;[K]&amp;lt;/code&amp;gt;. A &amp;lt;code&amp;gt;message_Close();&amp;lt;/code&amp;gt; would also suffice. Finally, the closing remarks should actually fade out the BGM and screen as desired. Feel free to optimize the fades, there is probably a more efficient way to achieve the right effect. &lt;br /&gt;
&lt;br /&gt;
=== Script Variable Preservation Panel ===&lt;br /&gt;
The Script Variable Preservation Panel serves to determine what information should be preserved after the quiz. By default, only the variables storing the personality pool counts are actually being erased, though certain configurations may require some variables to be kept, and others to be wiped in addition.[[File:Script Variable Preservation Panel.png|alt=Script Variable Preservation Panel Location.|center|thumb|600x600px|Script Variable Preservation Panel Location.]]Beginning at the top, is the &amp;quot;Variable Erasure Blacklist&amp;quot;. Based on other interactions with the sheet, the &amp;quot;Automatic Variables&amp;quot; will fill up automatically, but any script variables specified in this row will be kept as they are at the end of the quiz, and not erased. An example of a manual blacklist example might be &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt;, which doesn&#039;t need a dedicated line of code for erasure if it will ALSO be set to 1 at the end. The next row, &amp;quot;Additional Variables to Erase&amp;quot;, will be added to the list of erased variables if they are not already present. The &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; variables should be erased in addition, as the Driftblim Gondola will interpret these variables as valid station passes to enter. Below that, is the &amp;quot;Variable Transfer Table&amp;quot;. Prior to erasing anything, variables in the &amp;quot;Old Variable Name&amp;quot; column will be moved to the &amp;quot;New Variable Name&amp;quot;. The old variable will be slated for erasure, while the new one will be spared. For convenience, the &amp;quot;Variable Meaning&amp;quot; Tab on the left will autofill one or both of these columns depending on the option you select:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable Meaning&lt;br /&gt;
!Old Variable Name&lt;br /&gt;
!New Variable Name&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Preserve&lt;br /&gt;
|&amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;$LOCAL0&amp;lt;/code&amp;gt;&lt;br /&gt;
|If this Variable Meaning is present, &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; will be restored in post. It&#039;s only purpose is to prevent the quiz from wiping the variable on running  &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Winning Pool&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB7&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the winning Pool ID from the quiz itself. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Winning Points&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB6&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the number of points the winning Pool ID had after the tie-breaking process. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Fuwarante Bit X&lt;br /&gt;
|&amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL[X]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|These correspond directly to the FUWARANTE blacklist, and in this example is used to pass forward the Time/Darkness question to &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt;, the variable responsible for the recruitment rate buff for playing Time/Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|Direct Script Variable&lt;br /&gt;
|Any&lt;br /&gt;
|Any&lt;br /&gt;
|This is an invitation to input whatever script variables are needed, and will adjust the coloration of the row to match. &lt;br /&gt;
|}&lt;br /&gt;
A full list of script variables with their appropriate descriptions will be provided in &amp;quot;Other Resources&amp;quot;, and might prove useful for more advanced tinkering in this panel.&lt;br /&gt;
&lt;br /&gt;
== Full Script Translation ==&lt;br /&gt;
This tab of the sheet is dedicated to translating all lines of dialogue into Spanish, French, German, and Italian, for an EU ROM. If the hack this is for doesn&#039;t need translation, this tab can be completely skipped. One of the most essential features of a translated quiz is the ability to pre-translate the vanilla text strings from the original quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
By default, the left-most checkbox of the upper panel will &amp;quot;activate&amp;quot; this sheet for translation. This may cause lag, and will cause more lag every time a change is made on one of the prior sheets, while enabled. Only begin translating once finished with the quiz, at least in the short term. [[File:Full Script Translation Upper Panel.png|alt=Location of the Full Script Translation Upper Panel.|center|thumb|600x600px|Location of the Full Script Translation Upper Panel.]]The &amp;quot;Auto-Translate Vanilla Strings&amp;quot; check-box will automatically search for and translate exact matches to vanilla Quiz strings. Additional translations can be added in &amp;quot;Vanilla Translation Strings&amp;quot; as needed. If no exact match is found, the translation will be left blank for manual translation. &amp;quot;Auto-Translate Pokemon&amp;quot; similarly will attempt to translate exact matches for dialogue specific to the final species. For example, the English string &amp;lt;code&amp;gt;[R][CN]Will be a [CS:K]Magnemite[CR]![W:60]&amp;lt;/code&amp;gt; will be automatically translated to &amp;lt;code&amp;gt;[R][CN]wird ein [CS:K]Magnetilo[CR]![W:60&amp;lt;/code&amp;gt;] (German), based on Magnemite&#039;s German name and the phrase &amp;quot;wird ein ___!&amp;quot;. This will only occur if the checkbox is enabled, and only for Pokemon names present in &amp;quot;Vanilla Translation Strings&amp;quot;. Finally, the &amp;quot;Trim [S:0] Before Translation&amp;quot; checkbox will remove all &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tags from the dialogue before searching for a match, ensuring that the various &amp;quot;Yes.&amp;quot;, &amp;quot;No.&amp;quot;. &amp;quot;Of Course!&amp;quot;, and &amp;quot;Open it!&amp;quot; are not translated automatically, per their vanilla quiz questions. Regardless of whether this checkbox is enabled, the final script output will not contain the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; tags. &lt;br /&gt;
&lt;br /&gt;
=== String Translation Panel ===&lt;br /&gt;
The string translation panel, on the right of this tab, is where text string translation will actually occur. &lt;br /&gt;
[[File:String Translation Panel.png|alt=Location of String Translation Panel.|center|thumb|600x600px|Location of String Translation Panel.]]&lt;br /&gt;
On the left, are English lines of text extracted from other tabs of the sheet. each column corresponds to an EU language (Spanish, French, German, Italian). At the top of each column, is a count of how many untranslated lines of dialogue are left for that language, as well as a checkbox to enable/disable each language. In the above screenshot, French dialogue will not be added to the final script, because the checkbox is enabled. In the rows themselves, are pink cells (vanilla translated text), green cells (empty), and blue cells (manual translation). Simply review each pink cell, and manually translate the English for that row for green cells so they turn blue. If a pink cell needs editing, simply copy the cell, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; it on top of itself, and it will turn blue, which is safe to edit. &lt;br /&gt;
&lt;br /&gt;
== Vanilla Translation Strings ==&lt;br /&gt;
This tab of the sheet is used to store vanilla strings from the base game, and official Pokemon translations. These can be amended and edited as desired, to include custom strings for auto-translation, or new Pokemon name translations. &lt;br /&gt;
[[File:Vanilla Translation Strings Dialogue.png|alt=Vanilla Translation Strings Dialogue|center|thumb|600x600px|Vanilla Translation Strings Dialogue]]&lt;br /&gt;
This area above contains all relevant vanilla strings, which can be added to or amended as desired, in the green cells in these 5 columns. If a need arises to make changes to the quiz after translation, it is best to move all manually translated lines to this tab, before making any changes. Additionally, the lookup table for Pokemon species names can be modified:&lt;br /&gt;
[[File:Vanilla Translation Strings Species.png|alt=Vanilla Translation Strings Species|center|thumb|452x452px|Vanilla Translation Strings Species]]&lt;br /&gt;
On the far right of the tab, are a list of every Pokemon through Scarlet &amp;amp; Violet, and the French/German translations for each species (Spanish and Italian use English species names). These can also be amended or added to as desired. &lt;br /&gt;
&lt;br /&gt;
== Full Script Compression ==&lt;br /&gt;
Last but not least, is the Full Script Compression Tab. This tab compiles all of the information from the other tabs, and compresses it into a copy/pastable batch of scripts for SkyTemple. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
There are a handful of settings in this upper panel. &amp;quot;White Space&amp;quot; is as it has been for every prior tab, but that&#039;s the only returning input.&lt;br /&gt;
[[File:Full Script Compression Upper Panel.png|alt=Full Script Compression Upper Panel Location.|center|thumb|600x600px|Full Script Compression Upper Panel Location.]]&lt;br /&gt;
&amp;quot;Use Full MegaScript&amp;quot; will compile the entire quiz into one script. This is only possible for English-only quizzes, and is only advised for quizzes with few questions and fewer starter choices. &amp;quot;Use Translated Scripts?&amp;quot; will use the outputs from Full Script Translation, which will be empty if the sheet is not active. Disable this checkbox for English-only quizzes. &amp;quot;Generate Unionall CORO&amp;quot; will create the unionall code needed to run the quiz, for a copy and paste replacement for the existing &amp;lt;code&amp;gt;CORO EVENT_M00A_01&amp;lt;/code&amp;gt; coroutine. The &amp;quot;Script File LEVEL Name&amp;quot; should reflect the location of the map LEVEL &amp;quot;folder&amp;quot; that the script file will actually be under. The &amp;quot;Script File SCRIPT Name&amp;quot; should become the name of the acting script itself, and should be 8 alphanumerical characters or fewer (not case-sensitive). Finally, the &amp;quot;Sector Param.&amp;quot; is the sector parameter of the &amp;lt;code&amp;gt;supervision_ExecuteActingSub();&amp;lt;/code&amp;gt; [[List of Opcodes#0x12d - supervision ExecuteActingSub|Opcode]]. Generally this should be zero, though none of these scripts internally utilize the sector parameter, should it be of interest for customization.&lt;br /&gt;
&lt;br /&gt;
=== SkyTemple Script Outputs ===&lt;br /&gt;
This portion of the sheet consists of outputs to SkyTemple. Unlike most output cells thus far, these are actually intended for use!&lt;br /&gt;
[[File:SkyTemple Script Outputs.png|alt=SkyTemple Script Outputs Location.|center|thumb|600x600px|SkyTemple Script Outputs Location.]]&lt;br /&gt;
The intended places for each of these outputs will be described in &amp;quot;Importing The Scripts To SkyTemple&amp;quot;, but when copying a script, be sure to copy all cells in the box with text.&lt;br /&gt;
&lt;br /&gt;
== Importing The Scripts To SkyTemple ==&lt;br /&gt;
Now for the fun part! Actually applying everything to SkyTemple, and seeing the quiz actually play out. This section will briefly cover installation of SkyPatches and Special Processes, though more generalized guides for these things are or will be available. First though, prior installation of StarterMenuTool will change some of these steps. &lt;br /&gt;
=== Converting From StarterMenuTool ===&lt;br /&gt;
There are very few differences between starting fresh and converting from StarterMenuTool. The differences are as follows:&lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu is Applied: Since the SkyPatch is already applied, it does not need to be applied again. It can be reapplied without issue, though it already exists in the ROM.&lt;br /&gt;
* Existing Special Processes: Older versions of &amp;lt;code&amp;gt;starter_setter&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; were added via StarterMenuTool. These may function as intended for QMT, especially &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; which has seen zero change between the two tools, but it is recommended to update them by replacing them, or to use new slots for the QMT SPs.&lt;br /&gt;
* Existing Acting Script: StarterMenuTool takes the same approach as QMT in creating a new acting scene for the quiz itself. This existing script can be repurposed into one of the QMT acting scripts, though with SkyTemple alone it cannot be renamed, meaning the script name it will be used for in the Full Script Compression Upper Panel must be renamed.&lt;br /&gt;
* Edit to Vanilla Quiz: StarterMenuTool modifies the original quiz script m00a01a.ssb. While these changes have no net impact on QMT, it would impact the debug mode, as the code to create a team from the default starters has been removed. If this functionality needs to be restored, simply add the following line after &amp;quot;if ( debug ) {&amp;quot; in m00a01a.ssb:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;switch ( ProcessSpecial(PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ, 0, 0) ) { }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Existing Unionall Edit: StarterMenuTool also requires the modification of &amp;lt;code&amp;gt;coro EVENT_M00A_01&amp;lt;/code&amp;gt;. QuizMenuTool will require this coroutine to be edited to run m00a01a in debug mode, and the QMT scripts otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Installing the SkyPatches ===&lt;br /&gt;
In order for QuizMenuTool to function, the following SkyPatches must be applied. &lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu: Gives &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; the ability to actually nickname the partner. Requires ExtraSpace as a pre-requisite.&lt;br /&gt;
* ExtractSPCode: Enables the use of custom Special Processes used heavily by QMT.&lt;br /&gt;
&lt;br /&gt;
Installing FixPartnerNameMenu is relatively simple. After downloading the file from the github repo, navigate to &amp;lt;code&amp;gt;Patches -&amp;gt; ASM&amp;lt;/code&amp;gt; in SkyTemple. Then, click the &amp;quot;Open Patch Directory&amp;quot; button.&lt;br /&gt;
[[File:InstallFixPartnerNamePatch.png|alt=The &amp;quot;Open Patch Folder&amp;quot; button is on the bottom left.|center|thumb|600x600px|The &amp;quot;Open Patch Directory&amp;quot; button is on the bottom left.]]&lt;br /&gt;
Finally, drag &amp;lt;code&amp;gt;FixPartnerName.skypatch&amp;lt;/code&amp;gt; into the folder, and close it. The patch will now be in the &amp;quot;Others&amp;quot; Tab, ready for installation. If ExtraSpace is not installed, SkyTemple will prompt the installation of both patches sequentially. This is good, do that. &lt;br /&gt;
&lt;br /&gt;
Next, is the installation of ExtractSPCode. Once again, navigate to &amp;lt;code&amp;gt;Patches-&amp;gt;ASM&amp;lt;/code&amp;gt;, and select the &amp;quot;Utility&amp;quot; tab. Install ExtractSPCode, and any necessary pre-requisites (there shouldn&#039;t be any, except maybe ExtraSpace). &lt;br /&gt;
[[File:ExtractSPCode.png|alt=ExtractSPCode Location|center|thumb|600x600px|ExtractSPCode Location]]&lt;br /&gt;
&lt;br /&gt;
=== Applying The Special Processes ===&lt;br /&gt;
Now for installing the Special Processes themselves. If the hack already has custom Special Processes it wishes to keep, or the IDs of the special processes in the sheet have been changed, apply the SPs as desired, but ensure the sheet has accurate IDs (NOT Effects), so it can call them. For simplicity, these are the default locations of each SP:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Spreadsheet Tab&lt;br /&gt;
!Spreadsheet Input Name&lt;br /&gt;
!SP File Name&lt;br /&gt;
!ID&lt;br /&gt;
!Effect&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|starter_setter SP ID&lt;br /&gt;
|starter_setter.asm&lt;br /&gt;
|64&lt;br /&gt;
|61&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|set_frame_color SP ID&lt;br /&gt;
|set_frame_color.asm&lt;br /&gt;
|65&lt;br /&gt;
|62&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|CheckTSPress SP ID&lt;br /&gt;
|CheckTSPress.asm&lt;br /&gt;
|66&lt;br /&gt;
|63&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|ReturnTSPFrames SP ID&lt;br /&gt;
|ReturnTSPFrames.asm&lt;br /&gt;
|67&lt;br /&gt;
|64&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|MoveText2TopScreen SP ID&lt;br /&gt;
|MoveText2TopScreen.asm&lt;br /&gt;
|68&lt;br /&gt;
|65&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|Set_Demo_Character SP ID&lt;br /&gt;
|Set_Demo_Character.asm&lt;br /&gt;
|69&lt;br /&gt;
|66&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|get_favorite_config_color SP ID&lt;br /&gt;
|get_favorite_config_color.asm&lt;br /&gt;
|70&lt;br /&gt;
|67&lt;br /&gt;
|}&lt;br /&gt;
Ensure that you download the correct set of special processes for your version of the ROM (US or EU). Next, navigate to                       &amp;lt;code&amp;gt;Patches-&amp;gt;ASM-&amp;gt;Special Processes&amp;lt;/code&amp;gt;, and click the &amp;quot;Add Special Process&amp;quot; button until enough IDs are in the list for each new Special Process.&lt;br /&gt;
[[File:How2AddSpecialProcesses1.png|alt=The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.|center|thumb|600x600px|The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.]]&lt;br /&gt;
The list should look like it does in the image when done. With that completed, navigate to the &amp;quot;Effects Code&amp;quot; tab. Click the &amp;quot;+&amp;quot; Button to create a new effect. Then, click the &amp;quot;Import Code&amp;quot; button at the bottom to select the special process to be imported to this effect.&lt;br /&gt;
[[File:How2AddSpecialProcesses2.png|center|thumb|600x600px|Clicking the &amp;quot;+&amp;quot; Button adds a new effect. Each new effect must have the correct .asm file imported into it, as specified in the table.]]&lt;br /&gt;
In the above image, Special Process &amp;lt;code&amp;gt;starter_setter.asm&amp;lt;/code&amp;gt; is being imported to Effect 61, which corresponds to ID 64. Similarly, &amp;lt;code&amp;gt;set_frame_color.asm&amp;lt;/code&amp;gt; should be imported to Effect 62 (ID 65), &amp;lt;code&amp;gt;CheckTSPress.asm&amp;lt;/code&amp;gt; should be imported to Effect 63, etc.&lt;br /&gt;
&lt;br /&gt;
Once all the necessary Special Processes have been imported to their effects, the last thing that needs to be done is assigning the effects to their IDs. Navigating back to the &amp;quot;Special Process Effects&amp;quot; tab, assign each effect to the correct ID, as shown below:&lt;br /&gt;
[[File:How2AddSpecialProcesses3.png|alt=Simply clicking on the effect cell will allow it to be edited.|center|thumb|600x600px|Simply clicking on the effect cell will allow it to be edited.]]&lt;br /&gt;
With that, SP importing is complete, and all that remains is to save the ROM.&lt;br /&gt;
&lt;br /&gt;
=== Creating QMT Script Files ===&lt;br /&gt;
Next, is the process of actually creating the QMT script files. For simplicity, this guide will demonstrate the process on LEVEL_S02P01A, the same location in the script files as the original quiz. If you plan on putting the QMT script files elsewhere, ensure this is properly accounted for in Full Script Compression. Navigate to Script Scenes-&amp;gt;S02P01A. If you are using a MegaScript, create ONE new acting scene. Otherwise, create four of them, each with the name in FullScriptCompression.&lt;br /&gt;
[[File:ImportingQMTScriptFiles1.png|alt=Be sure you click &amp;quot;Create Acting Scene&amp;quot;! It is important that these scripts are acting scenes.|center|thumb|600x600px|Be sure you click &amp;quot;Create Acting Scene&amp;quot;! It is important that these scripts are acting scenes.]]&lt;br /&gt;
The newly created scenes should appear in the Acting (ssa) folder. Navigate to the first one created, and double-click on &amp;quot;[script-name].ssb&amp;quot;.&lt;br /&gt;
[[File:ImportingQMTScriptFiles2.png|alt=In this case, &amp;quot;qmt01.ssb&amp;quot; on the right will open the script file&#039;s &amp;quot;ssb&amp;quot; code.|center|thumb|600x600px|In this case, &amp;quot;qmt01.ssb&amp;quot; on the right will open the script file&#039;s &amp;quot;ssb&amp;quot; code.]]&lt;br /&gt;
&lt;br /&gt;
From there, simply paste from the respective part of the sheet, and attempt to save the script.&lt;br /&gt;
[[File:ImportingQMTScriptFiles3.png|center|thumb|600x600px|You can also navigate between script files with the search bar on the left!]]&lt;br /&gt;
&lt;br /&gt;
Repeat the process of pasting in the remaining scripts. Finally, the script that contains the aura bow segment of the quiz (script #2 or the megascript) needs additional work done to the .ssa file. Navigate to S02P01A-&amp;gt;M00A01A, and click the Export Button (square with an up arrow in it).&lt;br /&gt;
[[File:Export Quiz .ssa.png|alt=Visual for exporting the .ssa for M00A01A for QuizMenuTool|center|thumb|600x600px|The Export Button is up top!]]&lt;br /&gt;
Then just import this file into the script containing the Aura Bow segment, as shown below:&lt;br /&gt;
[[File:Aura Bow SSA import.png|center|thumb|600x600px|The Export Button is right next to the Import button!]]&lt;br /&gt;
After that, save the ROM. The quiz is nearly ready, all that&#039;s left is setting up unionall...&lt;br /&gt;
&lt;br /&gt;
=== Editing Unionall ===&lt;br /&gt;
Unionall is a big file, but there&#039;s only a very specific part that needs to be edited. Open Unionall by using the search bar in the Script Engine Debugger, then do CTRL + F (Command + F for Mac, you should know your equivalent if you use Linux) to find coroutine inside unionall.&lt;br /&gt;
[[File:Unionall coro EVENT M00A 01.png|center|thumb|600x600px|Be sure you search for EXACTLY &amp;quot;coro EVENT_M00A_01&amp;quot;. This should be the only match!]]&lt;br /&gt;
Once you find it, select the entire coroutine, and replace it with the unionall final output. the result should look something like this:&lt;br /&gt;
[[File:QMT coro EVENT M00A 01.png|center|thumb|600x600px|Modified Unionall Coroutine, should look roughly like this after pasting.]]&lt;br /&gt;
With that, save unionall, and the quiz is ready for testing! &lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== The Game Crashed before the first script loaded! ===&lt;br /&gt;
Do your script names and locations match between unionall (or the sheet if it&#039;s making the unionall coro), and your script file names? If not, that would cause a crash. &lt;br /&gt;
&lt;br /&gt;
=== The Game Crashed When a SP tried to run! ===&lt;br /&gt;
Have you used the correct SP IDs and regions? Might be worth importing them again, just in case.&lt;br /&gt;
&lt;br /&gt;
=== The Game Crashed/Glitched out between scripts! ===&lt;br /&gt;
That is... concerning. See, script files are capable of overwriting other things in RAM if they&#039;re too big (which is why QMT usually splits into 4 separate scripts). Quizzes with an obscene number of questions or starters may still overwrite something important in RAM anyway, which would need to be handled on a case-by-case basis.&lt;br /&gt;
&lt;br /&gt;
=== One of my scripts won&#039;t save! ===&lt;br /&gt;
That&#039;s concerning, but could be the result of leaving a question or starter unfinished? Depends heavily on the error message.&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
&lt;br /&gt;
=== QMT Script Variable Map ===&lt;br /&gt;
Below is a table of every script variable used by QuizMenuTool, and what their use-case is for each script. Any variable absent from the table is unused by QMT directly. Variable usage can perhaps be optimized somewhat, but this map functions properly.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Script Variable Name&lt;br /&gt;
!Index&lt;br /&gt;
!Script #1&lt;br /&gt;
!Script #2&lt;br /&gt;
!Script #3&lt;br /&gt;
!Script #4&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB1&lt;br /&gt;
|0&lt;br /&gt;
|Backup of Pre-Quiz $PLAYER_KIND&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning # of Points Backup&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB2&lt;br /&gt;
|0&lt;br /&gt;
|Backup of 0th index of Pre-Quiz $PLAYER_KIND_BACKUP&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning Pool ID Backup&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB3&lt;br /&gt;
|0&lt;br /&gt;
|Backup of Pre-Quiz $ATTENDANT1_KIND&lt;br /&gt;
| -&lt;br /&gt;
|# of times hero gen. failed&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB4&lt;br /&gt;
|0&lt;br /&gt;
|Backup of 0th index of Pre-Quiz $ATTENDANT1_KIND_BACKUP&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|$BIT_FUWARANTE_LOCAL&lt;br /&gt;
|All&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |FUWARANTE blacklist flags&lt;br /&gt;
|-&lt;br /&gt;
|$LOCAL0&lt;br /&gt;
| -&lt;br /&gt;
|Max # of points.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning # of Points / (Aura Bow Color Backup)&lt;br /&gt;
|-&lt;br /&gt;
|$LOCAL1&lt;br /&gt;
| -&lt;br /&gt;
|# Questions Asked / Winning Pool ID&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning Pool ID&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_TALK_BIT_FLAG&lt;br /&gt;
|Varies&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |Question Has Been Asked?&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |# of tied pools (-1 if not checking ties)&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SIDE&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |# of pts to add to tied pool&lt;br /&gt;
|-&lt;br /&gt;
|$RECYCLE_COUNT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |Post-Tie Max # of Pts.&lt;br /&gt;
|-&lt;br /&gt;
|$CONFIG_COLOR_KIND&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Aura Bow Color&lt;br /&gt;
|-&lt;br /&gt;
|$HERO_TALK_KIND&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; |Hero Talk Group&lt;br /&gt;
|-&lt;br /&gt;
|$PARTNER_TALK_KIND&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Partner Talk Group&lt;br /&gt;
|-&lt;br /&gt;
|$VERSION&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 0 Pts.&lt;br /&gt;
|Reset to 1&lt;br /&gt;
|-&lt;br /&gt;
|$CRYSTAL_COLOR_01&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 1 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$CRYSTAL_COLOR_02&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 2 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$CRYSTAL_COLOR_03&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 3 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$COMPULSORY_SAVE_POINT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 4 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$COMPULSORY_SAVE_POINT_SIDE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 5 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SELECT_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 6 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 7 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER_LINK&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 8 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_GETOUT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 9 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_MAP&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 10 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_PLACE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 11 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 12 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER_LINK_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 13 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_GETOUT_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 14 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_MAP_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 15 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_PLACE_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 16 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_SELECT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 17 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 18 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_MODE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 19 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_INDEX&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 20 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_RESULT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 21 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_START_MODE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 22 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 23 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_MODE_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 24 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_INDEX_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 25 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_RESULT_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 26 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_START_MODE_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 27 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$REQUEST_CLEAR_COUNT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 28 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PLAYER_KIND&lt;br /&gt;
| -&lt;br /&gt;
|Pool 29 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT1_KIND&lt;br /&gt;
| -&lt;br /&gt;
|Pool 30 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT2_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 31 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PLAYER_KIND_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
|Pool 32 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT1_KIND_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
|Pool 33 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT2_KIND_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 34 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$HERO_FIRST_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 35 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PARTNER_FIRST_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 36 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$RANDOM_REQUEST_NPC03_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 37 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$WORLD_MAP_LEVEL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 38 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$EVENT_LOCAL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 39 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_EVENT_LOCAL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 40 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$LOTTERY_RESULT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 41 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 42 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP_KUREKURE&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 43 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP_TAKE&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 44 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP_GET&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 45 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$REQUEST_THANKS_RESULT_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 46 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$REQUEST_THANKS_RESULT_VARIATION&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 47 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$SUB30_SPOT_LEVEL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 48 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$TEAM_RANK_EVENT_LEVEL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 49 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PLAY_OLD_GAME&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 50 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1206</id>
		<title>QuizMenuTool Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1206"/>
		<updated>2025-08-10T22:13:18Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* QMT Script Variable Map */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;{{SkyTempleIcon|icon=skytemple-dialog-error-symbolic}} This article is unfinished. You can help &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:{{PAGENAME}}|veaction=edit}} expanding it]&amp;lt;/span&amp;gt;.&#039;&#039;&amp;lt;hr&amp;gt;This guide explains how to use QuizMenuTool to create a custom Personality Quiz. The bulk of this guide will explain the use of the google sheets portion of the tool. A rudimentary understanding of SkyTemple scripting is helpful for this task, but not strictly required. These topics will be covered at the end for the sake of completion, but only to the extent that they are needed for QuizMenuTool. &lt;br /&gt;
&lt;br /&gt;
== About QuizMenuTool ==&lt;br /&gt;
&lt;br /&gt;
=== What Is QuizMenuTool? ===&lt;br /&gt;
QuizMenuTool is a customizable ExplorerScript replica of the Explorers of Sky Personality Quiz and Starter Selection, with minimal hardcoded aspects. The original quiz was designed to consist mostly of &amp;lt;code&amp;gt;message_Menu()&amp;lt;/code&amp;gt; ASM, to make editing the personality quiz accessible without the need to learn ASM. &lt;br /&gt;
&lt;br /&gt;
=== What can QuizMenuTool do? ===&lt;br /&gt;
QuizMenuTool can modify the process of using the quiz to select a starter, expand/reduce the starter list, add/remove/modify questions from the quiz, and much more! In fact, the better question might be...&lt;br /&gt;
&lt;br /&gt;
=== What Limitations does QuizMenuTool have? ===&lt;br /&gt;
There are a few critical things QuizMenuTool was not designed to do, though many of these could be remedied in the future if enough demand exists. Here&#039;s a list of what QuizMenuTool fails to replicate from the vanilla quiz:&lt;br /&gt;
&lt;br /&gt;
* Hero/Partner Type Exclusion: In the vanilla quiz, the hero and partner are prevented from sharing a type, to encourage team balance. No   option for such a restriction has been implemented yet, though such a thing would be possible in the future, or be scripted manually for a specific hack. &lt;br /&gt;
* SwitchMenu Portraits: In the vanilla quiz, scrolling to a partner choice displays a portrait of that partner, which gradually changes in expression. This feature would require significant custom code to emulate, and is unlikely to be available for QuizMenuTool.&lt;br /&gt;
* Third Party Starter Tweaks: The original starter list is &#039;&#039;&#039;completely unused&#039;&#039;&#039; by QuizMenuTool. Changing it has no impact on the quiz. Players of a hack using QuizMenuTool will have difficulty adding their own starters to the game, though this could potentially be remedied with a special process checking the starter list against what it is expected to be, and assigning the desired starter if a mismatch is found?&lt;br /&gt;
* Incompatibility with Japanese ROMs: Currently, QuizMenuTool is designed to only work for NA and EU ROMs. while in theory a Japanese Quiz could be designed, the Special Processes are not Japanese-compatible. This could be remedied with little effort, but the tool is designed for EU/NA ROMs.&lt;br /&gt;
&lt;br /&gt;
== Who QuizMenuTool is for ==&lt;br /&gt;
If either of the below points do not apply to you, you do not need QuizMenuTool.&lt;br /&gt;
* You would like to expand (or shrink) the list of starter options in the game.&lt;br /&gt;
* You would like to keep the personality quiz in the game, or edit the quiz directly.&lt;br /&gt;
If you only want to change the size of the starter list, and do not want the personality quiz (as if the [[SkipQuiz]] patch is applied), you should instead use [https://github.com/Chesyon/StarterMenuTool StarterMenuTool], which is less powerful but requires much less work to set up.&lt;br /&gt;
&lt;br /&gt;
== Programs and Files ==&lt;br /&gt;
&lt;br /&gt;
=== Required Programs and Files ===&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1snwIq3-GHntcPTBwH-TJ5Ctk0a8l4pwXTZYwCs53dwo/edit?usp=sharing Explorers of Sky Personality Quiz Assembling Sheet]&lt;br /&gt;
* [https://github.com/HappyLappy1/EOS-QuizGenerationTool-ASM Necessary Special Processes and SkyPatches]&lt;br /&gt;
* [[SkyTemple]] &lt;br /&gt;
&lt;br /&gt;
== General Spreadsheet Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Making a Copy of the Sheet ===&lt;br /&gt;
The above link does NOT grant edit access. In order to use the sheet, a copy will need to be made as follows:&lt;br /&gt;
[[File:Copying a Spreadsheet.png|thumb|750x750px|Location of the &amp;quot;File&amp;quot; and &amp;quot;Make a Copy&amp;quot; buttons. |center]]&lt;br /&gt;
First click the &amp;quot;File&amp;quot; button on the top left. Next, &amp;quot;Make a Copy&amp;quot; of the sheet. Finally, name the copy as desired. &lt;br /&gt;
&lt;br /&gt;
=== Cell Color-Coding ===&lt;br /&gt;
Throughout the spreadsheet, most cells are color-coded. Here&#039;s a brief explanation of each color present in the sheet: &lt;br /&gt;
&lt;br /&gt;
* Green Cells are for user input. If a cell is green, it is intended to contain input data.&lt;br /&gt;
* Grey Cells contain formulas. They will update automatically, and should not be edited.&lt;br /&gt;
* Orange Cells are for user outputs. If a cell is orange, it is intended to be exported elsewhere, such as to a SkyTemple script.&lt;br /&gt;
* Cells without a color or of an unspecified color are typically safe to edit. Always check for a formula first though!&lt;br /&gt;
&lt;br /&gt;
=== Paste Values Only ===&lt;br /&gt;
This tab is the first which will require the use of &amp;quot;Paste Values&amp;quot;. When this guide specifies that a copy/paste must &amp;quot;Paste Values&amp;quot;, this means that the copied text is a formula, and the pasted text should not be a formula. &lt;br /&gt;
[[File:How To Paste Values.png|alt=Depiction of the &amp;quot;Values Only&amp;quot; button in the menu|center|thumb|600x600px|Depiction of the &amp;quot;Values Only&amp;quot; button in the menu]]&lt;br /&gt;
There are two ways to paste values, either by right-clicking the paste location and selecting &amp;quot;Paste Special&amp;quot; then &amp;quot;Values Only&amp;quot;, or by holding shift as you paste. &lt;br /&gt;
&lt;br /&gt;
== Quiz Preamble Generator ==&lt;br /&gt;
The Quiz Preamble Generator Tab as a whole exists to create the very beginning of the quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
Most tabs in the sheet contain an upper panel of some kind, with various simple inputs and feedback on them:&lt;br /&gt;
[[File:Preamble Upper Panel.png|alt=Location of the Quiz Preamble Generator&#039;s Upper Panel.|center|thumb|750x750px|Location of the Quiz Preamble Generator&#039;s Upper Panel.]]&lt;br /&gt;
The &amp;quot;Bottom Screen&amp;quot; and &amp;quot;Top Screen&amp;quot; inputs are the map ID that should be used for that screen&#039;s background. Similarly, the Background Music Name/ID is a BGM name (or number) of the BGM that should play throughout the quiz. The &amp;quot;White Space?&amp;quot; checkbox will attempt to add indents to the output ExplorerScript lines, making the output script more human-readable.&lt;br /&gt;
&lt;br /&gt;
=== Preamble Text ===&lt;br /&gt;
This is the first of many direct inputs for ExplorerScript code. Due to the way spreadsheets store cell data, &amp;quot; &amp;quot; behave weirdly when present in the final script. Please use &#039; &#039; instead. This input is for the first set of dialogue before the questions actually begin. &lt;br /&gt;
[[File:Quiz Preamble Location.png|alt=Location of the Quiz Preamble Inputs|center|thumb|600x600px|Location of the Quiz Preamble Inputs]]&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
The orange output cell on this sheet is largely unimportant, but is present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Starter Selection Generator ==&lt;br /&gt;
This tab of the sheet is primarily for inputting data about the starters, or the personality pools they belong to. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
[[File:Starter Selection Upper Panel.png|alt=The Upper Panel for the &amp;quot;Starter Selection Generator&amp;quot; Tab|thumb|750x750px|Location of the &amp;quot;Upper Panel&amp;quot; for the &amp;quot;Starter Selection Generator&amp;quot; Tab|center]]This upper panel contains 4 inputs, 3 of which are for Special Processes pertaining to starter selection. If other Special Processes have already been added, these Special Process IDs will need to be changed to free slots. The &amp;quot;White Space?&amp;quot; checkbox is the same as before, except for this tab of the sheet. The 4 grey cells are useful statistics about the input starters: how many different pools are used by the starters, how many species are present, and how many options there are for the hero and partner. &lt;br /&gt;
&lt;br /&gt;
=== Personality Pool Input ===&lt;br /&gt;
Next, on the lower right is the nature &amp;quot;Pool&amp;quot; input. These contain the pool name, and the text that should be displayed if that pool is selected by the quiz. &lt;br /&gt;
[[File:Personality Pools Input.png|alt=Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names and descriptions go.|center|thumb|450x450px|Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names/descriptions go.]]&lt;br /&gt;
The &amp;quot;Pool Name&amp;quot; field is only used by the Question Generator Tab, and will not show up anywhere in the final script. Modify these as desired as soon as possible, as it will be difficult to do so after designing the quiz questions. &#039;&#039;&#039;For best results, ensure all pool names are unique!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Starter Species Data ===&lt;br /&gt;
The bottom left segment of the sheet is the &amp;quot;Starter Species Data&amp;quot; input. This is part of a wider table, but each segment will be discussed individually. &lt;br /&gt;
[[File:Starter Species Data Location.png|alt=Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.|center|thumb|750x750px|Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.]]&lt;br /&gt;
While some of these fields should be intuitive, A brief description of each column is as follows:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Species Name:&#039;&#039;&#039; The name of the species as you want it shown in the quiz. If the cell turns purple on entering a species name, this means the Pokémon could not be found in &#039;&#039;&#039;Vanilla Translation Strings&#039;&#039;&#039;. French and German Translations will need to be added by hand, or all strings involving the Pokémon will need to be translated manually.&lt;br /&gt;
* &#039;&#039;&#039;Species ID:&#039;&#039;&#039; The ID in SkyTemple of the Pokémon. &#039;&#039;&#039;[TODO: Explain how this is affected by ExpandPokeList]&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Gender:&#039;&#039;&#039; The gender of the Pokémon, used to set the frame color, and to add &amp;quot;♂&amp;quot; and &amp;quot;♀&amp;quot; to the hero/partner selection list. 0 is Male, 1 is Female, and 2 is Genderless.&lt;br /&gt;
* &#039;&#039;&#039;Pool ID:&#039;&#039;&#039; The number of the Pool the Pokémon should be categorized under. Each Pool that could be chosen by the Quiz should have at least one valid Pokémon, or Bulbasaur will be selected as a failsafe. &#039;&#039;&#039;If the species are not sorted by Pool ID, cells will turn red. The sheet will produce invalid labels if this table is not sorted by Pool ID!&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Start w/ Vowel:&#039;&#039;&#039; If the Pokémon should be referred to as &amp;quot;...an [Pokémon]&amp;quot;, check this box.&lt;br /&gt;
&lt;br /&gt;
=== Talk Group &amp;amp; Role Exclusion ===&lt;br /&gt;
Continuing along the table, the next two subsections are for &amp;quot;Talk Groups&amp;quot; and &amp;quot;Role Exclusion&amp;quot;. Both of these segments relate to either the hero, or the partner.&lt;br /&gt;
[[File:Talk Groups and Role Exclusion.png|alt=Location of Talk Group and Role Exclusion Inputs|center|thumb|300x300px|Location of Talk Group and Role Exclusion Inputs]]&lt;br /&gt;
In the vanilla game, the hero and partner have differing dialogue depending on their species-specific &amp;quot;Talk Group&amp;quot;. These columns are dedicated to assigning the talk group for the hero or partner if that row&#039;s species is chosen. While it handles pronouns for dialogue, especially in gendered languages, it also affects the way the partner&#039;s dialogue is written. It does the same for the hero&#039;s dialogue, but in the English localization it only affects 2 lines in the entire game (&amp;quot;Whoa&amp;quot; &amp;lt;-&amp;gt; &amp;quot;Wah&amp;quot;, &amp;quot;All right&amp;quot; &amp;lt;-&amp;gt; &amp;quot;OK&amp;quot;). This is how they are used in vanilla:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Explorers of Sky Talk Groups&lt;br /&gt;
!#&lt;br /&gt;
!Used By&lt;br /&gt;
!Notable Species&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Partner&lt;br /&gt;
|Male Squirtle/Totodile/Chimchar/Meowth/Munchlax&lt;br /&gt;
|More Masculine/&amp;quot;Rural&amp;quot; Dialogue. (Refers to self as &amp;quot;Oira&amp;quot; in Japanese) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Partner&lt;br /&gt;
|All other Male Pokémon&lt;br /&gt;
|More Masculine/&amp;quot;Boyish&amp;quot; Dialogue. (Refers to self as &amp;quot;Boku&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Partner&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|More Feminine Dialogue. (Refers to self as &amp;quot;Watashi&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Hero&lt;br /&gt;
|All Male/Genderless Pokémon&lt;br /&gt;
|Uses Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Hero&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|Uses Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;Role Exclusion&amp;quot; checkboxes blacklist the row from being an option as a hero or as a partner respectively. Certain Pokémon, particularly Meowth and Munchlax, are unable to be heroes in the vanilla game. This section is how to replicate that feature of the original quiz.&lt;br /&gt;
&lt;br /&gt;
=== Fuwarante Blacklist ===&lt;br /&gt;
Finally, on the far end of the table, is the Fuwarante Blacklist inputs. These are perhaps the most complicated portion of this tab of the sheet.[[File:Fuwarante Blacklist.png|alt=Location of the Fuwarante Blacklist|center|thumb|300x300px|Location of the Fuwarante Blacklist]]Each column corresponds to a bit of the script variable &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt;. If the matching flag is on, the starter in that row &#039;&#039;&#039;cannot&#039;&#039;&#039; be chosen. This will be elaborated on further in the &amp;quot;Question Loop Generator&amp;quot;, but this is a brief explanation of what the bits represent by default:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Bit&lt;br /&gt;
!Description/Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|If enabled, &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt; will be true, meaning the player answered that they have played Time/Darkness before.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|If enabled, the player has played EoS before, according to a custom starting question.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|If enabled, the player has participated in a Mystery Mail event before, according to a custom ending question.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|If enabled, the player claimed to be female in the final gender question. Enable for &#039;&#039;&#039;male&#039;&#039;&#039; starters.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|If enabled, the player claimed to be male in the final gender question. Enable for &#039;&#039;&#039;female&#039;&#039;&#039; starters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
Once again, the orange output cells on the far right of this sheet are largely unimportant, but are present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Question Loop Generator ==&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The upper panel of this sheet mostly consists of inputs, though the single output is a reminder of how many unique pools are used by the Starter Selection Generator. The input directly left of it is for telling the Question Loop Generator how many pools are in use, and should be changed to match the display. On the upper left of the panel, there are inputs for how many questions the game should ask the player, and how many questions will be written for the quiz to randomly choose from. In vanilla, there are 64 possible questions, and 8 will be given to the player.&lt;br /&gt;
[[File:Question Loop Generator Upper Panel.png|alt=Location of the Upper Panel of the Question Loop Generator|center|thumb|750x750px|Location of the Upper Panel of the Question Loop Generator]]&lt;br /&gt;
The bottom row consists of checkboxes to enable/disable the Custom/Standard First and Last Questions, such as the Gender Question and the Time/Darkness Question, which boosts recruit rates for certain species if you answer yes, and adds points to certain pools containing sky-exclusive Pokémon. &lt;br /&gt;
&lt;br /&gt;
=== ExplorerScript Pre/Post Quiz Questions ===&lt;br /&gt;
Room for an additional question before and after the quiz has also been made, which along with the Gender and Time/Darkness questions can be modified in the below ExplorerScript inputs:&lt;br /&gt;
[[File:Question Loop Generator ExplorerScript Inputs.png|alt=Location of the ExplorerScript Inputs|center|thumb|600x600px|Location of the ExplorerScript Inputs]]&lt;br /&gt;
These are the primary use-cases for the Fuwarante Blacklist described above. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag will be explained in further detail below. &lt;br /&gt;
&lt;br /&gt;
== Question Generator ==&lt;br /&gt;
Note: The &amp;quot;Yes.&amp;quot; and &amp;quot;No.&amp;quot; options have the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag after them. This does functionally nothing, and exists primarily to aid in automatic string translation, as the localization teams translated the same English responses for questions differently based on context. This will be elaborated on further in &amp;quot;Full Script Translation&amp;quot;. If there are no plans to use the sheet&#039;s translation features, it is safe to remove any variants of &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt;. (instructions to do so in SkyTemple directly are present below).&lt;br /&gt;
&lt;br /&gt;
=== About Question Templates ===&lt;br /&gt;
This tab of the sheet is dedicated to the design and storage of the individual random questions in the quiz. The way this sheet works revolves   around &amp;quot;Question Templates&amp;quot; that store the question text, question number, answer text, pool ID, and points for that pool ID. Below is an example of a Question Template, and how it translates to question data: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Do you prefer to be busy or have\na lot of free time?^35 |&amp;lt;code&amp;gt;Being busy.^11^4^8^2|Free time!^9^4|In between.^12^4&amp;lt;/code&amp;gt;&lt;br /&gt;
!Question Text&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; |Question #&lt;br /&gt;
|-&lt;br /&gt;
|Do you prefer to be busy or to have a lot of free time?&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; |35&lt;br /&gt;
|-&lt;br /&gt;
!Answer Text&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
|-&lt;br /&gt;
|Being busy.&lt;br /&gt;
|11&lt;br /&gt;
|4&lt;br /&gt;
|8&lt;br /&gt;
|2&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Free time!&lt;br /&gt;
|9&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|In between.&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Question Template Input ===&lt;br /&gt;
&lt;br /&gt;
On the far left, is an input for an existing Question Template.[[File:Question Template Input.png|alt=Question Template Input Location|center|thumb|600x600px|Question Template Input Location]]The &amp;quot;Use Question Template Input&amp;quot; checkbox tells the sheet whether or not to use the Question Template provided. When writing questions entirely from scratch, disable this checkbox. When modifying existing questions, enable the checkbox, and paste in the Question Template. This will subsequently auto-fill the Question Data Inputs with the data within the template. If the auto-filled data itself needs to be altered, you will need to copy and &#039;&#039;&#039;paste values&#039;&#039;&#039; the data, then disable the checkbox.&lt;br /&gt;
&lt;br /&gt;
=== Question Data Inputs ===&lt;br /&gt;
[[File:Question Data Inputs.png|alt=Location of the Question Data Inputs Area|center|thumb|750x750px|Location of the Question Data Inputs Area]]&lt;br /&gt;
The Question Data Inputs Area should seem relatively intuitive. The question text is at the top, the answers are beneath, and up to 4 Personality Pools can gain points from each answer choice. The White Space checkbox is identical to the previous tab, and the question index is just the internal &amp;quot;ID&amp;quot; of the question. It should be incremented for each new question created, and will translate to the ID of the switch case in the final code. Note that the drop-down for the Pool Names is sourced from the Pool Names column of the Starter Selection Generator, and any changes to that list after creating the questions may lead to problems. With the current setup of the sheet, each question is limited to a maximum of 26 answer choices, but this limit is arbitrary, and can be circumvented by editing the question template manually, and pasting it in the Template List. In the event that a single question requires more than 26 choices, please ping happylappy in a support thread.&lt;br /&gt;
&lt;br /&gt;
=== Question Template Output &amp;amp; Template List ===&lt;br /&gt;
Finally, once the question is complete, a template for the question will be created in &amp;quot;Question Template Output&amp;quot;. &lt;br /&gt;
[[File:Question Template Output &amp;amp; Template List.png|alt=Location of Question Template Output &amp;amp; Template List|center|thumb|750x750px|Location of Question Template Output &amp;amp; Template List]]&lt;br /&gt;
Before moving onto the next question, copy the template output, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; in the corresponding slot on the &amp;quot;Question Template List&amp;quot;.   By default, templates for each vanilla question are already in the Question Template List, ready to be edited or modified by copying and pasting into the Question Template Input. The Script Output Column is again for debug purposes, and is read automatically by another tab of the sheet. &lt;br /&gt;
&lt;br /&gt;
== Personality Pool Selection Generator ==&lt;br /&gt;
Once the quiz itself is completed, the points need to be tallied, so that a winning pool can be selected. The exact way that this happens in vanilla is a tad complicated, especially when it comes to breaking ties. Here are the steps that occur in vanilla:&lt;br /&gt;
&lt;br /&gt;
# Points are added to pools containing Sky-Exclusive Starters if the player has played Time/Darkness.&lt;br /&gt;
#* If Male is chosen for the gender question, +4 Points are added to Relaxed, Hasty, and Sassy. (Phanpy, Shinx, and Riolu)&lt;br /&gt;
#* If Female is chosen for the gender question, +4 Points are added to Relaxed and Jolly. (Vulpix and Eevee)&lt;br /&gt;
# The highest pool is found, and chosen.&lt;br /&gt;
#* If there is a tie, it is broken by adding a random number (0-19) to each, and rescoring the points.&lt;br /&gt;
#* If there is STILL a tie, it chooses the smallest pool it can.&lt;br /&gt;
This tab of the sheet serves to implement these two features in a customizable way.&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
About half of the upper panel is actually new this time. The &amp;quot;White Space&amp;quot; and &amp;quot;Number/# of Pools In Use&amp;quot; are unchanged, except they apply to this sheet.[[File:Pool Selection Generator Upper Panel.png|alt=Location of Pool Selection Generator Upper Panel|center|thumb|600x600px|Location of Pool Selection Generator Upper Panel]]The checkbox for &amp;quot;Do Pool Tinkering&amp;quot; enables/disables the Pool Tinkering portion of this sheet, while the &amp;quot;Maximum Tiebreaker Points&amp;quot; input determines the random value added to tied pools to decide a victor. Larger numbers result in less chance of a secondary tie, but could result in overflow for certain pools. &lt;br /&gt;
&lt;br /&gt;
=== Pool Tinkering ===&lt;br /&gt;
As stated above, the vanilla quiz favors pools with Sky-Exclusive Starters for the specified gender if they&#039;ve played Time/Darkness. Through checking the &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; flags from the &amp;quot;Question Loop Generator&amp;quot;, we can mimic this effect.&lt;br /&gt;
[[File:Pool Tinkering.png|alt=Location of Pool Tinkering Portion.|center|thumb|600x600px|Location of Pool Tinkering Portion.]]&lt;br /&gt;
On the far left, are the IDs of the two flags that should be checked (without modification, this could be 0 for &amp;quot;Time/Darkness&amp;quot;, and 3/4 for &amp;quot;Male/Female&amp;quot;). Depending on if the 1st and 2nd flags are true (1), or false (0), the selected pools (as many as needed) will gain the specified number of points. In order to accommodate for the &amp;quot;Surprise Me!&amp;quot; gender option, 2 points are given for male, 2 for &amp;quot;not male&amp;quot;, 2 for &amp;quot;female&amp;quot;, and 2 for &amp;quot;not female&amp;quot;, in order to influence every pool containing a sky-exclusive starter. (A similar process is done for the Time/Darkness exclusive starters I&#039;ve added to my example quiz, if the player has NOT played time/darkness). Up to 10 slots are present for pool tinkering, though more could be added if there is a pressing need. &lt;br /&gt;
&lt;br /&gt;
== Aura Bow Generator ==&lt;br /&gt;
The Aura Bow Generator serves to emulate the cinematics of the vanilla aura bow portion of the quiz. In addition to simply detecting when and for how long the player is touching the Aura Bow, the actual bow color needs to be determined! For the vanilla quiz, the process is as follows:&lt;br /&gt;
&lt;br /&gt;
* Use DS Favorite Color (75% Chance): If the DS Favorite Color is selected, the user&#039;s favorite color will match the color of the bow.&lt;br /&gt;
* Use DS Mac Address (25% Chance): If the Mac Address is selected, then &amp;lt;code&amp;gt;mac_address &amp;amp; 0xF&amp;lt;/code&amp;gt; determines the color of the bow.&lt;br /&gt;
&lt;br /&gt;
This functionality can be replicated by QuizMenuTool, and the chances can even be altered!&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The Aura Bow Generator&#039;s Upper Panel is one of the largest of every tab, though many of these inputs are similar to prior tabs of the sheet. The top left input boxes are Special Process IDs for the 4 Special Processes needed to emulate the Aura Bow portion of the quiz, and the &amp;quot;White Space?&amp;quot; Checkbox is the same as always. The &amp;quot;Aura Bow Output&amp;quot; on the top right is the final script output for this tab, unnecessary outside of debug purposes.&lt;br /&gt;
[[File:Aura Bow Generator Upper Panel.png|alt=Location of the Aura Bow Generator Upper Panel.|center|thumb|600x600px|Location of the Aura Bow Generator Upper Panel.]]&lt;br /&gt;
Beginning with the bottom left of the panel, there are 4 map LEVEL names. &amp;quot;Bottom 1&amp;quot; is for the background while touching the Aura bow, Bottom Screen 2 is for the presentation of the colored Aura Bow, and the Bottom/Top Screen 3 is the backgrounds that the script should end with, when transitioning to the starter reveal. Finally, on the bottom right of the upper panel is the &amp;quot;Touch Screen Aura Bow Object Name&amp;quot;. Per the name, this is the name or ID of the object that should be present on the bottom screen, that will animate when the player touches it. The last three digits of the object seem to vary depending on unknown factors, so be sure to verify that yours matches by inspecting this object in M00A01A with SkyTemple.&lt;br /&gt;
[[File:Aura Bow Touch Object Name.png|alt=Where to check the Aura Bow Touch Object Name in SkyTemple|center|thumb|600x600px|Where to check the Aura Bow Touch Object Name in SkyTemple]]&lt;br /&gt;
&lt;br /&gt;
=== Aura Reading Panel ===&lt;br /&gt;
Beginning on the lower left of the tab, the Aura Reading Panel consists of 3 ExplorerScript code segments, which play before the blank aura bow fades in, after the aura bow fades in, and if the player lets go of the touch screen too quickly. &lt;br /&gt;
[[File:Aura Reading Panel.png|alt=Location of the Aura Reading Panel.|center|thumb|600x600px|Location of the Aura Reading Panel.]]&lt;br /&gt;
At the very bottom of this panel, there are inputs for dialogue in all 5 languages that will play during the aura reading process. Unlike most text in the quiz, &#039;&#039;&#039;this string must be translated here&#039;&#039;&#039;, as every localization takes a different amount of time to print the dialogue. The length of time the touch screen should have been held for is calculated for each [W:X] text tag, and compared against the actual length of time the touch screen was held. Customizing this text string is possible in the box, so these calculations must be done by the sheet. If your hack is for a US ROM, or will be english-only, disable the &amp;quot;Use EU Strings&amp;quot; Checkbox. &amp;quot;Expected Text Speed (# of chars per frame)&amp;quot; should be the speed your dialogue prints at in SkyTemple. This will ensure that the actual length of the text is properly accounted for in the calculation. &amp;quot;Touch Screen Frame Tolerance&amp;quot; is a grace period for letting go of the bow. This is necessary for certain emulators, damaged touch-screens, failure to account for the dialogue box opening/closing, etc. Feel free to adjust as desired, such that the quiz is possible to complete. &lt;br /&gt;
&lt;br /&gt;
=== Bow Selection Panel ===&lt;br /&gt;
Finally, the Bow Selection Panel handles the actual selection and presentation of the Aura Bow. [[File:Bow Selection Panel.png|alt=Bow Selection Panel Location.|center|thumb|600x600px|Bow Selection Panel Location.]]The upper left of the panel is for assigning weights to the three methods for selecting a bow color: DS Favorite Color, DS MAC Address, or a custom block of code. Note that these weights &#039;&#039;&#039;must be integers&#039;&#039;&#039; or the sheet will generate invalid code. For convenience, the percent chance of each option is computed by the sheet, based on the weights and total weight. The ExplorerScript input for the custom bow selection is on the right of this panel, and on the bottom left is the flavor-text for each bow color. &lt;br /&gt;
&lt;br /&gt;
== Variable Cleanup &amp;amp; End-Cap Generator ==&lt;br /&gt;
This tab of the sheet aims to clean up the bevy of variables used by the quiz, and prep the game for actually running. Since QMT uses a majority of the script variables the game has to function, this tab resets them all back to what they should be at the beginning of a save file, now that the quiz no longer needs them. If some part of the quiz needs to be remembered, such as the color of the aura bow, whether the player has played Time/Darkness, or the winning Quiz personality pool, that needs to be preserved in this tab. In addition, this is the tab where the starters are officially initialized, which allows them to be nicknamed. Finally, the special process for actually assigning the starters, &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;, will wipe &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; clean, replacing it with what the real quiz determined your aura bow color to be. Because the real quiz never runs during QMT, this will always be zero. As a result, the aura bow color needs to be saved somewhere besides &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;, then returned afterwards.  &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
This tab ALSO has an upper panel! The number of pools to clear should ideally match the number of pools in use. &amp;quot;White Space&amp;quot; does the same thing it has up to this point, and the far right output cell is read elsewhere, and only exists for debug purposes.&lt;br /&gt;
[[File:Variable Cleanup &amp;amp; End-Cap Upper Panel.png|alt=Variable Cleanup &amp;amp; End-Cap Upper Panel Location.|center|thumb|600x600px|Variable Cleanup &amp;amp; End-Cap Upper Panel Location.]]&lt;br /&gt;
In the center of the panel are three new checkboxes. &amp;quot;Name Partner?&amp;quot; and &amp;quot;Name Hero?&amp;quot; should be somewhat intuitive, they enable/disable the ExplorerScript inputs for naming the hero and partner respectively, which will be elaborated on below. Finally, &amp;quot;Set $VERSION to 1?&amp;quot; sets the &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt; script variable to 1 at the very end of the script. Without ASM modification, saving the game with this variable as anything besides 1 results in a &amp;quot;corrupt&amp;quot; save file. In the absence of a strong reason otherwise, this box should remain checked.&lt;br /&gt;
&lt;br /&gt;
=== Hero Name, Partner Name, &amp;amp; Closing Remarks ===&lt;br /&gt;
These ExplorerScript Inputs are for... the code used for nicknaming the partner and hero respectively, as well as the last few lines of text before the quiz truly ends.[[File:Hero-Partner-Closing Remarks Input.png|alt=Location of ExplorerScript Code Inputs.|center|thumb|600x600px|Location of ExplorerScript Code Inputs.]]Note that &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; will not function without the dedicated SkyPatch, in the QMT github repo (linked at the top). Additionally, the menus themselves will close any active text-box the instant they are done printing, which is why the hero monologue ends with a &amp;lt;code&amp;gt;[K]&amp;lt;/code&amp;gt;. A &amp;lt;code&amp;gt;message_Close();&amp;lt;/code&amp;gt; would also suffice. Finally, the closing remarks should actually fade out the BGM and screen as desired. Feel free to optimize the fades, there is probably a more efficient way to achieve the right effect. &lt;br /&gt;
&lt;br /&gt;
=== Script Variable Preservation Panel ===&lt;br /&gt;
The Script Variable Preservation Panel serves to determine what information should be preserved after the quiz. By default, only the variables storing the personality pool counts are actually being erased, though certain configurations may require some variables to be kept, and others to be wiped in addition.[[File:Script Variable Preservation Panel.png|alt=Script Variable Preservation Panel Location.|center|thumb|600x600px|Script Variable Preservation Panel Location.]]Beginning at the top, is the &amp;quot;Variable Erasure Blacklist&amp;quot;. Based on other interactions with the sheet, the &amp;quot;Automatic Variables&amp;quot; will fill up automatically, but any script variables specified in this row will be kept as they are at the end of the quiz, and not erased. An example of a manual blacklist example might be &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt;, which doesn&#039;t need a dedicated line of code for erasure if it will ALSO be set to 1 at the end. The next row, &amp;quot;Additional Variables to Erase&amp;quot;, will be added to the list of erased variables if they are not already present. The &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; variables should be erased in addition, as the Driftblim Gondola will interpret these variables as valid station passes to enter. Below that, is the &amp;quot;Variable Transfer Table&amp;quot;. Prior to erasing anything, variables in the &amp;quot;Old Variable Name&amp;quot; column will be moved to the &amp;quot;New Variable Name&amp;quot;. The old variable will be slated for erasure, while the new one will be spared. For convenience, the &amp;quot;Variable Meaning&amp;quot; Tab on the left will autofill one or both of these columns depending on the option you select:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable Meaning&lt;br /&gt;
!Old Variable Name&lt;br /&gt;
!New Variable Name&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Preserve&lt;br /&gt;
|&amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;$LOCAL0&amp;lt;/code&amp;gt;&lt;br /&gt;
|If this Variable Meaning is present, &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; will be restored in post. It&#039;s only purpose is to prevent the quiz from wiping the variable on running  &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Winning Pool&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB7&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the winning Pool ID from the quiz itself. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Winning Points&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB6&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the number of points the winning Pool ID had after the tie-breaking process. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Fuwarante Bit X&lt;br /&gt;
|&amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL[X]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|These correspond directly to the FUWARANTE blacklist, and in this example is used to pass forward the Time/Darkness question to &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt;, the variable responsible for the recruitment rate buff for playing Time/Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|Direct Script Variable&lt;br /&gt;
|Any&lt;br /&gt;
|Any&lt;br /&gt;
|This is an invitation to input whatever script variables are needed, and will adjust the coloration of the row to match. &lt;br /&gt;
|}&lt;br /&gt;
A full list of script variables with their appropriate descriptions will be provided in &amp;quot;Other Resources&amp;quot;, and might prove useful for more advanced tinkering in this panel.&lt;br /&gt;
&lt;br /&gt;
== Full Script Translation ==&lt;br /&gt;
This tab of the sheet is dedicated to translating all lines of dialogue into Spanish, French, German, and Italian, for an EU ROM. If the hack this is for doesn&#039;t need translation, this tab can be completely skipped. One of the most essential features of a translated quiz is the ability to pre-translate the vanilla text strings from the original quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
By default, the left-most checkbox of the upper panel will &amp;quot;activate&amp;quot; this sheet for translation. This may cause lag, and will cause more lag every time a change is made on one of the prior sheets, while enabled. Only begin translating once finished with the quiz, at least in the short term. [[File:Full Script Translation Upper Panel.png|alt=Location of the Full Script Translation Upper Panel.|center|thumb|600x600px|Location of the Full Script Translation Upper Panel.]]The &amp;quot;Auto-Translate Vanilla Strings&amp;quot; check-box will automatically search for and translate exact matches to vanilla Quiz strings. Additional translations can be added in &amp;quot;Vanilla Translation Strings&amp;quot; as needed. If no exact match is found, the translation will be left blank for manual translation. &amp;quot;Auto-Translate Pokemon&amp;quot; similarly will attempt to translate exact matches for dialogue specific to the final species. For example, the English string &amp;lt;code&amp;gt;[R][CN]Will be a [CS:K]Magnemite[CR]![W:60]&amp;lt;/code&amp;gt; will be automatically translated to &amp;lt;code&amp;gt;[R][CN]wird ein [CS:K]Magnetilo[CR]![W:60&amp;lt;/code&amp;gt;] (German), based on Magnemite&#039;s German name and the phrase &amp;quot;wird ein ___!&amp;quot;. This will only occur if the checkbox is enabled, and only for Pokemon names present in &amp;quot;Vanilla Translation Strings&amp;quot;. Finally, the &amp;quot;Trim [S:0] Before Translation&amp;quot; checkbox will remove all &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tags from the dialogue before searching for a match, ensuring that the various &amp;quot;Yes.&amp;quot;, &amp;quot;No.&amp;quot;. &amp;quot;Of Course!&amp;quot;, and &amp;quot;Open it!&amp;quot; are not translated automatically, per their vanilla quiz questions. Regardless of whether this checkbox is enabled, the final script output will not contain the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; tags. &lt;br /&gt;
&lt;br /&gt;
=== String Translation Panel ===&lt;br /&gt;
The string translation panel, on the right of this tab, is where text string translation will actually occur. &lt;br /&gt;
[[File:String Translation Panel.png|alt=Location of String Translation Panel.|center|thumb|600x600px|Location of String Translation Panel.]]&lt;br /&gt;
On the left, are English lines of text extracted from other tabs of the sheet. each column corresponds to an EU language (Spanish, French, German, Italian). At the top of each column, is a count of how many untranslated lines of dialogue are left for that language, as well as a checkbox to enable/disable each language. In the above screenshot, French dialogue will not be added to the final script, because the checkbox is enabled. In the rows themselves, are pink cells (vanilla translated text), green cells (empty), and blue cells (manual translation). Simply review each pink cell, and manually translate the English for that row for green cells so they turn blue. If a pink cell needs editing, simply copy the cell, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; it on top of itself, and it will turn blue, which is safe to edit. &lt;br /&gt;
&lt;br /&gt;
== Vanilla Translation Strings ==&lt;br /&gt;
This tab of the sheet is used to store vanilla strings from the base game, and official Pokemon translations. These can be amended and edited as desired, to include custom strings for auto-translation, or new Pokemon name translations. &lt;br /&gt;
[[File:Vanilla Translation Strings Dialogue.png|alt=Vanilla Translation Strings Dialogue|center|thumb|600x600px|Vanilla Translation Strings Dialogue]]&lt;br /&gt;
This area above contains all relevant vanilla strings, which can be added to or amended as desired, in the green cells in these 5 columns. If a need arises to make changes to the quiz after translation, it is best to move all manually translated lines to this tab, before making any changes. Additionally, the lookup table for Pokemon species names can be modified:&lt;br /&gt;
[[File:Vanilla Translation Strings Species.png|alt=Vanilla Translation Strings Species|center|thumb|452x452px|Vanilla Translation Strings Species]]&lt;br /&gt;
On the far right of the tab, are a list of every Pokemon through Scarlet &amp;amp; Violet, and the French/German translations for each species (Spanish and Italian use English species names). These can also be amended or added to as desired. &lt;br /&gt;
&lt;br /&gt;
== Full Script Compression ==&lt;br /&gt;
Last but not least, is the Full Script Compression Tab. This tab compiles all of the information from the other tabs, and compresses it into a copy/pastable batch of scripts for SkyTemple. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
There are a handful of settings in this upper panel. &amp;quot;White Space&amp;quot; is as it has been for every prior tab, but that&#039;s the only returning input.&lt;br /&gt;
[[File:Full Script Compression Upper Panel.png|alt=Full Script Compression Upper Panel Location.|center|thumb|600x600px|Full Script Compression Upper Panel Location.]]&lt;br /&gt;
&amp;quot;Use Full MegaScript&amp;quot; will compile the entire quiz into one script. This is only possible for English-only quizzes, and is only advised for quizzes with few questions and fewer starter choices. &amp;quot;Use Translated Scripts?&amp;quot; will use the outputs from Full Script Translation, which will be empty if the sheet is not active. Disable this checkbox for English-only quizzes. &amp;quot;Generate Unionall CORO&amp;quot; will create the unionall code needed to run the quiz, for a copy and paste replacement for the existing &amp;lt;code&amp;gt;CORO EVENT_M00A_01&amp;lt;/code&amp;gt; coroutine. The &amp;quot;Script File LEVEL Name&amp;quot; should reflect the location of the map LEVEL &amp;quot;folder&amp;quot; that the script file will actually be under. The &amp;quot;Script File SCRIPT Name&amp;quot; should become the name of the acting script itself, and should be 8 alphanumerical characters or fewer (not case-sensitive). Finally, the &amp;quot;Sector Param.&amp;quot; is the sector parameter of the &amp;lt;code&amp;gt;supervision_ExecuteActingSub();&amp;lt;/code&amp;gt; [[List of Opcodes#0x12d - supervision ExecuteActingSub|Opcode]]. Generally this should be zero, though none of these scripts internally utilize the sector parameter, should it be of interest for customization.&lt;br /&gt;
&lt;br /&gt;
=== SkyTemple Script Outputs ===&lt;br /&gt;
This portion of the sheet consists of outputs to SkyTemple. Unlike most output cells thus far, these are actually intended for use!&lt;br /&gt;
[[File:SkyTemple Script Outputs.png|alt=SkyTemple Script Outputs Location.|center|thumb|600x600px|SkyTemple Script Outputs Location.]]&lt;br /&gt;
The intended places for each of these outputs will be described in &amp;quot;Importing The Scripts To SkyTemple&amp;quot;, but when copying a script, be sure to copy all cells in the box with text.&lt;br /&gt;
&lt;br /&gt;
== Importing The Scripts To SkyTemple ==&lt;br /&gt;
Now for the fun part! Actually applying everything to SkyTemple, and seeing the quiz actually play out. This section will briefly cover installation of SkyPatches and Special Processes, though more generalized guides for these things are or will be available. First though, prior installation of StarterMenuTool will change some of these steps. &lt;br /&gt;
=== Converting From StarterMenuTool ===&lt;br /&gt;
There are very few differences between starting fresh and converting from StarterMenuTool. The differences are as follows:&lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu is Applied: Since the SkyPatch is already applied, it does not need to be applied again. It can be reapplied without issue, though it already exists in the ROM.&lt;br /&gt;
* Existing Special Processes: Older versions of &amp;lt;code&amp;gt;starter_setter&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; were added via StarterMenuTool. These may function as intended for QMT, especially &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; which has seen zero change between the two tools, but it is recommended to update them by replacing them, or to use new slots for the QMT SPs.&lt;br /&gt;
* Existing Acting Script: StarterMenuTool takes the same approach as QMT in creating a new acting scene for the quiz itself. This existing script can be repurposed into one of the QMT acting scripts, though with SkyTemple alone it cannot be renamed, meaning the script name it will be used for in the Full Script Compression Upper Panel must be renamed.&lt;br /&gt;
* Edit to Vanilla Quiz: StarterMenuTool modifies the original quiz script m00a01a.ssb. While these changes have no net impact on QMT, it would impact the debug mode, as the code to create a team from the default starters has been removed. If this functionality needs to be restored, simply add the following line after &amp;quot;if ( debug ) {&amp;quot; in m00a01a.ssb:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;switch ( ProcessSpecial(PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ, 0, 0) ) { }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Existing Unionall Edit: StarterMenuTool also requires the modification of &amp;lt;code&amp;gt;coro EVENT_M00A_01&amp;lt;/code&amp;gt;. QuizMenuTool will require this coroutine to be edited to run m00a01a in debug mode, and the QMT scripts otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Installing the SkyPatches ===&lt;br /&gt;
In order for QuizMenuTool to function, the following SkyPatches must be applied. &lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu: Gives &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; the ability to actually nickname the partner. Requires ExtraSpace as a pre-requisite.&lt;br /&gt;
* ExtractSPCode: Enables the use of custom Special Processes used heavily by QMT.&lt;br /&gt;
&lt;br /&gt;
Installing FixPartnerNameMenu is relatively simple. After downloading the file from the github repo, navigate to &amp;lt;code&amp;gt;Patches -&amp;gt; ASM&amp;lt;/code&amp;gt; in SkyTemple. Then, click the &amp;quot;Open Patch Directory&amp;quot; button.&lt;br /&gt;
[[File:InstallFixPartnerNamePatch.png|alt=The &amp;quot;Open Patch Folder&amp;quot; button is on the bottom left.|center|thumb|600x600px|The &amp;quot;Open Patch Directory&amp;quot; button is on the bottom left.]]&lt;br /&gt;
Finally, drag &amp;lt;code&amp;gt;FixPartnerName.skypatch&amp;lt;/code&amp;gt; into the folder, and close it. The patch will now be in the &amp;quot;Others&amp;quot; Tab, ready for installation. If ExtraSpace is not installed, SkyTemple will prompt the installation of both patches sequentially. This is good, do that. &lt;br /&gt;
&lt;br /&gt;
Next, is the installation of ExtractSPCode. Once again, navigate to &amp;lt;code&amp;gt;Patches-&amp;gt;ASM&amp;lt;/code&amp;gt;, and select the &amp;quot;Utility&amp;quot; tab. Install ExtractSPCode, and any necessary pre-requisites (there shouldn&#039;t be any, except maybe ExtraSpace). &lt;br /&gt;
[[File:ExtractSPCode.png|alt=ExtractSPCode Location|center|thumb|600x600px|ExtractSPCode Location]]&lt;br /&gt;
&lt;br /&gt;
=== Applying The Special Processes ===&lt;br /&gt;
Now for installing the Special Processes themselves. If the hack already has custom Special Processes it wishes to keep, or the IDs of the special processes in the sheet have been changed, apply the SPs as desired, but ensure the sheet has accurate IDs (NOT Effects), so it can call them. For simplicity, these are the default locations of each SP:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Spreadsheet Tab&lt;br /&gt;
!Spreadsheet Input Name&lt;br /&gt;
!SP File Name&lt;br /&gt;
!ID&lt;br /&gt;
!Effect&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|starter_setter SP ID&lt;br /&gt;
|starter_setter.asm&lt;br /&gt;
|64&lt;br /&gt;
|61&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|set_frame_color SP ID&lt;br /&gt;
|set_frame_color.asm&lt;br /&gt;
|65&lt;br /&gt;
|62&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|CheckTSPress SP ID&lt;br /&gt;
|CheckTSPress.asm&lt;br /&gt;
|66&lt;br /&gt;
|63&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|ReturnTSPFrames SP ID&lt;br /&gt;
|ReturnTSPFrames.asm&lt;br /&gt;
|67&lt;br /&gt;
|64&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|MoveText2TopScreen SP ID&lt;br /&gt;
|MoveText2TopScreen.asm&lt;br /&gt;
|68&lt;br /&gt;
|65&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|Set_Demo_Character SP ID&lt;br /&gt;
|Set_Demo_Character.asm&lt;br /&gt;
|69&lt;br /&gt;
|66&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|get_favorite_config_color SP ID&lt;br /&gt;
|get_favorite_config_color.asm&lt;br /&gt;
|70&lt;br /&gt;
|67&lt;br /&gt;
|}&lt;br /&gt;
Ensure that you download the correct set of special processes for your version of the ROM (US or EU). Next, navigate to                       &amp;lt;code&amp;gt;Patches-&amp;gt;ASM-&amp;gt;Special Processes&amp;lt;/code&amp;gt;, and click the &amp;quot;Add Special Process&amp;quot; button until enough IDs are in the list for each new Special Process.&lt;br /&gt;
[[File:How2AddSpecialProcesses1.png|alt=The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.|center|thumb|600x600px|The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.]]&lt;br /&gt;
The list should look like it does in the image when done. With that completed, navigate to the &amp;quot;Effects Code&amp;quot; tab. Click the &amp;quot;+&amp;quot; Button to create a new effect. Then, click the &amp;quot;Import Code&amp;quot; button at the bottom to select the special process to be imported to this effect.&lt;br /&gt;
[[File:How2AddSpecialProcesses2.png|center|thumb|600x600px|Clicking the &amp;quot;+&amp;quot; Button adds a new effect. Each new effect must have the correct .asm file imported into it, as specified in the table.]]&lt;br /&gt;
In the above image, Special Process &amp;lt;code&amp;gt;starter_setter.asm&amp;lt;/code&amp;gt; is being imported to Effect 61, which corresponds to ID 64. Similarly, &amp;lt;code&amp;gt;set_frame_color.asm&amp;lt;/code&amp;gt; should be imported to Effect 62 (ID 65), &amp;lt;code&amp;gt;CheckTSPress.asm&amp;lt;/code&amp;gt; should be imported to Effect 63, etc.&lt;br /&gt;
&lt;br /&gt;
Once all the necessary Special Processes have been imported to their effects, the last thing that needs to be done is assigning the effects to their IDs. Navigating back to the &amp;quot;Special Process Effects&amp;quot; tab, assign each effect to the correct ID, as shown below:&lt;br /&gt;
[[File:How2AddSpecialProcesses3.png|alt=Simply clicking on the effect cell will allow it to be edited.|center|thumb|600x600px|Simply clicking on the effect cell will allow it to be edited.]]&lt;br /&gt;
With that, SP importing is complete, and all that remains is to save the ROM.&lt;br /&gt;
&lt;br /&gt;
=== Creating QMT Script Files ===&lt;br /&gt;
Next, is the process of actually creating the QMT script files. For simplicity, this guide will demonstrate the process on LEVEL_S02P01A, the same location in the script files as the original quiz. If you plan on putting the QMT script files elsewhere, ensure this is properly accounted for in Full Script Compression. Navigate to Script Scenes-&amp;gt;S02P01A. If you are using a MegaScript, create ONE new acting scene. Otherwise, create four of them, each with the name in FullScriptCompression.&lt;br /&gt;
[[File:ImportingQMTScriptFiles1.png|alt=Be sure you click &amp;quot;Create Acting Scene&amp;quot;! It is important that these scripts are acting scenes.|center|thumb|600x600px|Be sure you click &amp;quot;Create Acting Scene&amp;quot;! It is important that these scripts are acting scenes.]]&lt;br /&gt;
The newly created scenes should appear in the Acting (ssa) folder. Navigate to the first one created, and double-click on &amp;quot;[script-name].ssb&amp;quot;.&lt;br /&gt;
[[File:ImportingQMTScriptFiles2.png|alt=In this case, &amp;quot;qmt01.ssb&amp;quot; on the right will open the script file&#039;s &amp;quot;ssb&amp;quot; code.|center|thumb|600x600px|In this case, &amp;quot;qmt01.ssb&amp;quot; on the right will open the script file&#039;s &amp;quot;ssb&amp;quot; code.]]&lt;br /&gt;
&lt;br /&gt;
From there, simply paste from the respective part of the sheet, and attempt to save the script.&lt;br /&gt;
[[File:ImportingQMTScriptFiles3.png|center|thumb|600x600px|You can also navigate between script files with the search bar on the left!]]&lt;br /&gt;
&lt;br /&gt;
Repeat the process of pasting in the remaining scripts. Finally, the script that contains the aura bow segment of the quiz (script #2 or the megascript) needs additional work done to the .ssa file. Navigate to S02P01A-&amp;gt;M00A01A, and click the Export Button (square with an up arrow in it).&lt;br /&gt;
[[File:Export Quiz .ssa.png|alt=Visual for exporting the .ssa for M00A01A for QuizMenuTool|center|thumb|600x600px|The Export Button is up top!]]&lt;br /&gt;
Then just import this file into the script containing the Aura Bow segment, as shown below:&lt;br /&gt;
[[File:Aura Bow SSA import.png|center|thumb|600x600px|The Export Button is right next to the Import button!]]&lt;br /&gt;
After that, save the ROM. The quiz is nearly ready, all that&#039;s left is setting up unionall...&lt;br /&gt;
&lt;br /&gt;
=== Editing Unionall ===&lt;br /&gt;
Unionall is a big file, but there&#039;s only a very specific part that needs to be edited. Open Unionall by using the search bar in the Script Engine Debugger, then do CTRL + F (Command + F for Mac, you should know your equivalent if you use Linux) to find coroutine inside unionall.&lt;br /&gt;
[[File:Unionall coro EVENT M00A 01.png|center|thumb|600x600px|Be sure you search for EXACTLY &amp;quot;coro EVENT_M00A_01&amp;quot;. This should be the only match!]]&lt;br /&gt;
Once you find it, select the entire coroutine, and replace it with the unionall final output. the result should look something like this:&lt;br /&gt;
[[File:QMT coro EVENT M00A 01.png|center|thumb|600x600px|Modified Unionall Coroutine, should look roughly like this after pasting.]]&lt;br /&gt;
With that, save unionall, and the quiz is ready for testing! &lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
&lt;br /&gt;
=== QMT Script Variable Map ===&lt;br /&gt;
Below is a table of every script variable used by QuizMenuTool, and what their use-case is for each script. Any variable absent from the table is unused by QMT directly. Variable usage can perhaps be optimized somewhat, but this map functions properly.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Script Variable Name&lt;br /&gt;
!Index&lt;br /&gt;
!Script #1&lt;br /&gt;
!Script #2&lt;br /&gt;
!Script #3&lt;br /&gt;
!Script #4&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB1&lt;br /&gt;
|0&lt;br /&gt;
|Backup of Pre-Quiz $PLAYER_KIND&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning # of Points Backup&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB2&lt;br /&gt;
|0&lt;br /&gt;
|Backup of 0th index of Pre-Quiz $PLAYER_KIND_BACKUP&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning Pool ID Backup&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB3&lt;br /&gt;
|0&lt;br /&gt;
|Backup of Pre-Quiz $ATTENDANT1_KIND&lt;br /&gt;
| -&lt;br /&gt;
|# of times hero gen. failed&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SUB4&lt;br /&gt;
|0&lt;br /&gt;
|Backup of 0th index of Pre-Quiz $ATTENDANT1_KIND_BACKUP&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|$BIT_FUWARANTE_LOCAL&lt;br /&gt;
|All&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |FUWARANTE blacklist flags&lt;br /&gt;
|-&lt;br /&gt;
|$LOCAL0&lt;br /&gt;
| -&lt;br /&gt;
|Max # of points.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning # of Points / (Aura Bow Color Backup)&lt;br /&gt;
|-&lt;br /&gt;
|$LOCAL1&lt;br /&gt;
| -&lt;br /&gt;
|# Questions Asked / Winning Pool ID&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Winning Pool ID&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_TALK_BIT_FLAG&lt;br /&gt;
|Varies&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |Question Has Been Asked?&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_MAIN&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |# of tied pools (-1 if not checking ties)&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SIDE&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |# of pts to add to tied pool&lt;br /&gt;
|-&lt;br /&gt;
|$RECYCLE_COUNT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; rowspan=&amp;quot;1&amp;quot; |Post-Tie Max # of Pts.&lt;br /&gt;
|-&lt;br /&gt;
|$CONFIG_COLOR_KIND&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Aura Bow Color&lt;br /&gt;
|-&lt;br /&gt;
|$HERO_TALK_KIND&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; |Hero Talk Group&lt;br /&gt;
|-&lt;br /&gt;
|$PARTNER_TALK_KIND&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Partner Talk Group&lt;br /&gt;
|-&lt;br /&gt;
|$VERSION&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 0 Pts.&lt;br /&gt;
|Reset to 1&lt;br /&gt;
|-&lt;br /&gt;
|$CRYSTAL_COLOR_01&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 1 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$CRYSTAL_COLOR_02&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 2 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$CRYSTAL_COLOR_03&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 3 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$COMPULSORY_SAVE_POINT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 4 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$COMPULSORY_SAVE_POINT_SIDE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 5 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$SCENARIO_SELECT_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 6 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 7 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER_LINK&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 8 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_GETOUT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 9 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_MAP&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 10 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_PLACE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 11 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 12 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_ENTER_LINK_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 13 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_GETOUT_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 14 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_MAP_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 15 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_PLACE_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 16 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_SELECT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 17 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 18 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_MODE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 19 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_INDEX&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 20 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_RESULT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 21 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_START_MODE&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 22 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 23 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_MODE_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 24 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_ENTER_INDEX_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 25 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_RESULT_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 26 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$GROUND_START_MODE_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 27 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$REQUEST_CLEAR_COUNT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 28 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PLAYER_KIND&lt;br /&gt;
| -&lt;br /&gt;
|Pool 29 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT1_KIND&lt;br /&gt;
| -&lt;br /&gt;
|Pool 30 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT2_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 31 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PLAYER_KIND_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
|Pool 32 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT1_KIND_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
|Pool 33 Pts.&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Reset to Pre-Quiz&lt;br /&gt;
|-&lt;br /&gt;
|$ATTENDANT2_KIND_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 34 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$HERO_FIRST_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 35 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PARTNER_FIRST_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 36 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$RANDOM_REQUEST_NPC03_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 37 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$WORLD_MAP_LEVEL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 38 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$EVENT_LOCAL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 39 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$DUNGEON_EVENT_LOCAL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 40 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$LOTTERY_RESULT&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 41 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 42 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP_KUREKURE&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 43 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP_TAKE&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 44 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$ITEM_BACKUP_GET&lt;br /&gt;
|0&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 45 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$REQUEST_THANKS_RESULT_KIND&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 46 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$REQUEST_THANKS_RESULT_VARIATION&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 47 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$SUB30_SPOT_LEVEL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 48 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$TEAM_RANK_EVENT_LEVEL&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 49 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|-&lt;br /&gt;
|$PLAY_OLD_GAME&lt;br /&gt;
| -&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; rowspan=&amp;quot;1&amp;quot; |Pool 50 Pts.&lt;br /&gt;
|Reset to 0&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1205</id>
		<title>QuizMenuTool Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1205"/>
		<updated>2025-08-10T19:47:55Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: Changed TitIes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;{{SkyTempleIcon|icon=skytemple-dialog-error-symbolic}} This article is unfinished. You can help &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:{{PAGENAME}}|veaction=edit}} expanding it]&amp;lt;/span&amp;gt;.&#039;&#039;&amp;lt;hr&amp;gt;This guide explains how to use QuizMenuTool to create a custom Personality Quiz. The bulk of this guide will explain the use of the google sheets portion of the tool. A rudimentary understanding of SkyTemple scripting is helpful for this task, but not strictly required. These topics will be covered at the end for the sake of completion, but only to the extent that they are needed for QuizMenuTool. &lt;br /&gt;
&lt;br /&gt;
== About QuizMenuTool ==&lt;br /&gt;
&lt;br /&gt;
=== What Is QuizMenuTool? ===&lt;br /&gt;
QuizMenuTool is a customizable ExplorerScript replica of the Explorers of Sky Personality Quiz and Starter Selection, with minimal hardcoded aspects. The original quiz was designed to consist mostly of &amp;lt;code&amp;gt;message_Menu()&amp;lt;/code&amp;gt; ASM, to make editing the personality quiz accessible without the need to learn ASM. &lt;br /&gt;
&lt;br /&gt;
=== What can QuizMenuTool do? ===&lt;br /&gt;
QuizMenuTool can modify the process of using the quiz to select a starter, expand/reduce the starter list, add/remove/modify questions from the quiz, and much more! In fact, the better question might be...&lt;br /&gt;
&lt;br /&gt;
=== What Limitations does QuizMenuTool have? ===&lt;br /&gt;
There are a few critical things QuizMenuTool was not designed to do, though many of these could be remedied in the future if enough demand exists. Here&#039;s a list of what QuizMenuTool fails to replicate from the vanilla quiz:&lt;br /&gt;
&lt;br /&gt;
* Hero/Partner Type Exclusion: In the vanilla quiz, the hero and partner are prevented from sharing a type, to encourage team balance. No   option for such a restriction has been implemented yet, though such a thing would be possible in the future, or be scripted manually for a specific hack. &lt;br /&gt;
* SwitchMenu Portraits: In the vanilla quiz, scrolling to a partner choice displays a portrait of that partner, which gradually changes in expression. This feature would require significant custom code to emulate, and is unlikely to be available for QuizMenuTool.&lt;br /&gt;
* Third Party Starter Tweaks: The original starter list is &#039;&#039;&#039;completely unused&#039;&#039;&#039; by QuizMenuTool. Changing it has no impact on the quiz. Players of a hack using QuizMenuTool will have difficulty adding their own starters to the game, though this could potentially be remedied with a special process checking the starter list against what it is expected to be, and assigning the desired starter if a mismatch is found?&lt;br /&gt;
* Incompatibility with Japanese ROMs: Currently, QuizMenuTool is designed to only work for NA and EU ROMs. while in theory a Japanese Quiz could be designed, the Special Processes are not Japanese-compatible. This could be remedied with little effort, but the tool is designed for EU/NA ROMs.&lt;br /&gt;
&lt;br /&gt;
== Who QuizMenuTool is for ==&lt;br /&gt;
If either of the below points do not apply to you, you do not need QuizMenuTool.&lt;br /&gt;
* You would like to expand (or shrink) the list of starter options in the game.&lt;br /&gt;
* You would like to keep the personality quiz in the game, or edit the quiz directly.&lt;br /&gt;
If you only want to change the size of the starter list, and do not want the personality quiz (as if the [[SkipQuiz]] patch is applied), you should instead use [https://github.com/Chesyon/StarterMenuTool StarterMenuTool], which is less powerful but requires much less work to set up.&lt;br /&gt;
&lt;br /&gt;
== Programs and Files ==&lt;br /&gt;
&lt;br /&gt;
=== Required Programs and Files ===&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1snwIq3-GHntcPTBwH-TJ5Ctk0a8l4pwXTZYwCs53dwo/edit?usp=sharing Explorers of Sky Personality Quiz Assembling Sheet]&lt;br /&gt;
* [https://github.com/HappyLappy1/EOS-QuizGenerationTool-ASM Necessary Special Processes and SkyPatches]&lt;br /&gt;
* [[SkyTemple]] &lt;br /&gt;
&lt;br /&gt;
== General Spreadsheet Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Making a Copy of the Sheet ===&lt;br /&gt;
The above link does NOT grant edit access. In order to use the sheet, a copy will need to be made as follows:&lt;br /&gt;
[[File:Copying a Spreadsheet.png|thumb|750x750px|Location of the &amp;quot;File&amp;quot; and &amp;quot;Make a Copy&amp;quot; buttons. |center]]&lt;br /&gt;
First click the &amp;quot;File&amp;quot; button on the top left. Next, &amp;quot;Make a Copy&amp;quot; of the sheet. Finally, name the copy as desired. &lt;br /&gt;
&lt;br /&gt;
=== Cell Color-Coding ===&lt;br /&gt;
Throughout the spreadsheet, most cells are color-coded. Here&#039;s a brief explanation of each color present in the sheet: &lt;br /&gt;
&lt;br /&gt;
* Green Cells are for user input. If a cell is green, it is intended to contain input data.&lt;br /&gt;
* Grey Cells contain formulas. They will update automatically, and should not be edited.&lt;br /&gt;
* Orange Cells are for user outputs. If a cell is orange, it is intended to be exported elsewhere, such as to a SkyTemple script.&lt;br /&gt;
* Cells without a color or of an unspecified color are typically safe to edit. Always check for a formula first though!&lt;br /&gt;
&lt;br /&gt;
=== Paste Values Only ===&lt;br /&gt;
This tab is the first which will require the use of &amp;quot;Paste Values&amp;quot;. When this guide specifies that a copy/paste must &amp;quot;Paste Values&amp;quot;, this means that the copied text is a formula, and the pasted text should not be a formula. &lt;br /&gt;
[[File:How To Paste Values.png|alt=Depiction of the &amp;quot;Values Only&amp;quot; button in the menu|center|thumb|600x600px|Depiction of the &amp;quot;Values Only&amp;quot; button in the menu]]&lt;br /&gt;
There are two ways to paste values, either by right-clicking the paste location and selecting &amp;quot;Paste Special&amp;quot; then &amp;quot;Values Only&amp;quot;, or by holding shift as you paste. &lt;br /&gt;
&lt;br /&gt;
== Quiz Preamble Generator ==&lt;br /&gt;
The Quiz Preamble Generator Tab as a whole exists to create the very beginning of the quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
Most tabs in the sheet contain an upper panel of some kind, with various simple inputs and feedback on them:&lt;br /&gt;
[[File:Preamble Upper Panel.png|alt=Location of the Quiz Preamble Generator&#039;s Upper Panel.|center|thumb|750x750px|Location of the Quiz Preamble Generator&#039;s Upper Panel.]]&lt;br /&gt;
The &amp;quot;Bottom Screen&amp;quot; and &amp;quot;Top Screen&amp;quot; inputs are the map ID that should be used for that screen&#039;s background. Similarly, the Background Music Name/ID is a BGM name (or number) of the BGM that should play throughout the quiz. The &amp;quot;White Space?&amp;quot; checkbox will attempt to add indents to the output ExplorerScript lines, making the output script more human-readable.&lt;br /&gt;
&lt;br /&gt;
=== Preamble Text ===&lt;br /&gt;
This is the first of many direct inputs for ExplorerScript code. Due to the way spreadsheets store cell data, &amp;quot; &amp;quot; behave weirdly when present in the final script. Please use &#039; &#039; instead. This input is for the first set of dialogue before the questions actually begin. &lt;br /&gt;
[[File:Quiz Preamble Location.png|alt=Location of the Quiz Preamble Inputs|center|thumb|600x600px|Location of the Quiz Preamble Inputs]]&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
The orange output cell on this sheet is largely unimportant, but is present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Starter Selection Generator ==&lt;br /&gt;
This tab of the sheet is primarily for inputting data about the starters, or the personality pools they belong to. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
[[File:Starter Selection Upper Panel.png|alt=The Upper Panel for the &amp;quot;Starter Selection Generator&amp;quot; Tab|thumb|750x750px|Location of the &amp;quot;Upper Panel&amp;quot; for the &amp;quot;Starter Selection Generator&amp;quot; Tab|center]]This upper panel contains 4 inputs, 3 of which are for Special Processes pertaining to starter selection. If other Special Processes have already been added, these Special Process IDs will need to be changed to free slots. The &amp;quot;White Space?&amp;quot; checkbox is the same as before, except for this tab of the sheet. The 4 grey cells are useful statistics about the input starters: how many different pools are used by the starters, how many species are present, and how many options there are for the hero and partner. &lt;br /&gt;
&lt;br /&gt;
=== Personality Pool Input ===&lt;br /&gt;
Next, on the lower right is the nature &amp;quot;Pool&amp;quot; input. These contain the pool name, and the text that should be displayed if that pool is selected by the quiz. &lt;br /&gt;
[[File:Personality Pools Input.png|alt=Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names and descriptions go.|center|thumb|450x450px|Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names/descriptions go.]]&lt;br /&gt;
The &amp;quot;Pool Name&amp;quot; field is only used by the Question Generator Tab, and will not show up anywhere in the final script. Modify these as desired as soon as possible, as it will be difficult to do so after designing the quiz questions. &#039;&#039;&#039;For best results, ensure all pool names are unique!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Starter Species Data ===&lt;br /&gt;
The bottom left segment of the sheet is the &amp;quot;Starter Species Data&amp;quot; input. This is part of a wider table, but each segment will be discussed individually. &lt;br /&gt;
[[File:Starter Species Data Location.png|alt=Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.|center|thumb|750x750px|Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.]]&lt;br /&gt;
While some of these fields should be intuitive, A brief description of each column is as follows:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Species Name:&#039;&#039;&#039; The name of the species as you want it shown in the quiz. If the cell turns purple on entering a species name, this means the Pokémon could not be found in &#039;&#039;&#039;Vanilla Translation Strings&#039;&#039;&#039;. French and German Translations will need to be added by hand, or all strings involving the Pokémon will need to be translated manually.&lt;br /&gt;
* &#039;&#039;&#039;Species ID:&#039;&#039;&#039; The ID in SkyTemple of the Pokémon. &#039;&#039;&#039;[TODO: Explain how this is affected by ExpandPokeList]&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Gender:&#039;&#039;&#039; The gender of the Pokémon, used to set the frame color, and to add &amp;quot;♂&amp;quot; and &amp;quot;♀&amp;quot; to the hero/partner selection list. 0 is Male, 1 is Female, and 2 is Genderless.&lt;br /&gt;
* &#039;&#039;&#039;Pool ID:&#039;&#039;&#039; The number of the Pool the Pokémon should be categorized under. Each Pool that could be chosen by the Quiz should have at least one valid Pokémon, or Bulbasaur will be selected as a failsafe. &#039;&#039;&#039;If the species are not sorted by Pool ID, cells will turn red. The sheet will produce invalid labels if this table is not sorted by Pool ID!&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Start w/ Vowel:&#039;&#039;&#039; If the Pokémon should be referred to as &amp;quot;...an [Pokémon]&amp;quot;, check this box.&lt;br /&gt;
&lt;br /&gt;
=== Talk Group &amp;amp; Role Exclusion ===&lt;br /&gt;
Continuing along the table, the next two subsections are for &amp;quot;Talk Groups&amp;quot; and &amp;quot;Role Exclusion&amp;quot;. Both of these segments relate to either the hero, or the partner.&lt;br /&gt;
[[File:Talk Groups and Role Exclusion.png|alt=Location of Talk Group and Role Exclusion Inputs|center|thumb|300x300px|Location of Talk Group and Role Exclusion Inputs]]&lt;br /&gt;
In the vanilla game, the hero and partner have differing dialogue depending on their species-specific &amp;quot;Talk Group&amp;quot;. These columns are dedicated to assigning the talk group for the hero or partner if that row&#039;s species is chosen. While it handles pronouns for dialogue, especially in gendered languages, it also affects the way the partner&#039;s dialogue is written. It does the same for the hero&#039;s dialogue, but in the English localization it only affects 2 lines in the entire game (&amp;quot;Whoa&amp;quot; &amp;lt;-&amp;gt; &amp;quot;Wah&amp;quot;, &amp;quot;All right&amp;quot; &amp;lt;-&amp;gt; &amp;quot;OK&amp;quot;). This is how they are used in vanilla:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Explorers of Sky Talk Groups&lt;br /&gt;
!#&lt;br /&gt;
!Used By&lt;br /&gt;
!Notable Species&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Partner&lt;br /&gt;
|Male Squirtle/Totodile/Chimchar/Meowth/Munchlax&lt;br /&gt;
|More Masculine/&amp;quot;Rural&amp;quot; Dialogue. (Refers to self as &amp;quot;Oira&amp;quot; in Japanese) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Partner&lt;br /&gt;
|All other Male Pokémon&lt;br /&gt;
|More Masculine/&amp;quot;Boyish&amp;quot; Dialogue. (Refers to self as &amp;quot;Boku&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Partner&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|More Feminine Dialogue. (Refers to self as &amp;quot;Watashi&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Hero&lt;br /&gt;
|All Male/Genderless Pokémon&lt;br /&gt;
|Uses Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Hero&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|Uses Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;Role Exclusion&amp;quot; checkboxes blacklist the row from being an option as a hero or as a partner respectively. Certain Pokémon, particularly Meowth and Munchlax, are unable to be heroes in the vanilla game. This section is how to replicate that feature of the original quiz.&lt;br /&gt;
&lt;br /&gt;
=== Fuwarante Blacklist ===&lt;br /&gt;
Finally, on the far end of the table, is the Fuwarante Blacklist inputs. These are perhaps the most complicated portion of this tab of the sheet.[[File:Fuwarante Blacklist.png|alt=Location of the Fuwarante Blacklist|center|thumb|300x300px|Location of the Fuwarante Blacklist]]Each column corresponds to a bit of the script variable &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt;. If the matching flag is on, the starter in that row &#039;&#039;&#039;cannot&#039;&#039;&#039; be chosen. This will be elaborated on further in the &amp;quot;Question Loop Generator&amp;quot;, but this is a brief explanation of what the bits represent by default:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Bit&lt;br /&gt;
!Description/Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|If enabled, &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt; will be true, meaning the player answered that they have played Time/Darkness before.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|If enabled, the player has played EoS before, according to a custom starting question.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|If enabled, the player has participated in a Mystery Mail event before, according to a custom ending question.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|If enabled, the player claimed to be female in the final gender question. Enable for &#039;&#039;&#039;male&#039;&#039;&#039; starters.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|If enabled, the player claimed to be male in the final gender question. Enable for &#039;&#039;&#039;female&#039;&#039;&#039; starters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
Once again, the orange output cells on the far right of this sheet are largely unimportant, but are present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Question Loop Generator ==&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The upper panel of this sheet mostly consists of inputs, though the single output is a reminder of how many unique pools are used by the Starter Selection Generator. The input directly left of it is for telling the Question Loop Generator how many pools are in use, and should be changed to match the display. On the upper left of the panel, there are inputs for how many questions the game should ask the player, and how many questions will be written for the quiz to randomly choose from. In vanilla, there are 64 possible questions, and 8 will be given to the player.&lt;br /&gt;
[[File:Question Loop Generator Upper Panel.png|alt=Location of the Upper Panel of the Question Loop Generator|center|thumb|750x750px|Location of the Upper Panel of the Question Loop Generator]]&lt;br /&gt;
The bottom row consists of checkboxes to enable/disable the Custom/Standard First and Last Questions, such as the Gender Question and the Time/Darkness Question, which boosts recruit rates for certain species if you answer yes, and adds points to certain pools containing sky-exclusive Pokémon. &lt;br /&gt;
&lt;br /&gt;
=== ExplorerScript Pre/Post Quiz Questions ===&lt;br /&gt;
Room for an additional question before and after the quiz has also been made, which along with the Gender and Time/Darkness questions can be modified in the below ExplorerScript inputs:&lt;br /&gt;
[[File:Question Loop Generator ExplorerScript Inputs.png|alt=Location of the ExplorerScript Inputs|center|thumb|600x600px|Location of the ExplorerScript Inputs]]&lt;br /&gt;
These are the primary use-cases for the Fuwarante Blacklist described above. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag will be explained in further detail below. &lt;br /&gt;
&lt;br /&gt;
== Question Generator ==&lt;br /&gt;
Note: The &amp;quot;Yes.&amp;quot; and &amp;quot;No.&amp;quot; options have the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag after them. This does functionally nothing, and exists primarily to aid in automatic string translation, as the localization teams translated the same English responses for questions differently based on context. This will be elaborated on further in &amp;quot;Full Script Translation&amp;quot;. If there are no plans to use the sheet&#039;s translation features, it is safe to remove any variants of &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt;. (instructions to do so in SkyTemple directly are present below).&lt;br /&gt;
&lt;br /&gt;
=== About Question Templates ===&lt;br /&gt;
This tab of the sheet is dedicated to the design and storage of the individual random questions in the quiz. The way this sheet works revolves   around &amp;quot;Question Templates&amp;quot; that store the question text, question number, answer text, pool ID, and points for that pool ID. Below is an example of a Question Template, and how it translates to question data: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Do you prefer to be busy or have\na lot of free time?^35 |&amp;lt;code&amp;gt;Being busy.^11^4^8^2|Free time!^9^4|In between.^12^4&amp;lt;/code&amp;gt;&lt;br /&gt;
!Question Text&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; |Question #&lt;br /&gt;
|-&lt;br /&gt;
|Do you prefer to be busy or to have a lot of free time?&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; |35&lt;br /&gt;
|-&lt;br /&gt;
!Answer Text&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
|-&lt;br /&gt;
|Being busy.&lt;br /&gt;
|11&lt;br /&gt;
|4&lt;br /&gt;
|8&lt;br /&gt;
|2&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Free time!&lt;br /&gt;
|9&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|In between.&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Question Template Input ===&lt;br /&gt;
&lt;br /&gt;
On the far left, is an input for an existing Question Template.[[File:Question Template Input.png|alt=Question Template Input Location|center|thumb|600x600px|Question Template Input Location]]The &amp;quot;Use Question Template Input&amp;quot; checkbox tells the sheet whether or not to use the Question Template provided. When writing questions entirely from scratch, disable this checkbox. When modifying existing questions, enable the checkbox, and paste in the Question Template. This will subsequently auto-fill the Question Data Inputs with the data within the template. If the auto-filled data itself needs to be altered, you will need to copy and &#039;&#039;&#039;paste values&#039;&#039;&#039; the data, then disable the checkbox.&lt;br /&gt;
&lt;br /&gt;
=== Question Data Inputs ===&lt;br /&gt;
[[File:Question Data Inputs.png|alt=Location of the Question Data Inputs Area|center|thumb|750x750px|Location of the Question Data Inputs Area]]&lt;br /&gt;
The Question Data Inputs Area should seem relatively intuitive. The question text is at the top, the answers are beneath, and up to 4 Personality Pools can gain points from each answer choice. The White Space checkbox is identical to the previous tab, and the question index is just the internal &amp;quot;ID&amp;quot; of the question. It should be incremented for each new question created, and will translate to the ID of the switch case in the final code. Note that the drop-down for the Pool Names is sourced from the Pool Names column of the Starter Selection Generator, and any changes to that list after creating the questions may lead to problems. With the current setup of the sheet, each question is limited to a maximum of 26 answer choices, but this limit is arbitrary, and can be circumvented by editing the question template manually, and pasting it in the Template List. In the event that a single question requires more than 26 choices, please ping happylappy in a support thread.&lt;br /&gt;
&lt;br /&gt;
=== Question Template Output &amp;amp; Template List ===&lt;br /&gt;
Finally, once the question is complete, a template for the question will be created in &amp;quot;Question Template Output&amp;quot;. &lt;br /&gt;
[[File:Question Template Output &amp;amp; Template List.png|alt=Location of Question Template Output &amp;amp; Template List|center|thumb|750x750px|Location of Question Template Output &amp;amp; Template List]]&lt;br /&gt;
Before moving onto the next question, copy the template output, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; in the corresponding slot on the &amp;quot;Question Template List&amp;quot;.   By default, templates for each vanilla question are already in the Question Template List, ready to be edited or modified by copying and pasting into the Question Template Input. The Script Output Column is again for debug purposes, and is read automatically by another tab of the sheet. &lt;br /&gt;
&lt;br /&gt;
== Personality Pool Selection Generator ==&lt;br /&gt;
Once the quiz itself is completed, the points need to be tallied, so that a winning pool can be selected. The exact way that this happens in vanilla is a tad complicated, especially when it comes to breaking ties. Here are the steps that occur in vanilla:&lt;br /&gt;
&lt;br /&gt;
# Points are added to pools containing Sky-Exclusive Starters if the player has played Time/Darkness.&lt;br /&gt;
#* If Male is chosen for the gender question, +4 Points are added to Relaxed, Hasty, and Sassy. (Phanpy, Shinx, and Riolu)&lt;br /&gt;
#* If Female is chosen for the gender question, +4 Points are added to Relaxed and Jolly. (Vulpix and Eevee)&lt;br /&gt;
# The highest pool is found, and chosen.&lt;br /&gt;
#* If there is a tie, it is broken by adding a random number (0-19) to each, and rescoring the points.&lt;br /&gt;
#* If there is STILL a tie, it chooses the smallest pool it can.&lt;br /&gt;
This tab of the sheet serves to implement these two features in a customizable way.&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
About half of the upper panel is actually new this time. The &amp;quot;White Space&amp;quot; and &amp;quot;Number/# of Pools In Use&amp;quot; are unchanged, except they apply to this sheet.[[File:Pool Selection Generator Upper Panel.png|alt=Location of Pool Selection Generator Upper Panel|center|thumb|600x600px|Location of Pool Selection Generator Upper Panel]]The checkbox for &amp;quot;Do Pool Tinkering&amp;quot; enables/disables the Pool Tinkering portion of this sheet, while the &amp;quot;Maximum Tiebreaker Points&amp;quot; input determines the random value added to tied pools to decide a victor. Larger numbers result in less chance of a secondary tie, but could result in overflow for certain pools. &lt;br /&gt;
&lt;br /&gt;
=== Pool Tinkering ===&lt;br /&gt;
As stated above, the vanilla quiz favors pools with Sky-Exclusive Starters for the specified gender if they&#039;ve played Time/Darkness. Through checking the &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; flags from the &amp;quot;Question Loop Generator&amp;quot;, we can mimic this effect.&lt;br /&gt;
[[File:Pool Tinkering.png|alt=Location of Pool Tinkering Portion.|center|thumb|600x600px|Location of Pool Tinkering Portion.]]&lt;br /&gt;
On the far left, are the IDs of the two flags that should be checked (without modification, this could be 0 for &amp;quot;Time/Darkness&amp;quot;, and 3/4 for &amp;quot;Male/Female&amp;quot;). Depending on if the 1st and 2nd flags are true (1), or false (0), the selected pools (as many as needed) will gain the specified number of points. In order to accommodate for the &amp;quot;Surprise Me!&amp;quot; gender option, 2 points are given for male, 2 for &amp;quot;not male&amp;quot;, 2 for &amp;quot;female&amp;quot;, and 2 for &amp;quot;not female&amp;quot;, in order to influence every pool containing a sky-exclusive starter. (A similar process is done for the Time/Darkness exclusive starters I&#039;ve added to my example quiz, if the player has NOT played time/darkness). Up to 10 slots are present for pool tinkering, though more could be added if there is a pressing need. &lt;br /&gt;
&lt;br /&gt;
== Aura Bow Generator ==&lt;br /&gt;
The Aura Bow Generator serves to emulate the cinematics of the vanilla aura bow portion of the quiz. In addition to simply detecting when and for how long the player is touching the Aura Bow, the actual bow color needs to be determined! For the vanilla quiz, the process is as follows:&lt;br /&gt;
&lt;br /&gt;
* Use DS Favorite Color (75% Chance): If the DS Favorite Color is selected, the user&#039;s favorite color will match the color of the bow.&lt;br /&gt;
* Use DS Mac Address (25% Chance): If the Mac Address is selected, then &amp;lt;code&amp;gt;mac_address &amp;amp; 0xF&amp;lt;/code&amp;gt; determines the color of the bow.&lt;br /&gt;
&lt;br /&gt;
This functionality can be replicated by QuizMenuTool, and the chances can even be altered!&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The Aura Bow Generator&#039;s Upper Panel is one of the largest of every tab, though many of these inputs are similar to prior tabs of the sheet. The top left input boxes are Special Process IDs for the 4 Special Processes needed to emulate the Aura Bow portion of the quiz, and the &amp;quot;White Space?&amp;quot; Checkbox is the same as always. The &amp;quot;Aura Bow Output&amp;quot; on the top right is the final script output for this tab, unnecessary outside of debug purposes.&lt;br /&gt;
[[File:Aura Bow Generator Upper Panel.png|alt=Location of the Aura Bow Generator Upper Panel.|center|thumb|600x600px|Location of the Aura Bow Generator Upper Panel.]]&lt;br /&gt;
Beginning with the bottom left of the panel, there are 4 map LEVEL names. &amp;quot;Bottom 1&amp;quot; is for the background while touching the Aura bow, Bottom Screen 2 is for the presentation of the colored Aura Bow, and the Bottom/Top Screen 3 is the backgrounds that the script should end with, when transitioning to the starter reveal. Finally, on the bottom right of the upper panel is the &amp;quot;Touch Screen Aura Bow Object Name&amp;quot;. Per the name, this is the name or ID of the object that should be present on the bottom screen, that will animate when the player touches it. The last three digits of the object seem to vary depending on unknown factors, so be sure to verify that yours matches by inspecting this object in M00A01A with SkyTemple.&lt;br /&gt;
[[File:Aura Bow Touch Object Name.png|alt=Where to check the Aura Bow Touch Object Name in SkyTemple|center|thumb|600x600px|Where to check the Aura Bow Touch Object Name in SkyTemple]]&lt;br /&gt;
&lt;br /&gt;
=== Aura Reading Panel ===&lt;br /&gt;
Beginning on the lower left of the tab, the Aura Reading Panel consists of 3 ExplorerScript code segments, which play before the blank aura bow fades in, after the aura bow fades in, and if the player lets go of the touch screen too quickly. &lt;br /&gt;
[[File:Aura Reading Panel.png|alt=Location of the Aura Reading Panel.|center|thumb|600x600px|Location of the Aura Reading Panel.]]&lt;br /&gt;
At the very bottom of this panel, there are inputs for dialogue in all 5 languages that will play during the aura reading process. Unlike most text in the quiz, &#039;&#039;&#039;this string must be translated here&#039;&#039;&#039;, as every localization takes a different amount of time to print the dialogue. The length of time the touch screen should have been held for is calculated for each [W:X] text tag, and compared against the actual length of time the touch screen was held. Customizing this text string is possible in the box, so these calculations must be done by the sheet. If your hack is for a US ROM, or will be english-only, disable the &amp;quot;Use EU Strings&amp;quot; Checkbox. &amp;quot;Expected Text Speed (# of chars per frame)&amp;quot; should be the speed your dialogue prints at in SkyTemple. This will ensure that the actual length of the text is properly accounted for in the calculation. &amp;quot;Touch Screen Frame Tolerance&amp;quot; is a grace period for letting go of the bow. This is necessary for certain emulators, damaged touch-screens, failure to account for the dialogue box opening/closing, etc. Feel free to adjust as desired, such that the quiz is possible to complete. &lt;br /&gt;
&lt;br /&gt;
=== Bow Selection Panel ===&lt;br /&gt;
Finally, the Bow Selection Panel handles the actual selection and presentation of the Aura Bow. [[File:Bow Selection Panel.png|alt=Bow Selection Panel Location.|center|thumb|600x600px|Bow Selection Panel Location.]]The upper left of the panel is for assigning weights to the three methods for selecting a bow color: DS Favorite Color, DS MAC Address, or a custom block of code. Note that these weights &#039;&#039;&#039;must be integers&#039;&#039;&#039; or the sheet will generate invalid code. For convenience, the percent chance of each option is computed by the sheet, based on the weights and total weight. The ExplorerScript input for the custom bow selection is on the right of this panel, and on the bottom left is the flavor-text for each bow color. &lt;br /&gt;
&lt;br /&gt;
== Variable Cleanup &amp;amp; End-Cap Generator ==&lt;br /&gt;
This tab of the sheet aims to clean up the bevy of variables used by the quiz, and prep the game for actually running. Since QMT uses a majority of the script variables the game has to function, this tab resets them all back to what they should be at the beginning of a save file, now that the quiz no longer needs them. If some part of the quiz needs to be remembered, such as the color of the aura bow, whether the player has played Time/Darkness, or the winning Quiz personality pool, that needs to be preserved in this tab. In addition, this is the tab where the starters are officially initialized, which allows them to be nicknamed. Finally, the special process for actually assigning the starters, &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;, will wipe &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; clean, replacing it with what the real quiz determined your aura bow color to be. Because the real quiz never runs during QMT, this will always be zero. As a result, the aura bow color needs to be saved somewhere besides &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;, then returned afterwards.  &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
This tab ALSO has an upper panel! The number of pools to clear should ideally match the number of pools in use. &amp;quot;White Space&amp;quot; does the same thing it has up to this point, and the far right output cell is read elsewhere, and only exists for debug purposes.&lt;br /&gt;
[[File:Variable Cleanup &amp;amp; End-Cap Upper Panel.png|alt=Variable Cleanup &amp;amp; End-Cap Upper Panel Location.|center|thumb|600x600px|Variable Cleanup &amp;amp; End-Cap Upper Panel Location.]]&lt;br /&gt;
In the center of the panel are three new checkboxes. &amp;quot;Name Partner?&amp;quot; and &amp;quot;Name Hero?&amp;quot; should be somewhat intuitive, they enable/disable the ExplorerScript inputs for naming the hero and partner respectively, which will be elaborated on below. Finally, &amp;quot;Set $VERSION to 1?&amp;quot; sets the &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt; script variable to 1 at the very end of the script. Without ASM modification, saving the game with this variable as anything besides 1 results in a &amp;quot;corrupt&amp;quot; save file. In the absence of a strong reason otherwise, this box should remain checked.&lt;br /&gt;
&lt;br /&gt;
=== Hero Name, Partner Name, &amp;amp; Closing Remarks ===&lt;br /&gt;
These ExplorerScript Inputs are for... the code used for nicknaming the partner and hero respectively, as well as the last few lines of text before the quiz truly ends.[[File:Hero-Partner-Closing Remarks Input.png|alt=Location of ExplorerScript Code Inputs.|center|thumb|600x600px|Location of ExplorerScript Code Inputs.]]Note that &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; will not function without the dedicated SkyPatch, in the QMT github repo (linked at the top). Additionally, the menus themselves will close any active text-box the instant they are done printing, which is why the hero monologue ends with a &amp;lt;code&amp;gt;[K]&amp;lt;/code&amp;gt;. A &amp;lt;code&amp;gt;message_Close();&amp;lt;/code&amp;gt; would also suffice. Finally, the closing remarks should actually fade out the BGM and screen as desired. Feel free to optimize the fades, there is probably a more efficient way to achieve the right effect. &lt;br /&gt;
&lt;br /&gt;
=== Script Variable Preservation Panel ===&lt;br /&gt;
The Script Variable Preservation Panel serves to determine what information should be preserved after the quiz. By default, only the variables storing the personality pool counts are actually being erased, though certain configurations may require some variables to be kept, and others to be wiped in addition.[[File:Script Variable Preservation Panel.png|alt=Script Variable Preservation Panel Location.|center|thumb|600x600px|Script Variable Preservation Panel Location.]]Beginning at the top, is the &amp;quot;Variable Erasure Blacklist&amp;quot;. Based on other interactions with the sheet, the &amp;quot;Automatic Variables&amp;quot; will fill up automatically, but any script variables specified in this row will be kept as they are at the end of the quiz, and not erased. An example of a manual blacklist example might be &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt;, which doesn&#039;t need a dedicated line of code for erasure if it will ALSO be set to 1 at the end. The next row, &amp;quot;Additional Variables to Erase&amp;quot;, will be added to the list of erased variables if they are not already present. The &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; variables should be erased in addition, as the Driftblim Gondola will interpret these variables as valid station passes to enter. Below that, is the &amp;quot;Variable Transfer Table&amp;quot;. Prior to erasing anything, variables in the &amp;quot;Old Variable Name&amp;quot; column will be moved to the &amp;quot;New Variable Name&amp;quot;. The old variable will be slated for erasure, while the new one will be spared. For convenience, the &amp;quot;Variable Meaning&amp;quot; Tab on the left will autofill one or both of these columns depending on the option you select:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable Meaning&lt;br /&gt;
!Old Variable Name&lt;br /&gt;
!New Variable Name&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Preserve&lt;br /&gt;
|&amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;$LOCAL0&amp;lt;/code&amp;gt;&lt;br /&gt;
|If this Variable Meaning is present, &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; will be restored in post. It&#039;s only purpose is to prevent the quiz from wiping the variable on running  &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Winning Pool&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB7&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the winning Pool ID from the quiz itself. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Winning Points&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB6&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the number of points the winning Pool ID had after the tie-breaking process. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Fuwarante Bit X&lt;br /&gt;
|&amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL[X]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|These correspond directly to the FUWARANTE blacklist, and in this example is used to pass forward the Time/Darkness question to &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt;, the variable responsible for the recruitment rate buff for playing Time/Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|Direct Script Variable&lt;br /&gt;
|Any&lt;br /&gt;
|Any&lt;br /&gt;
|This is an invitation to input whatever script variables are needed, and will adjust the coloration of the row to match. &lt;br /&gt;
|}&lt;br /&gt;
A full list of script variables with their appropriate descriptions will be provided in &amp;quot;Other Resources&amp;quot;, and might prove useful for more advanced tinkering in this panel.&lt;br /&gt;
&lt;br /&gt;
== Full Script Translation ==&lt;br /&gt;
This tab of the sheet is dedicated to translating all lines of dialogue into Spanish, French, German, and Italian, for an EU ROM. If the hack this is for doesn&#039;t need translation, this tab can be completely skipped. One of the most essential features of a translated quiz is the ability to pre-translate the vanilla text strings from the original quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
By default, the left-most checkbox of the upper panel will &amp;quot;activate&amp;quot; this sheet for translation. This may cause lag, and will cause more lag every time a change is made on one of the prior sheets, while enabled. Only begin translating once finished with the quiz, at least in the short term. [[File:Full Script Translation Upper Panel.png|alt=Location of the Full Script Translation Upper Panel.|center|thumb|600x600px|Location of the Full Script Translation Upper Panel.]]The &amp;quot;Auto-Translate Vanilla Strings&amp;quot; check-box will automatically search for and translate exact matches to vanilla Quiz strings. Additional translations can be added in &amp;quot;Vanilla Translation Strings&amp;quot; as needed. If no exact match is found, the translation will be left blank for manual translation. &amp;quot;Auto-Translate Pokemon&amp;quot; similarly will attempt to translate exact matches for dialogue specific to the final species. For example, the English string &amp;lt;code&amp;gt;[R][CN]Will be a [CS:K]Magnemite[CR]![W:60]&amp;lt;/code&amp;gt; will be automatically translated to &amp;lt;code&amp;gt;[R][CN]wird ein [CS:K]Magnetilo[CR]![W:60&amp;lt;/code&amp;gt;] (German), based on Magnemite&#039;s German name and the phrase &amp;quot;wird ein ___!&amp;quot;. This will only occur if the checkbox is enabled, and only for Pokemon names present in &amp;quot;Vanilla Translation Strings&amp;quot;. Finally, the &amp;quot;Trim [S:0] Before Translation&amp;quot; checkbox will remove all &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tags from the dialogue before searching for a match, ensuring that the various &amp;quot;Yes.&amp;quot;, &amp;quot;No.&amp;quot;. &amp;quot;Of Course!&amp;quot;, and &amp;quot;Open it!&amp;quot; are not translated automatically, per their vanilla quiz questions. Regardless of whether this checkbox is enabled, the final script output will not contain the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; tags. &lt;br /&gt;
&lt;br /&gt;
=== String Translation Panel ===&lt;br /&gt;
The string translation panel, on the right of this tab, is where text string translation will actually occur. &lt;br /&gt;
[[File:String Translation Panel.png|alt=Location of String Translation Panel.|center|thumb|600x600px|Location of String Translation Panel.]]&lt;br /&gt;
On the left, are English lines of text extracted from other tabs of the sheet. each column corresponds to an EU language (Spanish, French, German, Italian). At the top of each column, is a count of how many untranslated lines of dialogue are left for that language, as well as a checkbox to enable/disable each language. In the above screenshot, French dialogue will not be added to the final script, because the checkbox is enabled. In the rows themselves, are pink cells (vanilla translated text), green cells (empty), and blue cells (manual translation). Simply review each pink cell, and manually translate the English for that row for green cells so they turn blue. If a pink cell needs editing, simply copy the cell, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; it on top of itself, and it will turn blue, which is safe to edit. &lt;br /&gt;
&lt;br /&gt;
== Vanilla Translation Strings ==&lt;br /&gt;
This tab of the sheet is used to store vanilla strings from the base game, and official Pokemon translations. These can be amended and edited as desired, to include custom strings for auto-translation, or new Pokemon name translations. &lt;br /&gt;
[[File:Vanilla Translation Strings Dialogue.png|alt=Vanilla Translation Strings Dialogue|center|thumb|600x600px|Vanilla Translation Strings Dialogue]]&lt;br /&gt;
This area above contains all relevant vanilla strings, which can be added to or amended as desired, in the green cells in these 5 columns. If a need arises to make changes to the quiz after translation, it is best to move all manually translated lines to this tab, before making any changes. Additionally, the lookup table for Pokemon species names can be modified:&lt;br /&gt;
[[File:Vanilla Translation Strings Species.png|alt=Vanilla Translation Strings Species|center|thumb|452x452px|Vanilla Translation Strings Species]]&lt;br /&gt;
On the far right of the tab, are a list of every Pokemon through Scarlet &amp;amp; Violet, and the French/German translations for each species (Spanish and Italian use English species names). These can also be amended or added to as desired. &lt;br /&gt;
&lt;br /&gt;
== Full Script Compression ==&lt;br /&gt;
Last but not least, is the Full Script Compression Tab. This tab compiles all of the information from the other tabs, and compresses it into a copy/pastable batch of scripts for SkyTemple. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
There are a handful of settings in this upper panel. &amp;quot;White Space&amp;quot; is as it has been for every prior tab, but that&#039;s the only returning input.&lt;br /&gt;
[[File:Full Script Compression Upper Panel.png|alt=Full Script Compression Upper Panel Location.|center|thumb|600x600px|Full Script Compression Upper Panel Location.]]&lt;br /&gt;
&amp;quot;Use Full MegaScript&amp;quot; will compile the entire quiz into one script. This is only possible for English-only quizzes, and is only advised for quizzes with few questions and fewer starter choices. &amp;quot;Use Translated Scripts?&amp;quot; will use the outputs from Full Script Translation, which will be empty if the sheet is not active. Disable this checkbox for English-only quizzes. &amp;quot;Generate Unionall CORO&amp;quot; will create the unionall code needed to run the quiz, for a copy and paste replacement for the existing &amp;lt;code&amp;gt;CORO EVENT_M00A_01&amp;lt;/code&amp;gt; coroutine. The &amp;quot;Script File LEVEL Name&amp;quot; should reflect the location of the map LEVEL &amp;quot;folder&amp;quot; that the script file will actually be under. The &amp;quot;Script File SCRIPT Name&amp;quot; should become the name of the acting script itself, and should be 8 alphanumerical characters or fewer (not case-sensitive). Finally, the &amp;quot;Sector Param.&amp;quot; is the sector parameter of the &amp;lt;code&amp;gt;supervision_ExecuteActingSub();&amp;lt;/code&amp;gt; [[List of Opcodes#0x12d - supervision ExecuteActingSub|Opcode]]. Generally this should be zero, though none of these scripts internally utilize the sector parameter, should it be of interest for customization.&lt;br /&gt;
&lt;br /&gt;
=== SkyTemple Script Outputs ===&lt;br /&gt;
This portion of the sheet consists of outputs to SkyTemple. Unlike most output cells thus far, these are actually intended for use!&lt;br /&gt;
[[File:SkyTemple Script Outputs.png|alt=SkyTemple Script Outputs Location.|center|thumb|600x600px|SkyTemple Script Outputs Location.]]&lt;br /&gt;
The intended places for each of these outputs will be described in &amp;quot;Importing The Scripts To SkyTemple&amp;quot;, but when copying a script, be sure to copy all cells in the box with text.&lt;br /&gt;
&lt;br /&gt;
== Importing The Scripts To SkyTemple ==&lt;br /&gt;
Now for the fun part! Actually applying everything to SkyTemple, and seeing the quiz actually play out. This section will briefly cover installation of SkyPatches and Special Processes, though more generalized guides for these things are or will be available. First though, prior installation of StarterMenuTool will change some of these steps. &lt;br /&gt;
=== Converting From StarterMenuTool ===&lt;br /&gt;
There are very few differences between starting fresh and converting from StarterMenuTool. The differences are as follows:&lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu is Applied: Since the SkyPatch is already applied, it does not need to be applied again. It can be reapplied without issue, though it already exists in the ROM.&lt;br /&gt;
* Existing Special Processes: Older versions of &amp;lt;code&amp;gt;starter_setter&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; were added via StarterMenuTool. These may function as intended for QMT, especially &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; which has seen zero change between the two tools, but it is recommended to update them by replacing them, or to use new slots for the QMT SPs.&lt;br /&gt;
* Existing Acting Script: StarterMenuTool takes the same approach as QMT in creating a new acting scene for the quiz itself. This existing script can be repurposed into one of the QMT acting scripts, though with SkyTemple alone it cannot be renamed, meaning the script name it will be used for in the Full Script Compression Upper Panel must be renamed.&lt;br /&gt;
* Edit to Vanilla Quiz: StarterMenuTool modifies the original quiz script m00a01a.ssb. While these changes have no net impact on QMT, it would impact the debug mode, as the code to create a team from the default starters has been removed. If this functionality needs to be restored, simply add the following line after &amp;quot;if ( debug ) {&amp;quot; in m00a01a.ssb:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;switch ( ProcessSpecial(PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ, 0, 0) ) { }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Existing Unionall Edit: StarterMenuTool also requires the modification of &amp;lt;code&amp;gt;coro EVENT_M00A_01&amp;lt;/code&amp;gt;. QuizMenuTool will require this coroutine to be edited to run m00a01a in debug mode, and the QMT scripts otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Installing the SkyPatches ===&lt;br /&gt;
In order for QuizMenuTool to function, the following SkyPatches must be applied. &lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu: Gives &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; the ability to actually nickname the partner. Requires ExtraSpace as a pre-requisite.&lt;br /&gt;
* ExtractSPCode: Enables the use of custom Special Processes used heavily by QMT.&lt;br /&gt;
&lt;br /&gt;
Installing FixPartnerNameMenu is relatively simple. After downloading the file from the github repo, navigate to &amp;lt;code&amp;gt;Patches -&amp;gt; ASM&amp;lt;/code&amp;gt; in SkyTemple. Then, click the &amp;quot;Open Patch Directory&amp;quot; button.&lt;br /&gt;
[[File:InstallFixPartnerNamePatch.png|alt=The &amp;quot;Open Patch Folder&amp;quot; button is on the bottom left.|center|thumb|600x600px|The &amp;quot;Open Patch Directory&amp;quot; button is on the bottom left.]]&lt;br /&gt;
Finally, drag &amp;lt;code&amp;gt;FixPartnerName.skypatch&amp;lt;/code&amp;gt; into the folder, and close it. The patch will now be in the &amp;quot;Others&amp;quot; Tab, ready for installation. If ExtraSpace is not installed, SkyTemple will prompt the installation of both patches sequentially. This is good, do that. &lt;br /&gt;
&lt;br /&gt;
Next, is the installation of ExtractSPCode. Once again, navigate to &amp;lt;code&amp;gt;Patches-&amp;gt;ASM&amp;lt;/code&amp;gt;, and select the &amp;quot;Utility&amp;quot; tab. Install ExtractSPCode, and any necessary pre-requisites (there shouldn&#039;t be any, except maybe ExtraSpace). &lt;br /&gt;
[[File:ExtractSPCode.png|alt=ExtractSPCode Location|center|thumb|600x600px|ExtractSPCode Location]]&lt;br /&gt;
&lt;br /&gt;
=== Applying The Special Processes ===&lt;br /&gt;
Now for installing the Special Processes themselves. If the hack already has custom Special Processes it wishes to keep, or the IDs of the special processes in the sheet have been changed, apply the SPs as desired, but ensure the sheet has accurate IDs (NOT Effects), so it can call them. For simplicity, these are the default locations of each SP:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Spreadsheet Tab&lt;br /&gt;
!Spreadsheet Input Name&lt;br /&gt;
!SP File Name&lt;br /&gt;
!ID&lt;br /&gt;
!Effect&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|starter_setter SP ID&lt;br /&gt;
|starter_setter.asm&lt;br /&gt;
|64&lt;br /&gt;
|61&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|set_frame_color SP ID&lt;br /&gt;
|set_frame_color.asm&lt;br /&gt;
|65&lt;br /&gt;
|62&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|CheckTSPress SP ID&lt;br /&gt;
|CheckTSPress.asm&lt;br /&gt;
|66&lt;br /&gt;
|63&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|ReturnTSPFrames SP ID&lt;br /&gt;
|ReturnTSPFrames.asm&lt;br /&gt;
|67&lt;br /&gt;
|64&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|MoveText2TopScreen SP ID&lt;br /&gt;
|MoveText2TopScreen.asm&lt;br /&gt;
|68&lt;br /&gt;
|65&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|Set_Demo_Character SP ID&lt;br /&gt;
|Set_Demo_Character.asm&lt;br /&gt;
|69&lt;br /&gt;
|66&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|get_favorite_config_color SP ID&lt;br /&gt;
|get_favorite_config_color.asm&lt;br /&gt;
|70&lt;br /&gt;
|67&lt;br /&gt;
|}&lt;br /&gt;
Ensure that you download the correct set of special processes for your version of the ROM (US or EU). Next, navigate to                       &amp;lt;code&amp;gt;Patches-&amp;gt;ASM-&amp;gt;Special Processes&amp;lt;/code&amp;gt;, and click the &amp;quot;Add Special Process&amp;quot; button until enough IDs are in the list for each new Special Process.&lt;br /&gt;
[[File:How2AddSpecialProcesses1.png|alt=The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.|center|thumb|600x600px|The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.]]&lt;br /&gt;
The list should look like it does in the image when done. With that completed, navigate to the &amp;quot;Effects Code&amp;quot; tab. Click the &amp;quot;+&amp;quot; Button to create a new effect. Then, click the &amp;quot;Import Code&amp;quot; button at the bottom to select the special process to be imported to this effect.&lt;br /&gt;
[[File:How2AddSpecialProcesses2.png|center|thumb|600x600px|Clicking the &amp;quot;+&amp;quot; Button adds a new effect. Each new effect must have the correct .asm file imported into it, as specified in the table.]]&lt;br /&gt;
In the above image, Special Process &amp;lt;code&amp;gt;starter_setter.asm&amp;lt;/code&amp;gt; is being imported to Effect 61, which corresponds to ID 64. Similarly, &amp;lt;code&amp;gt;set_frame_color.asm&amp;lt;/code&amp;gt; should be imported to Effect 62 (ID 65), &amp;lt;code&amp;gt;CheckTSPress.asm&amp;lt;/code&amp;gt; should be imported to Effect 63, etc.&lt;br /&gt;
&lt;br /&gt;
Once all the necessary Special Processes have been imported to their effects, the last thing that needs to be done is assigning the effects to their IDs. Navigating back to the &amp;quot;Special Process Effects&amp;quot; tab, assign each effect to the correct ID, as shown below:&lt;br /&gt;
[[File:How2AddSpecialProcesses3.png|alt=Simply clicking on the effect cell will allow it to be edited.|center|thumb|600x600px|Simply clicking on the effect cell will allow it to be edited.]]&lt;br /&gt;
With that, SP importing is complete, and all that remains is to save the ROM.&lt;br /&gt;
&lt;br /&gt;
=== Creating QMT Script Files ===&lt;br /&gt;
Next, is the process of actually creating the QMT script files. For simplicity, this guide will demonstrate the process on LEVEL_S02P01A, the same location in the script files as the original quiz. If you plan on putting the QMT script files elsewhere, ensure this is properly accounted for in Full Script Compression. Navigate to Script Scenes-&amp;gt;S02P01A. If you are using a MegaScript, create ONE new acting scene. Otherwise, create four of them, each with the name in FullScriptCompression.&lt;br /&gt;
[[File:ImportingQMTScriptFiles1.png|alt=Be sure you click &amp;quot;Create Acting Scene&amp;quot;! It is important that these scripts are acting scenes.|center|thumb|600x600px|Be sure you click &amp;quot;Create Acting Scene&amp;quot;! It is important that these scripts are acting scenes.]]&lt;br /&gt;
The newly created scenes should appear in the Acting (ssa) folder. Navigate to the first one created, and double-click on &amp;quot;[script-name].ssb&amp;quot;.&lt;br /&gt;
[[File:ImportingQMTScriptFiles2.png|alt=In this case, &amp;quot;qmt01.ssb&amp;quot; on the right will open the script file&#039;s &amp;quot;ssb&amp;quot; code.|center|thumb|600x600px|In this case, &amp;quot;qmt01.ssb&amp;quot; on the right will open the script file&#039;s &amp;quot;ssb&amp;quot; code.]]&lt;br /&gt;
&lt;br /&gt;
From there, simply paste from the respective part of the sheet, and attempt to save the script.&lt;br /&gt;
[[File:ImportingQMTScriptFiles3.png|center|thumb|600x600px|You can also navigate between script files with the search bar on the left!]]&lt;br /&gt;
&lt;br /&gt;
Repeat the process of pasting in the remaining scripts. Finally, the script that contains the aura bow segment of the quiz (script #2 or the megascript) needs additional work done to the .ssa file. Navigate to S02P01A-&amp;gt;M00A01A, and click the Export Button (square with an up arrow in it).&lt;br /&gt;
[[File:Export Quiz .ssa.png|alt=Visual for exporting the .ssa for M00A01A for QuizMenuTool|center|thumb|600x600px|The Export Button is up top!]]&lt;br /&gt;
Then just import this file into the script containing the Aura Bow segment, as shown below:&lt;br /&gt;
[[File:Aura Bow SSA import.png|center|thumb|600x600px|The Export Button is right next to the Import button!]]&lt;br /&gt;
After that, save the ROM. The quiz is nearly ready, all that&#039;s left is setting up unionall...&lt;br /&gt;
&lt;br /&gt;
=== Editing Unionall ===&lt;br /&gt;
Unionall is a big file, but there&#039;s only a very specific part that needs to be edited. Open Unionall by using the search bar in the Script Engine Debugger, then do CTRL + F (Command + F for Mac, you should know your equivalent if you use Linux) to find coroutine inside unionall.&lt;br /&gt;
[[File:Unionall coro EVENT M00A 01.png|center|thumb|600x600px|Be sure you search for EXACTLY &amp;quot;coro EVENT_M00A_01&amp;quot;. This should be the only match!]]&lt;br /&gt;
Once you find it, select the entire coroutine, and replace it with the unionall final output. the result should look something like this:&lt;br /&gt;
[[File:QMT coro EVENT M00A 01.png|center|thumb|600x600px|Modified Unionall Coroutine, should look roughly like this after pasting.]]&lt;br /&gt;
With that, save unionall, and the quiz is ready for testing! &lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
&lt;br /&gt;
=== QMT Script Variable Map ===&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1202</id>
		<title>QuizMenuTool Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1202"/>
		<updated>2025-08-10T02:08:38Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* Creating QMT Script Files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;{{SkyTempleIcon|icon=skytemple-dialog-error-symbolic}} This article is unfinished. You can help &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:{{PAGENAME}}|veaction=edit}} expanding it]&amp;lt;/span&amp;gt;.&#039;&#039;&amp;lt;hr&amp;gt;This guide explains how to use QuizMenuTool to create a custom Personality Quiz. The bulk of this guide will explain the use of the google sheets portion of the tool. A rudimentary understanding of SkyTemple scripting is helpful for this task, but not strictly required. These topics will be covered at the end for the sake of completion, but only to the extent that they are needed for QuizMenuTool. &lt;br /&gt;
&lt;br /&gt;
== About QuizMenuTool ==&lt;br /&gt;
&lt;br /&gt;
=== What Is QuizMenuTool? ===&lt;br /&gt;
QuizMenuTool is a customizable ExplorerScript replica of the Explorers of Sky Personality Quiz and Starter Selection, with minimal hardcoded aspects. The original quiz was designed to consist mostly of &amp;lt;code&amp;gt;message_Menu()&amp;lt;/code&amp;gt; ASM, to make editing the personality quiz accessible without the need to learn ASM. &lt;br /&gt;
&lt;br /&gt;
=== What can QuizMenuTool do? ===&lt;br /&gt;
QuizMenuTool can modify the process of using the quiz to select a starter, expand/reduce the starter list, add/remove/modify questions from the quiz, and much more! In fact, the better question might be...&lt;br /&gt;
&lt;br /&gt;
=== What Limitations does QuizMenuTool have? ===&lt;br /&gt;
There are a few critical things QuizMenuTool was not designed to do, though many of these could be remedied in the future if enough demand exists. Here&#039;s a list of what QuizMenuTool fails to replicate from the vanilla quiz:&lt;br /&gt;
&lt;br /&gt;
* Hero/Partner Type Exclusion: In the vanilla quiz, the hero and partner are prevented from sharing a type, to encourage team balance. No   option for such a restriction has been implemented yet, though such a thing would be possible in the future, or be scripted manually for a specific hack. &lt;br /&gt;
* SwitchMenu Portraits: In the vanilla quiz, scrolling to a partner choice displays a portrait of that partner, which gradually changes in expression. This feature would require significant custom code to emulate, and is unlikely to be available for QuizMenuTool.&lt;br /&gt;
* Third Party Starter Tweaks: The original starter list is &#039;&#039;&#039;completely unused&#039;&#039;&#039; by QuizMenuTool. Changing it has no impact on the quiz. Players of a hack using QuizMenuTool will have difficulty adding their own starters to the game, though this could potentially be remedied with a special process checking the starter list against what it is expected to be, and assigning the desired starter if a mismatch is found?&lt;br /&gt;
* Incompatibility with Japanese ROMs: Currently, QuizMenuTool is designed to only work for NA and EU ROMs. while in theory a Japanese Quiz could be designed, the Special Processes are not Japanese-compatible. This could be remedied with little effort, but the tool is designed for EU/NA ROMs.&lt;br /&gt;
&lt;br /&gt;
== Who QuizMenuTool is for ==&lt;br /&gt;
If either of the below points do not apply to you, you do not need QuizMenuTool.&lt;br /&gt;
* You would like to expand (or shrink) the list of starter options in the game.&lt;br /&gt;
* You would like to keep the personality quiz in the game, or edit the quiz directly.&lt;br /&gt;
If you only want to change the size of the starter list, and do not want the personality quiz (as if the [[SkipQuiz]] patch is applied), you should instead use [https://github.com/Chesyon/StarterMenuTool StarterMenuTool], which is less powerful but requires much less work to set up.&lt;br /&gt;
&lt;br /&gt;
== Programs and Files ==&lt;br /&gt;
&lt;br /&gt;
=== Required Programs and Files ===&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1snwIq3-GHntcPTBwH-TJ5Ctk0a8l4pwXTZYwCs53dwo/edit?usp=sharing Explorers of Sky Personality Quiz Assembling Sheet]&lt;br /&gt;
* [https://github.com/HappyLappy1/EOS-QuizGenerationTool-ASM Necessary Special Processes and SkyPatches]&lt;br /&gt;
* [[SkyTemple]] &lt;br /&gt;
&lt;br /&gt;
== General Spreadsheet Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Making a Copy of the Sheet ===&lt;br /&gt;
The above link does NOT grant edit access. In order to use the sheet, a copy will need to be made as follows:&lt;br /&gt;
[[File:Copying a Spreadsheet.png|thumb|750x750px|Location of the &amp;quot;File&amp;quot; and &amp;quot;Make a Copy&amp;quot; buttons. |center]]&lt;br /&gt;
First click the &amp;quot;File&amp;quot; button on the top left. Next, &amp;quot;Make a Copy&amp;quot; of the sheet. Finally, name the copy as desired. &lt;br /&gt;
&lt;br /&gt;
=== Cell Color-Coding ===&lt;br /&gt;
Throughout the spreadsheet, most cells are color-coded. Here&#039;s a brief explanation of each color present in the sheet: &lt;br /&gt;
&lt;br /&gt;
* Green Cells are for user input. If a cell is green, it is intended to contain input data.&lt;br /&gt;
* Grey Cells contain formulas. They will update automatically, and should not be edited.&lt;br /&gt;
* Orange Cells are for user outputs. If a cell is orange, it is intended to be exported elsewhere, such as to a SkyTemple script.&lt;br /&gt;
* Cells without a color or of an unspecified color are typically safe to edit. Always check for a formula first though!&lt;br /&gt;
&lt;br /&gt;
=== Paste Values Only ===&lt;br /&gt;
This tab is the first which will require the use of &amp;quot;Paste Values&amp;quot;. When this guide specifies that a copy/paste must &amp;quot;Paste Values&amp;quot;, this means that the copied text is a formula, and the pasted text should not be a formula. &lt;br /&gt;
[[File:How To Paste Values.png|alt=Depiction of the &amp;quot;Values Only&amp;quot; button in the menu|center|thumb|600x600px|Depiction of the &amp;quot;Values Only&amp;quot; button in the menu]]&lt;br /&gt;
There are two ways to paste values, either by right-clicking the paste location and selecting &amp;quot;Paste Special&amp;quot; then &amp;quot;Values Only&amp;quot;, or by holding shift as you paste. &lt;br /&gt;
&lt;br /&gt;
== Quiz Preamble Generator: A Good First Impression! ==&lt;br /&gt;
The Quiz Preamble Generator Tab as a whole exists to create the very beginning of the quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
Most tabs in the sheet contain an upper panel of some kind, with various simple inputs and feedback on them:&lt;br /&gt;
[[File:Preamble Upper Panel.png|alt=Location of the Quiz Preamble Generator&#039;s Upper Panel.|center|thumb|750x750px|Location of the Quiz Preamble Generator&#039;s Upper Panel.]]&lt;br /&gt;
The &amp;quot;Bottom Screen&amp;quot; and &amp;quot;Top Screen&amp;quot; inputs are the map ID that should be used for that screen&#039;s background. Similarly, the Background Music Name/ID is a BGM name (or number) of the BGM that should play throughout the quiz. The &amp;quot;White Space?&amp;quot; checkbox will attempt to add indents to the output ExplorerScript lines, making the output script more human-readable.&lt;br /&gt;
&lt;br /&gt;
=== Preamble Text ===&lt;br /&gt;
This is the first of many direct inputs for ExplorerScript code. Due to the way spreadsheets store cell data, &amp;quot; &amp;quot; behave weirdly when present in the final script. Please use &#039; &#039; instead. This input is for the first set of dialogue before the questions actually begin. &lt;br /&gt;
[[File:Quiz Preamble Location.png|alt=Location of the Quiz Preamble Inputs|center|thumb|600x600px|Location of the Quiz Preamble Inputs]]&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
The orange output cell on this sheet is largely unimportant, but is present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Starter Selection Generator: Actually Adding the Starters... ==&lt;br /&gt;
This tab of the sheet is primarily for inputting data about the starters, or the personality pools they belong to. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
[[File:Starter Selection Upper Panel.png|alt=The Upper Panel for the &amp;quot;Starter Selection Generator&amp;quot; Tab|thumb|750x750px|Location of the &amp;quot;Upper Panel&amp;quot; for the &amp;quot;Starter Selection Generator&amp;quot; Tab|center]]This upper panel contains 4 inputs, 3 of which are for Special Processes pertaining to starter selection. If other Special Processes have already been added, these Special Process IDs will need to be changed to free slots. The &amp;quot;White Space?&amp;quot; checkbox is the same as before, except for this tab of the sheet. The 4 grey cells are useful statistics about the input starters: how many different pools are used by the starters, how many species are present, and how many options there are for the hero and partner. &lt;br /&gt;
&lt;br /&gt;
=== Personality Pool Input ===&lt;br /&gt;
Next, on the lower right is the nature &amp;quot;Pool&amp;quot; input. These contain the pool name, and the text that should be displayed if that pool is selected by the quiz. &lt;br /&gt;
[[File:Personality Pools Input.png|alt=Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names and descriptions go.|center|thumb|450x450px|Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names/descriptions go.]]&lt;br /&gt;
The &amp;quot;Pool Name&amp;quot; field is only used by the Question Generator Tab, and will not show up anywhere in the final script. Modify these as desired as soon as possible, as it will be difficult to do so after designing the quiz questions. &#039;&#039;&#039;For best results, ensure all pool names are unique!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Starter Species Data ===&lt;br /&gt;
The bottom left segment of the sheet is the &amp;quot;Starter Species Data&amp;quot; input. This is part of a wider table, but each segment will be discussed individually. &lt;br /&gt;
[[File:Starter Species Data Location.png|alt=Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.|center|thumb|750x750px|Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.]]&lt;br /&gt;
While some of these fields should be intuitive, A brief description of each column is as follows:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Species Name:&#039;&#039;&#039; The name of the species as you want it shown in the quiz. If the cell turns purple on entering a species name, this means the Pokémon could not be found in &#039;&#039;&#039;Vanilla Translation Strings&#039;&#039;&#039;. French and German Translations will need to be added by hand, or all strings involving the Pokémon will need to be translated manually.&lt;br /&gt;
* &#039;&#039;&#039;Species ID:&#039;&#039;&#039; The ID in SkyTemple of the Pokémon. &#039;&#039;&#039;[TODO: Explain how this is affected by ExpandPokeList]&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Gender:&#039;&#039;&#039; The gender of the Pokémon, used to set the frame color, and to add &amp;quot;♂&amp;quot; and &amp;quot;♀&amp;quot; to the hero/partner selection list. 0 is Male, 1 is Female, and 2 is Genderless.&lt;br /&gt;
* &#039;&#039;&#039;Pool ID:&#039;&#039;&#039; The number of the Pool the Pokémon should be categorized under. Each Pool that could be chosen by the Quiz should have at least one valid Pokémon, or Bulbasaur will be selected as a failsafe. &#039;&#039;&#039;If the species are not sorted by Pool ID, cells will turn red. The sheet will produce invalid labels if this table is not sorted by Pool ID!&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Start w/ Vowel:&#039;&#039;&#039; If the Pokémon should be referred to as &amp;quot;...an [Pokémon]&amp;quot;, check this box.&lt;br /&gt;
&lt;br /&gt;
=== Talk Group &amp;amp; Role Exclusion ===&lt;br /&gt;
Continuing along the table, the next two subsections are for &amp;quot;Talk Groups&amp;quot; and &amp;quot;Role Exclusion&amp;quot;. Both of these segments relate to either the hero, or the partner.&lt;br /&gt;
[[File:Talk Groups and Role Exclusion.png|alt=Location of Talk Group and Role Exclusion Inputs|center|thumb|300x300px|Location of Talk Group and Role Exclusion Inputs]]&lt;br /&gt;
In the vanilla game, the hero and partner have differing dialogue depending on their species-specific &amp;quot;Talk Group&amp;quot;. These columns are dedicated to assigning the talk group for the hero or partner if that row&#039;s species is chosen. While it handles pronouns for dialogue, especially in gendered languages, it also affects the way the partner&#039;s dialogue is written. It does the same for the hero&#039;s dialogue, but in the English localization it only affects 2 lines in the entire game (&amp;quot;Whoa&amp;quot; &amp;lt;-&amp;gt; &amp;quot;Wah&amp;quot;, &amp;quot;All right&amp;quot; &amp;lt;-&amp;gt; &amp;quot;OK&amp;quot;). This is how they are used in vanilla:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Explorers of Sky Talk Groups&lt;br /&gt;
!#&lt;br /&gt;
!Used By&lt;br /&gt;
!Notable Species&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Partner&lt;br /&gt;
|Male Squirtle/Totodile/Chimchar/Meowth/Munchlax&lt;br /&gt;
|More Masculine/&amp;quot;Rural&amp;quot; Dialogue. (Refers to self as &amp;quot;Oira&amp;quot; in Japanese) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Partner&lt;br /&gt;
|All other Male Pokémon&lt;br /&gt;
|More Masculine/&amp;quot;Boyish&amp;quot; Dialogue. (Refers to self as &amp;quot;Boku&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Partner&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|More Feminine Dialogue. (Refers to self as &amp;quot;Watashi&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Hero&lt;br /&gt;
|All Male/Genderless Pokémon&lt;br /&gt;
|Uses Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Hero&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|Uses Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;Role Exclusion&amp;quot; checkboxes blacklist the row from being an option as a hero or as a partner respectively. Certain Pokémon, particularly Meowth and Munchlax, are unable to be heroes in the vanilla game. This section is how to replicate that feature of the original quiz.&lt;br /&gt;
&lt;br /&gt;
=== Fuwarante Blacklist ===&lt;br /&gt;
Finally, on the far end of the table, is the Fuwarante Blacklist inputs. These are perhaps the most complicated portion of this tab of the sheet.[[File:Fuwarante Blacklist.png|alt=Location of the Fuwarante Blacklist|center|thumb|300x300px|Location of the Fuwarante Blacklist]]Each column corresponds to a bit of the script variable &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt;. If the matching flag is on, the starter in that row &#039;&#039;&#039;cannot&#039;&#039;&#039; be chosen. This will be elaborated on further in the &amp;quot;Question Loop Generator&amp;quot;, but this is a brief explanation of what the bits represent by default:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Bit&lt;br /&gt;
!Description/Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|If enabled, &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt; will be true, meaning the player answered that they have played Time/Darkness before.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|If enabled, the player has played EoS before, according to a custom starting question.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|If enabled, the player has participated in a Mystery Mail event before, according toa custom ending question.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|If enabled, the player claimed to be female in the final gender question. Enable for &#039;&#039;&#039;male&#039;&#039;&#039; starters.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|If enabled, the player claimed to be male in the final gender question. Enable for &#039;&#039;&#039;female&#039;&#039;&#039; starters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
Once again, the orange output cells on the far right of this sheet are largely unimportant, but are present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Question Loop Generator: Before, After, and For How Long? ==&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The upper panel of this sheet mostly consists of inputs, though the single output is a reminder of how many unique pools are used by the Starter Selection Generator. The input directly left of it is for telling the Question Loop Generator how many pools are in use, and should be changed to match the display. On the upper left of the panel, there are inputs for how many questions the game should ask the player, and how many questions will be written for the quiz to randomly choose from. In vanilla, there are 64 possible questions, and 8 will be given to the player.&lt;br /&gt;
[[File:Question Loop Generator Upper Panel.png|alt=Location of the Upper Panel of the Question Loop Generator|center|thumb|750x750px|Location of the Upper Panel of the Question Loop Generator]]&lt;br /&gt;
The bottom row consists of checkboxes to enable/disable the Custom/Standard First and Last Questions, such as the Gender Question and the Time/Darkness Question, which boosts recruit rates for certain species if you answer yes, and adds points to certain pools containing sky-exclusive Pokémon. &lt;br /&gt;
&lt;br /&gt;
=== ExplorerScript Pre/Post Quiz Questions ===&lt;br /&gt;
Room for an additional question before and after the quiz has also been made, which along with the Gender and Time/Darkness questions can be modified in the below ExplorerScript inputs:&lt;br /&gt;
[[File:Question Loop Generator ExplorerScript Inputs.png|alt=Location of the ExplorerScript Inputs|center|thumb|600x600px|Location of the ExplorerScript Inputs]]&lt;br /&gt;
These are the primary use-cases for the Fuwarante Blacklist described above. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag will be explained in further detail below. &lt;br /&gt;
&lt;br /&gt;
== Question Generator: Multiple Choice Monotony ==&lt;br /&gt;
Note: The &amp;quot;Yes.&amp;quot; and &amp;quot;No.&amp;quot; options have the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag after them. This does functionally nothing, and exists primarily to aid in automatic string translation, as the localization teams translated the same English responses for questions differently based on context. This will be elaborated on further in &amp;quot;Full Script Translation&amp;quot;. If there are no plans to use the sheet&#039;s translation features, it is safe to remove any variants of &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt;. (instructions to do so in SkyTemple directly are present below).&lt;br /&gt;
&lt;br /&gt;
=== About Question Templates ===&lt;br /&gt;
This tab of the sheet is dedicated to the design and storage of the individual random questions in the quiz. The way this sheet works revolves   around &amp;quot;Question Templates&amp;quot; that store the question text, question number, answer text, pool ID, and points for that pool ID. Below is an example of a Question Template, and how it translates to question data: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Do you prefer to be busy or have\na lot of free time?^35 |&amp;lt;code&amp;gt;Being busy.^11^4^8^2|Free time!^9^4|In between.^12^4&amp;lt;/code&amp;gt;&lt;br /&gt;
!Question Text&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; |Question #&lt;br /&gt;
|-&lt;br /&gt;
|Do you prefer to be busy or to have a lot of free time?&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; |35&lt;br /&gt;
|-&lt;br /&gt;
!Answer Text&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
|-&lt;br /&gt;
|Being busy.&lt;br /&gt;
|11&lt;br /&gt;
|4&lt;br /&gt;
|8&lt;br /&gt;
|2&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Free time!&lt;br /&gt;
|9&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|In between.&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Question Template Input ===&lt;br /&gt;
&lt;br /&gt;
On the far left, is an input for an existing Question Template.[[File:Question Template Input.png|alt=Question Template Input Location|center|thumb|600x600px|Question Template Input Location]]The &amp;quot;Use Question Template Input&amp;quot; checkbox tells the sheet whether or not to use the Question Template provided. When writing questions entirely from scratch, disable this checkbox. When modifying existing questions, enable the checkbox, and paste in the Question Template. This will subsequently auto-fill the Question Data Inputs with the data within the template. If the auto-filled data itself needs to be altered, you will need to copy and &#039;&#039;&#039;paste values&#039;&#039;&#039; the data, then disable the checkbox.&lt;br /&gt;
&lt;br /&gt;
=== Question Data Inputs ===&lt;br /&gt;
[[File:Question Data Inputs.png|alt=Location of the Question Data Inputs Area|center|thumb|750x750px|Location of the Question Data Inputs Area]]&lt;br /&gt;
The Question Data Inputs Area should seem relatively intuitive. The question text is at the top, the answers are beneath, and up to 4 Personality Pools can gain points from each answer choice. The White Space checkbox is identical to the previous tab, and the question index is just the internal &amp;quot;ID&amp;quot; of the question. It should be incremented for each new question created, and will translate to the ID of the switch case in the final code. Note that the drop-down for the Pool Names is sourced from the Pool Names column of the Starter Selection Generator, and any changes to that list after creating the questions may lead to problems. With the current setup of the sheet, each question is limited to a maximum of 26 answer choices, but this limit is arbitrary, and can be circumvented by editing the question template manually, and pasting it in the Template List. In the event that a single question requires more than 26 choices, please ping happylappy in a support thread.&lt;br /&gt;
&lt;br /&gt;
=== Question Template Output &amp;amp; Template List ===&lt;br /&gt;
Finally, once the question is complete, a template for the question will be created in &amp;quot;Question Template Output&amp;quot;. &lt;br /&gt;
[[File:Question Template Output &amp;amp; Template List.png|alt=Location of Question Template Output &amp;amp; Template List|center|thumb|750x750px|Location of Question Template Output &amp;amp; Template List]]&lt;br /&gt;
Before moving onto the next question, copy the template output, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; in the corresponding slot on the &amp;quot;Question Template List&amp;quot;.   By default, templates for each vanilla question are already in the Question Template List, ready to be edited or modified by copying and pasting into the Question Template Input. The Script Output Column is again for debug purposes, and is read automatically by another tab of the sheet. &lt;br /&gt;
&lt;br /&gt;
== Personality Pool Selection Generator: Gerrymandering and Tie-Breaking ==&lt;br /&gt;
Once the quiz itself is completed, the points need to be tallied, so that a winning pool can be selected. The exact way that this happens in vanilla is a tad complicated, especially when it comes to breaking ties. Here are the steps that occur in vanilla:&lt;br /&gt;
&lt;br /&gt;
# Points are added to pools containing Sky-Exclusive Starters if the player has played Time/Darkness.&lt;br /&gt;
#* If Male is chosen for the gender question, +4 Points are added to Relaxed, Hasty, and Sassy. (Phanpy, Shinx, and Riolu)&lt;br /&gt;
#* If Female is chosen for the gender question, +4 Points are added to Relaxed and Jolly. (Vulpix and Eevee)&lt;br /&gt;
# The highest pool is found, and chosen.&lt;br /&gt;
#* If there is a tie, it is broken by adding a random number (0-19) to each, and rescoring the points.&lt;br /&gt;
#* If there is STILL a tie, it chooses the smallest pool it can.&lt;br /&gt;
This tab of the sheet serves to implement these two features in a customizable way.&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
About half of the upper panel is actually new this time. The &amp;quot;White Space&amp;quot; and &amp;quot;Number/# of Pools In Use&amp;quot; are unchanged, except they apply to this sheet.[[File:Pool Selection Generator Upper Panel.png|alt=Location of Pool Selection Generator Upper Panel|center|thumb|600x600px|Location of Pool Selection Generator Upper Panel]]The checkbox for &amp;quot;Do Pool Tinkering&amp;quot; enables/disables the Pool Tinkering portion of this sheet, while the &amp;quot;Maximum Tiebreaker Points&amp;quot; input determines the random value added to tied pools to decide a victor. Larger numbers result in less chance of a secondary tie, but could result in overflow for certain pools. &lt;br /&gt;
&lt;br /&gt;
=== Pool Tinkering ===&lt;br /&gt;
As stated above, the vanilla quiz favors pools with Sky-Exclusive Starters for the specified gender if they&#039;ve played Time/Darkness. Through checking the &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; flags from the &amp;quot;Question Loop Generator&amp;quot;, we can mimic this effect.&lt;br /&gt;
[[File:Pool Tinkering.png|alt=Location of Pool Tinkering Portion.|center|thumb|600x600px|Location of Pool Tinkering Portion.]]&lt;br /&gt;
On the far left, are the IDs of the two flags that should be checked (without modification, this could be 0 for &amp;quot;Time/Darkness&amp;quot;, and 3/4 for &amp;quot;Male/Female&amp;quot;). Depending on if the 1st and 2nd flags are true (1), or false (0), the selected pools (as many as needed) will gain the specified number of points. In order to accommodate for the &amp;quot;Surprise Me!&amp;quot; gender option, 2 points are given for male, 2 for &amp;quot;not male&amp;quot;, 2 for &amp;quot;female&amp;quot;, and 2 for &amp;quot;not female&amp;quot;, in order to influence every pool containing a sky-exclusive starter. (A similar process is done for the Time/Darkness exclusive starters I&#039;ve added to my example quiz, if the player has NOT played time/darkness). Up to 10 slots are present for pool tinkering, though more could be added if there is a pressing need. &lt;br /&gt;
&lt;br /&gt;
== Aura Bow Generator: Fortune Telling and Color Theory ==&lt;br /&gt;
The Aura Bow Generator serves to emulate the cinematics of the vanilla aura bow portion of the quiz. In addition to simply detecting when and for how long the player is touching the Aura Bow, the actual bow color needs to be determined! For the vanilla quiz, the process is as follows:&lt;br /&gt;
&lt;br /&gt;
* Use DS Favorite Color (75% Chance): If the DS Favorite Color is selected, the user&#039;s favorite color will match the color of the bow.&lt;br /&gt;
* Use DS Mac Address (25% Chance): If the Mac Address is selected, then &amp;lt;code&amp;gt;mac_address &amp;amp; 0xF&amp;lt;/code&amp;gt; determines the color of the bow.&lt;br /&gt;
&lt;br /&gt;
This functionality can be replicated by QuizMenuTool, and the chances can even be altered!&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The Aura Bow Generator&#039;s Upper Panel is one of the largest of every tab, though many of these inputs are similar to prior tabs of the sheet. The top left input boxes are Special Process IDs for the 4 Special Processes needed to emulate the Aura Bow portion of the quiz, and the &amp;quot;White Space?&amp;quot; Checkbox is the same as always. The &amp;quot;Aura Bow Output&amp;quot; on the top right is the final script output for this tab, unnecessary outside of debug purposes.&lt;br /&gt;
[[File:Aura Bow Generator Upper Panel.png|alt=Location of the Aura Bow Generator Upper Panel.|center|thumb|600x600px|Location of the Aura Bow Generator Upper Panel.]]&lt;br /&gt;
Beginning with the bottom left of the panel, there are 4 map LEVEL names. &amp;quot;Bottom 1&amp;quot; is for the background while touching the Aura bow, Bottom Screen 2 is for the presentation of the colored Aura Bow, and the Bottom/Top Screen 3 is the backgrounds that the script should end with, when transitioning to the starter reveal. Finally, on the bottom right of the upper panel is the &amp;quot;Touch Screen Aura Bow Object Name&amp;quot;. Per the name, this is the name or ID of the object that should be present on the bottom screen, that will animate when the player touches it. The last three digits of the object seem to vary depending on unknown factors, so be sure to verify that yours matches by inspecting this object in M00A01A with SkyTemple.&lt;br /&gt;
[[File:Aura Bow Touch Object Name.png|alt=Where to check the Aura Bow Touch Object Name in SkyTemple|center|thumb|600x600px|Where to check the Aura Bow Touch Object Name in SkyTemple]]&lt;br /&gt;
&lt;br /&gt;
=== Aura Reading Panel ===&lt;br /&gt;
Beginning on the lower left of the tab, the Aura Reading Panel consists of 3 ExplorerScript code segments, which play before the blank aura bow fades in, after the aura bow fades in, and if the player lets go of the touch screen too quickly. &lt;br /&gt;
[[File:Aura Reading Panel.png|alt=Location of the Aura Reading Panel.|center|thumb|600x600px|Location of the Aura Reading Panel.]]&lt;br /&gt;
At the very bottom of this panel, there are inputs for dialogue in all 5 languages that will play during the aura reading process. Unlike most text in the quiz, &#039;&#039;&#039;this string must be translated here&#039;&#039;&#039;, as every localization takes a different amount of time to print the dialogue. The length of time the touch screen should have been held for is calculated for each [W:X] text tag, and compared against the actual length of time the touch screen was held. Customizing this text string is possible in the box, so these calculations must be done by the sheet. If your hack is for a US ROM, or will be english-only, disable the &amp;quot;Use EU Strings&amp;quot; Checkbox. &amp;quot;Expected Text Speed (# of chars per frame)&amp;quot; should be the speed your dialogue prints at in SkyTemple. This will ensure that the actual length of the text is properly accounted for in the calculation. &amp;quot;Touch Screen Frame Tolerance&amp;quot; is a grace period for letting go of the bow. This is necessary for certain emulators, damaged touch-screens, failure to account for the dialogue box opening/closing, etc. Feel free to adjust as desired, such that the quiz is possible to complete. &lt;br /&gt;
&lt;br /&gt;
=== Bow Selection Panel ===&lt;br /&gt;
Finally, the Bow Selection Panel handles the actual selection and presentation of the Aura Bow. [[File:Bow Selection Panel.png|alt=Bow Selection Panel Location.|center|thumb|600x600px|Bow Selection Panel Location.]]The upper left of the panel is for assigning weights to the three methods for selecting a bow color: DS Favorite Color, DS MAC Address, or a custom block of code. Note that these weights &#039;&#039;&#039;must be integers&#039;&#039;&#039; or the sheet will generate invalid code. For convenience, the percent chance of each option is computed by the sheet, based on the weights and total weight. The ExplorerScript input for the custom bow selection is on the right of this panel, and on the bottom left is the flavor-text for each bow color. &lt;br /&gt;
&lt;br /&gt;
== Variable Cleanup &amp;amp; End-Cap Generator: Nearly Finished! ==&lt;br /&gt;
This tab of the sheet aims to clean up the bevy of variables used by the quiz, and prep the game for actually running. Since QMT uses a majority of the script variables the game has to function, this tab resets them all back to what they should be at the beginning of a save file, now that the quiz no longer needs them. If some part of the quiz needs to be remembered, such as the color of the aura bow, whether the player has played Time/Darkness, or the winning Quiz personality pool, that needs to be preserved in this tab. In addition, this is the tab where the starters are officially initialized, which allows them to be nicknamed. Finally, the special process for actually assigning the starters, &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;, will wipe &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; clean, replacing it with what the real quiz determined your aura bow color to be. Because the real quiz never runs during QMT, this will always be zero. As a result, the aura bow color needs to be saved somewhere besides &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;, then returned afterwards.  &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
This tab ALSO has an upper panel! The number of pools to clear should ideally match the number of pools in use. &amp;quot;White Space&amp;quot; does the same thing it has up to this point, and the far right output cell is read elsewhere, and only exists for debug purposes.&lt;br /&gt;
[[File:Variable Cleanup &amp;amp; End-Cap Upper Panel.png|alt=Variable Cleanup &amp;amp; End-Cap Upper Panel Location.|center|thumb|600x600px|Variable Cleanup &amp;amp; End-Cap Upper Panel Location.]]&lt;br /&gt;
In the center of the panel are three new checkboxes. &amp;quot;Name Partner?&amp;quot; and &amp;quot;Name Hero?&amp;quot; should be somewhat intuitive, they enable/disable the ExplorerScript inputs for naming the hero and partner respectively, which will be elaborated on below. Finally, &amp;quot;Set $VERSION to 1?&amp;quot; sets the &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt; script variable to 1 at the very end of the script. Without ASM modification, saving the game with this variable as anything besides 1 results in a &amp;quot;corrupt&amp;quot; save file. In the absence of a strong reason otherwise, this box should remain checked.&lt;br /&gt;
&lt;br /&gt;
=== Hero Name, Partner Name, &amp;amp; Closing Remarks ===&lt;br /&gt;
These ExplorerScript Inputs are for... the code used for nicknaming the partner and hero respectively, as well as the last few lines of text before the quiz truly ends.[[File:Hero-Partner-Closing Remarks Input.png|alt=Location of ExplorerScript Code Inputs.|center|thumb|600x600px|Location of ExplorerScript Code Inputs.]]Note that &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; will not function without the dedicated SkyPatch, in the QMT github repo (linked at the top). Additionally, the menus themselves will close any active text-box the instant they are done printing, which is why the hero monologue ends with a &amp;lt;code&amp;gt;[K]&amp;lt;/code&amp;gt;. A &amp;lt;code&amp;gt;message_Close();&amp;lt;/code&amp;gt; would also suffice. Finally, the closing remarks should actually fade out the BGM and screen as desired. Feel free to optimize the fades, there is probably a more efficient way to achieve the right effect. &lt;br /&gt;
&lt;br /&gt;
=== Script Variable Preservation Panel ===&lt;br /&gt;
The Script Variable Preservation Panel serves to determine what information should be preserved after the quiz. By default, only the variables storing the personality pool counts are actually being erased, though certain configurations may require some variables to be kept, and others to be wiped in addition.[[File:Script Variable Preservation Panel.png|alt=Script Variable Preservation Panel Location.|center|thumb|600x600px|Script Variable Preservation Panel Location.]]Beginning at the top, is the &amp;quot;Variable Erasure Blacklist&amp;quot;. Based on other interactions with the sheet, the &amp;quot;Automatic Variables&amp;quot; will fill up automatically, but any script variables specified in this row will be kept as they are at the end of the quiz, and not erased. An example of a manual blacklist example might be &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt;, which doesn&#039;t need a dedicated line of code for erasure if it will ALSO be set to 1 at the end. The next row, &amp;quot;Additional Variables to Erase&amp;quot;, will be added to the list of erased variables if they are not already present. The &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; variables should be erased in addition, as the Driftblim Gondola will interpret these variables as valid station passes to enter. Below that, is the &amp;quot;Variable Transfer Table&amp;quot;. Prior to erasing anything, variables in the &amp;quot;Old Variable Name&amp;quot; column will be moved to the &amp;quot;New Variable Name&amp;quot;. The old variable will be slated for erasure, while the new one will be spared. For convenience, the &amp;quot;Variable Meaning&amp;quot; Tab on the left will autofill one or both of these columns depending on the option you select:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable Meaning&lt;br /&gt;
!Old Variable Name&lt;br /&gt;
!New Variable Name&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Preserve&lt;br /&gt;
|&amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;$LOCAL0&amp;lt;/code&amp;gt;&lt;br /&gt;
|If this Variable Meaning is present, &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; will be restored in post. It&#039;s only purpose is to prevent the quiz from wiping the variable on running  &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Winning Pool&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB7&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the winning Pool ID from the quiz itself. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Winning Points&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB6&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the number of points the winning Pool ID had after the tie-breaking process. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Fuwarante Bit X&lt;br /&gt;
|&amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL[X]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|These correspond directly to the FUWARANTE blacklist, and in this example is used to pass forward the Time/Darkness question to &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt;, the variable responsible for the recruitment rate buff for playing Time/Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|Direct Script Variable&lt;br /&gt;
|Any&lt;br /&gt;
|Any&lt;br /&gt;
|This is an invitation to input whatever script variables are needed, and will adjust the coloration of the row to match. &lt;br /&gt;
|}&lt;br /&gt;
A full list of script variables with their appropriate descriptions will be provided in &amp;quot;Other Resources&amp;quot;, and might prove useful for more advanced tinkering in this panel.&lt;br /&gt;
&lt;br /&gt;
== Full Script Translation: EU ROM Superiority ==&lt;br /&gt;
This tab of the sheet is dedicated to translating all lines of dialogue into Spanish, French, German, and Italian, for an EU ROM. If the hack this is for doesn&#039;t need translation, this tab can be completely skipped. One of the most essential features of a translated quiz is the ability to pre-translate the vanilla text strings from the original quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
By default, the left-most checkbox of the upper panel will &amp;quot;activate&amp;quot; this sheet for translation. This may cause lag, and will cause more lag every time a change is made on one of the prior sheets, while enabled. Only begin translating once finished with the quiz, at least in the short term. [[File:Full Script Translation Upper Panel.png|alt=Location of the Full Script Translation Upper Panel.|center|thumb|600x600px|Location of the Full Script Translation Upper Panel.]]The &amp;quot;Auto-Translate Vanilla Strings&amp;quot; check-box will automatically search for and translate exact matches to vanilla Quiz strings. Additional translations can be added in &amp;quot;Vanilla Translation Strings&amp;quot; as needed. If no exact match is found, the translation will be left blank for manual translation. &amp;quot;Auto-Translate Pokemon&amp;quot; similarly will attempt to translate exact matches for dialogue specific to the final species. For example, the English string &amp;lt;code&amp;gt;[R][CN]Will be a [CS:K]Magnemite[CR]![W:60]&amp;lt;/code&amp;gt; will be automatically translated to &amp;lt;code&amp;gt;[R][CN]wird ein [CS:K]Magnetilo[CR]![W:60&amp;lt;/code&amp;gt;] (German), based on Magnemite&#039;s German name and the phrase &amp;quot;wird ein ___!&amp;quot;. This will only occur if the checkbox is enabled, and only for Pokemon names present in &amp;quot;Vanilla Translation Strings&amp;quot;. Finally, the &amp;quot;Trim [S:0] Before Translation&amp;quot; checkbox will remove all &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tags from the dialogue before searching for a match, ensuring that the various &amp;quot;Yes.&amp;quot;, &amp;quot;No.&amp;quot;. &amp;quot;Of Course!&amp;quot;, and &amp;quot;Open it!&amp;quot; are not translated automatically, per their vanilla quiz questions. Regardless of whether this checkbox is enabled, the final script output will not contain the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; tags. &lt;br /&gt;
&lt;br /&gt;
=== String Translation Panel ===&lt;br /&gt;
The string translation panel, on the right of this tab, is where text string translation will actually occur. &lt;br /&gt;
[[File:String Translation Panel.png|alt=Location of String Translation Panel.|center|thumb|600x600px|Location of String Translation Panel.]]&lt;br /&gt;
On the left, are English lines of text extracted from other tabs of the sheet. each column corresponds to an EU language (Spanish, French, German, Italian). At the top of each column, is a count of how many untranslated lines of dialogue are left for that language, as well as a checkbox to enable/disable each language. In the above screenshot, French dialogue will not be added to the final script, because the checkbox is enabled. In the rows themselves, are pink cells (vanilla translated text), green cells (empty), and blue cells (manual translation). Simply review each pink cell, and manually translate the English for that row for green cells so they turn blue. If a pink cell needs editing, simply copy the cell, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; it on top of itself, and it will turn blue, which is safe to edit. &lt;br /&gt;
&lt;br /&gt;
== Vanilla Translation Strings: Future-Proofing The Sheet ==&lt;br /&gt;
This tab of the sheet is used to store vanilla strings from the base game, and official Pokemon translations. These can be amended and edited as desired, to include custom strings for auto-translation, or new Pokemon name translations. &lt;br /&gt;
[[File:Vanilla Translation Strings Dialogue.png|alt=Vanilla Translation Strings Dialogue|center|thumb|600x600px|Vanilla Translation Strings Dialogue]]&lt;br /&gt;
This area above contains all relevant vanilla strings, which can be added to or amended as desired, in the green cells in these 5 columns. If a need arises to make changes to the quiz after translation, it is best to move all manually translated lines to this tab, before making any changes. Additionally, the lookup table for Pokemon species names can be modified:&lt;br /&gt;
[[File:Vanilla Translation Strings Species.png|alt=Vanilla Translation Strings Species|center|thumb|452x452px|Vanilla Translation Strings Species]]&lt;br /&gt;
On the far right of the tab, are a list of every Pokemon through Scarlet &amp;amp; Violet, and the French/German translations for each species (Spanish and Italian use English species names). These can also be amended or added to as desired. &lt;br /&gt;
&lt;br /&gt;
== Full Script Compression: It&#039;s Finally Over? ==&lt;br /&gt;
Last but not least, is the Full Script Compression Tab. This tab compiles all of the information from the other tabs, and compresses it into a copy/pastable batch of scripts for SkyTemple. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
There are a handful of settings in this upper panel. &amp;quot;White Space&amp;quot; is as it has been for every prior tab, but that&#039;s the only returning input.&lt;br /&gt;
[[File:Full Script Compression Upper Panel.png|alt=Full Script Compression Upper Panel Location.|center|thumb|600x600px|Full Script Compression Upper Panel Location.]]&lt;br /&gt;
&amp;quot;Use Full MegaScript&amp;quot; will compile the entire quiz into one script. This is only possible for English-only quizzes, and is only advised for quizzes with few questions and fewer starter choices. &amp;quot;Use Translated Scripts?&amp;quot; will use the outputs from Full Script Translation, which will be empty if the sheet is not active. Disable this checkbox for English-only quizzes. &amp;quot;Generate Unionall CORO&amp;quot; will create the unionall code needed to run the quiz, for a copy and paste replacement for the existing &amp;lt;code&amp;gt;CORO EVENT_M00A_01&amp;lt;/code&amp;gt; coroutine. The &amp;quot;Script File LEVEL Name&amp;quot; should reflect the location of the map LEVEL &amp;quot;folder&amp;quot; that the script file will actually be under. The &amp;quot;Script File SCRIPT Name&amp;quot; should become the name of the acting script itself, and should be 8 alphanumerical characters or fewer (not case-sensitive). Finally, the &amp;quot;Sector Param.&amp;quot; is the sector parameter of the &amp;lt;code&amp;gt;supervision_ExecuteActingSub();&amp;lt;/code&amp;gt; [[List of Opcodes#0x12d - supervision ExecuteActingSub|Opcode]]. Generally this should be zero, though none of these scripts internally utilize the sector parameter, should it be of interest for customization.&lt;br /&gt;
&lt;br /&gt;
=== SkyTemple Script Outputs ===&lt;br /&gt;
This portion of the sheet consists of outputs to SkyTemple. Unlike most output cells thus far, these are actually intended for use!&lt;br /&gt;
[[File:SkyTemple Script Outputs.png|alt=SkyTemple Script Outputs Location.|center|thumb|600x600px|SkyTemple Script Outputs Location.]]&lt;br /&gt;
The intended places for each of these outputs will be described in &amp;quot;Importing The Scripts To SkyTemple&amp;quot;, but when copying a script, be sure to copy all cells in the box with text.&lt;br /&gt;
&lt;br /&gt;
== Importing The Scripts To SkyTemple ==&lt;br /&gt;
Now for the fun part! Actually applying everything to SkyTemple, and seeing the quiz actually play out. This section will briefly cover installation of SkyPatches and Special Processes, though more generalized guides for these things are or will be available. First though, prior installation of StarterMenuTool will change some of these steps. &lt;br /&gt;
=== Converting From StarterMenuTool ===&lt;br /&gt;
There are very few differences between starting fresh and converting from StarterMenuTool. The differences are as follows:&lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu is Applied: Since the SkyPatch is already applied, it does not need to be applied again. It can be reapplied without issue, though it already exists in the ROM.&lt;br /&gt;
* Existing Special Processes: Older versions of &amp;lt;code&amp;gt;starter_setter&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; were added via StarterMenuTool. These may function as intended for QMT, especially &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; which has seen zero change between the two tools, but it is recommended to update them by replacing them, or to use new slots for the QMT SPs.&lt;br /&gt;
* Existing Acting Script: StarterMenuTool takes the same approach as QMT in creating a new acting scene for the quiz itself. This existing script can be repurposed into one of the QMT acting scripts, though with SkyTemple alone it cannot be renamed, meaning the script name it will be used for in the Full Script Compression Upper Panel must be renamed.&lt;br /&gt;
* Edit to Vanilla Quiz: StarterMenuTool modifies the original quiz script m00a01a.ssb. While these changes have no net impact on QMT, it would impact the debug mode, as the code to create a team from the default starters has been removed. If this functionality needs to be restored, simply add the following line after &amp;quot;if ( debug ) {&amp;quot; in m00a01a.ssb:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;switch ( ProcessSpecial(PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ, 0, 0) ) { }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Existing Unionall Edit: StarterMenuTool also requires the modification of &amp;lt;code&amp;gt;coro EVENT_M00A_01&amp;lt;/code&amp;gt;. QuizMenuTool will require this coroutine to be edited to run m00a01a in debug mode, and the QMT scripts otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Installing the SkyPatches ===&lt;br /&gt;
In order for QuizMenuTool to function, the following SkyPatches must be applied. &lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu: Gives &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; the ability to actually nickname the partner. Requires ExtraSpace as a pre-requisite.&lt;br /&gt;
* ExtractSPCode: Enables the use of custom Special Processes used heavily by QMT.&lt;br /&gt;
&lt;br /&gt;
Installing FixPartnerNameMenu is relatively simple. After downloading the file from the github repo, navigate to &amp;lt;code&amp;gt;Patches -&amp;gt; ASM&amp;lt;/code&amp;gt; in SkyTemple. Then, click the &amp;quot;Open Patch Directory&amp;quot; button.&lt;br /&gt;
[[File:InstallFixPartnerNamePatch.png|alt=The &amp;quot;Open Patch Folder&amp;quot; button is on the bottom left.|center|thumb|600x600px|The &amp;quot;Open Patch Directory&amp;quot; button is on the bottom left.]]&lt;br /&gt;
Finally, drag &amp;lt;code&amp;gt;FixPartnerName.skypatch&amp;lt;/code&amp;gt; into the folder, and close it. The patch will now be in the &amp;quot;Others&amp;quot; Tab, ready for installation. If ExtraSpace is not installed, SkyTemple will prompt the installation of both patches sequentially. This is good, do that. &lt;br /&gt;
&lt;br /&gt;
Next, is the installation of ExtractSPCode. Once again, navigate to &amp;lt;code&amp;gt;Patches-&amp;gt;ASM&amp;lt;/code&amp;gt;, and select the &amp;quot;Utility&amp;quot; tab. Install ExtractSPCode, and any necessary pre-requisites (there shouldn&#039;t be any, except maybe ExtraSpace). &lt;br /&gt;
[[File:ExtractSPCode.png|alt=ExtractSPCode Location|center|thumb|600x600px|ExtractSPCode Location]]&lt;br /&gt;
&lt;br /&gt;
=== Applying The Special Processes ===&lt;br /&gt;
Now for installing the Special Processes themselves. If the hack already has custom Special Processes it wishes to keep, or the IDs of the special processes in the sheet have been changed, apply the SPs as desired, but ensure the sheet has accurate IDs (NOT Effects), so it can call them. For simplicity, these are the default locations of each SP:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Spreadsheet Tab&lt;br /&gt;
!Spreadsheet Input Name&lt;br /&gt;
!SP File Name&lt;br /&gt;
!ID&lt;br /&gt;
!Effect&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|starter_setter SP ID&lt;br /&gt;
|starter_setter.asm&lt;br /&gt;
|64&lt;br /&gt;
|61&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|set_frame_color SP ID&lt;br /&gt;
|set_frame_color.asm&lt;br /&gt;
|65&lt;br /&gt;
|62&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|CheckTSPress SP ID&lt;br /&gt;
|CheckTSPress.asm&lt;br /&gt;
|66&lt;br /&gt;
|63&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|ReturnTSPFrames SP ID&lt;br /&gt;
|ReturnTSPFrames.asm&lt;br /&gt;
|67&lt;br /&gt;
|64&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|MoveText2TopScreen SP ID&lt;br /&gt;
|MoveText2TopScreen.asm&lt;br /&gt;
|68&lt;br /&gt;
|65&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|Set_Demo_Character SP ID&lt;br /&gt;
|Set_Demo_Character.asm&lt;br /&gt;
|69&lt;br /&gt;
|66&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|get_favorite_config_color SP ID&lt;br /&gt;
|get_favorite_config_color.asm&lt;br /&gt;
|70&lt;br /&gt;
|67&lt;br /&gt;
|}&lt;br /&gt;
Ensure that you download the correct set of special processes for your version of the ROM (US or EU). Next, navigate to                       &amp;lt;code&amp;gt;Patches-&amp;gt;ASM-&amp;gt;Special Processes&amp;lt;/code&amp;gt;, and click the &amp;quot;Add Special Process&amp;quot; button until enough IDs are in the list for each new Special Process.&lt;br /&gt;
[[File:How2AddSpecialProcesses1.png|alt=The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.|center|thumb|600x600px|The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.]]&lt;br /&gt;
The list should look like it does in the image when done. With that completed, navigate to the &amp;quot;Effects Code&amp;quot; tab. Click the &amp;quot;+&amp;quot; Button to create a new effect. Then, click the &amp;quot;Import Code&amp;quot; button at the bottom to select the special process to be imported to this effect.&lt;br /&gt;
[[File:How2AddSpecialProcesses2.png|center|thumb|600x600px|Clicking the &amp;quot;+&amp;quot; Button adds a new effect. Each new effect must have the correct .asm file imported into it, as specified in the table.]]&lt;br /&gt;
In the above image, Special Process &amp;lt;code&amp;gt;starter_setter.asm&amp;lt;/code&amp;gt; is being imported to Effect 61, which corresponds to ID 64. Similarly, &amp;lt;code&amp;gt;set_frame_color.asm&amp;lt;/code&amp;gt; should be imported to Effect 62 (ID 65), &amp;lt;code&amp;gt;CheckTSPress.asm&amp;lt;/code&amp;gt; should be imported to Effect 63, etc.&lt;br /&gt;
&lt;br /&gt;
Once all the necessary Special Processes have been imported to their effects, the last thing that needs to be done is assigning the effects to their IDs. Navigating back to the &amp;quot;Special Process Effects&amp;quot; tab, assign each effect to the correct ID, as shown below:&lt;br /&gt;
[[File:How2AddSpecialProcesses3.png|alt=Simply clicking on the effect cell will allow it to be edited.|center|thumb|600x600px|Simply clicking on the effect cell will allow it to be edited.]]&lt;br /&gt;
With that, SP importing is complete, and all that remains is to save the ROM.&lt;br /&gt;
&lt;br /&gt;
=== Creating QMT Script Files ===&lt;br /&gt;
Next, is the process of actually creating the QMT script files. For simplicity, this guide will demonstrate the process on LEVEL_S02P01A, the same location in the script files as the original quiz. If you plan on putting the QMT script files elsewhere, ensure this is properly accounted for in Full Script Compression. Navigate to Script Scenes-&amp;gt;S02P01A. If you are using a MegaScript, create ONE new acting scene. Otherwise, create four of them, each with the name in FullScriptCompression.&lt;br /&gt;
[[File:ImportingQMTScriptFiles1.png|alt=Be sure you click &amp;quot;Create Acting Scene&amp;quot;! It is important that these scripts are acting scenes.|center|thumb|600x600px|Be sure you click &amp;quot;Create Acting Scene&amp;quot;! It is important that these scripts are acting scenes.]]&lt;br /&gt;
The newly created scenes should appear in the Acting (ssa) folder. Navigate to the first one created, and double-click on &amp;quot;[script-name].ssb&amp;quot;.&lt;br /&gt;
[[File:ImportingQMTScriptFiles2.png|alt=In this case, &amp;quot;qmt01.ssb&amp;quot; on the right will open the script file&#039;s &amp;quot;ssb&amp;quot; code.|center|thumb|600x600px|In this case, &amp;quot;qmt01.ssb&amp;quot; on the right will open the script file&#039;s &amp;quot;ssb&amp;quot; code.]]&lt;br /&gt;
&lt;br /&gt;
From there, simply paste from the respective part of the sheet, and attempt to save the script.&lt;br /&gt;
[[File:ImportingQMTScriptFiles3.png|center|thumb|600x600px|You can also navigate between script files with the search bar on the left!]]&lt;br /&gt;
&lt;br /&gt;
Repeat the process of pasting in the remaining scripts. Finally, the script that contains the aura bow segment of the quiz (script #2 or the megascript) needs additional work done to the .ssa file. Navigate to S02P01A-&amp;gt;M00A01A, and click the Export Button (square with an up arrow in it).&lt;br /&gt;
[[File:Export Quiz .ssa.png|alt=Visual for exporting the .ssa for M00A01A for QuizMenuTool|center|thumb|600x600px|The Export Button is up top!]]&lt;br /&gt;
Then just import this file into the script containing the Aura Bow segment, as shown below:&lt;br /&gt;
[[File:Aura Bow SSA import.png|center|thumb|600x600px|The Export Button is right next to the Import button!]]&lt;br /&gt;
After that, save the ROM. The quiz is nearly ready, all that&#039;s left is setting up unionall...&lt;br /&gt;
&lt;br /&gt;
=== Editing Unionall ===&lt;br /&gt;
Unionall is a big file, but there&#039;s only a very specific part that needs to be edited. Open Unionall by using the search bar in the Script Engine Debugger, then do CTRL + F (Command + F for Mac, you should know your equivalent if you use Linux) to find coroutine inside unionall.&lt;br /&gt;
[[File:Unionall coro EVENT M00A 01.png|center|thumb|600x600px|Be sure you search for EXACTLY &amp;quot;coro EVENT_M00A_01&amp;quot;. This should be the only match!]]&lt;br /&gt;
Once you find it, select the entire coroutine, and replace it with the unionall final output. the result should look something like this:&lt;br /&gt;
[[File:QMT coro EVENT M00A 01.png|center|thumb|600x600px|Modified Unionall Coroutine, should look roughly like this after pasting.]]&lt;br /&gt;
With that, save unionall, and the quiz is ready for testing! &lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
&lt;br /&gt;
=== QMT Script Variable Map ===&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=File:QMT_coro_EVENT_M00A_01.png&amp;diff=1201</id>
		<title>File:QMT coro EVENT M00A 01.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=File:QMT_coro_EVENT_M00A_01.png&amp;diff=1201"/>
		<updated>2025-08-10T02:07:25Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Modified Unionall Coroutine&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=File:Unionall_coro_EVENT_M00A_01.png&amp;diff=1200</id>
		<title>File:Unionall coro EVENT M00A 01.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=File:Unionall_coro_EVENT_M00A_01.png&amp;diff=1200"/>
		<updated>2025-08-10T02:05:25Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: Happylappy uploaded a new version of File:Unionall coro EVENT M00A 01.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shows Unionall coro EVENT_M00A_01.&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=File:Unionall_coro_EVENT_M00A_01.png&amp;diff=1199</id>
		<title>File:Unionall coro EVENT M00A 01.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=File:Unionall_coro_EVENT_M00A_01.png&amp;diff=1199"/>
		<updated>2025-08-10T02:03:41Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shows Unionall coro EVENT_M00A_01.&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=File:Aura_Bow_SSA_import.png&amp;diff=1198</id>
		<title>File:Aura Bow SSA import.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=File:Aura_Bow_SSA_import.png&amp;diff=1198"/>
		<updated>2025-08-10T01:49:09Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Visual for importing the .ssa of the quiz into a custom script.&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=File:Export_Quiz_.ssa.png&amp;diff=1197</id>
		<title>File:Export Quiz .ssa.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=File:Export_Quiz_.ssa.png&amp;diff=1197"/>
		<updated>2025-08-10T01:45:22Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Visual for exporting the .ssa for M00A01A for QuizMenuTool&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1196</id>
		<title>QuizMenuTool Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1196"/>
		<updated>2025-08-09T22:40:08Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* Creating QMT Script Files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;{{SkyTempleIcon|icon=skytemple-dialog-error-symbolic}} This article is unfinished. You can help &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:{{PAGENAME}}|veaction=edit}} expanding it]&amp;lt;/span&amp;gt;.&#039;&#039;&amp;lt;hr&amp;gt;This guide explains how to use QuizMenuTool to create a custom Personality Quiz. The bulk of this guide will explain the use of the google sheets portion of the tool. A rudimentary understanding of SkyTemple scripting is helpful for this task, but not strictly required. These topics will be covered at the end for the sake of completion, but only to the extent that they are needed for QuizMenuTool. &lt;br /&gt;
&lt;br /&gt;
== About QuizMenuTool ==&lt;br /&gt;
&lt;br /&gt;
=== What Is QuizMenuTool? ===&lt;br /&gt;
QuizMenuTool is a customizable ExplorerScript replica of the Explorers of Sky Personality Quiz and Starter Selection, with minimal hardcoded aspects. The original quiz was designed to consist mostly of &amp;lt;code&amp;gt;message_Menu()&amp;lt;/code&amp;gt; ASM, to make editing the personality quiz accessible without the need to learn ASM. &lt;br /&gt;
&lt;br /&gt;
=== What can QuizMenuTool do? ===&lt;br /&gt;
QuizMenuTool can modify the process of using the quiz to select a starter, expand/reduce the starter list, add/remove/modify questions from the quiz, and much more! In fact, the better question might be...&lt;br /&gt;
&lt;br /&gt;
=== What Limitations does QuizMenuTool have? ===&lt;br /&gt;
There are a few critical things QuizMenuTool was not designed to do, though many of these could be remedied in the future if enough demand exists. Here&#039;s a list of what QuizMenuTool fails to replicate from the vanilla quiz:&lt;br /&gt;
&lt;br /&gt;
* Hero/Partner Type Exclusion: In the vanilla quiz, the hero and partner are prevented from sharing a type, to encourage team balance. No   option for such a restriction has been implemented yet, though such a thing would be possible in the future, or be scripted manually for a specific hack. &lt;br /&gt;
* SwitchMenu Portraits: In the vanilla quiz, scrolling to a partner choice displays a portrait of that partner, which gradually changes in expression. This feature would require significant custom code to emulate, and is unlikely to be available for QuizMenuTool.&lt;br /&gt;
* Third Party Starter Tweaks: The original starter list is &#039;&#039;&#039;completely unused&#039;&#039;&#039; by QuizMenuTool. Changing it has no impact on the quiz. Players of a hack using QuizMenuTool will have difficulty adding their own starters to the game, though this could potentially be remedied with a special process checking the starter list against what it is expected to be, and assigning the desired starter if a mismatch is found?&lt;br /&gt;
* Incompatibility with Japanese ROMs: Currently, QuizMenuTool is designed to only work for NA and EU ROMs. while in theory a Japanese Quiz could be designed, the Special Processes are not Japanese-compatible. This could be remedied with little effort, but the tool is designed for EU/NA ROMs.&lt;br /&gt;
&lt;br /&gt;
== Who QuizMenuTool is for ==&lt;br /&gt;
If either of the below points do not apply to you, you do not need QuizMenuTool.&lt;br /&gt;
* You would like to expand (or shrink) the list of starter options in the game.&lt;br /&gt;
* You would like to keep the personality quiz in the game, or edit the quiz directly.&lt;br /&gt;
If you only want to change the size of the starter list, and do not want the personality quiz (as if the [[SkipQuiz]] patch is applied), you should instead use [https://github.com/Chesyon/StarterMenuTool StarterMenuTool], which is less powerful but requires much less work to set up.&lt;br /&gt;
&lt;br /&gt;
== Programs and Files ==&lt;br /&gt;
&lt;br /&gt;
=== Required Programs and Files ===&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1snwIq3-GHntcPTBwH-TJ5Ctk0a8l4pwXTZYwCs53dwo/edit?usp=sharing Explorers of Sky Personality Quiz Assembling Sheet]&lt;br /&gt;
* [https://github.com/HappyLappy1/EOS-QuizGenerationTool-ASM Necessary Special Processes and SkyPatches]&lt;br /&gt;
* [[SkyTemple]] &lt;br /&gt;
&lt;br /&gt;
== General Spreadsheet Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Making a Copy of the Sheet ===&lt;br /&gt;
The above link does NOT grant edit access. In order to use the sheet, a copy will need to be made as follows:&lt;br /&gt;
[[File:Copying a Spreadsheet.png|thumb|750x750px|Location of the &amp;quot;File&amp;quot; and &amp;quot;Make a Copy&amp;quot; buttons. |center]]&lt;br /&gt;
First click the &amp;quot;File&amp;quot; button on the top left. Next, &amp;quot;Make a Copy&amp;quot; of the sheet. Finally, name the copy as desired. &lt;br /&gt;
&lt;br /&gt;
=== Cell Color-Coding ===&lt;br /&gt;
Throughout the spreadsheet, most cells are color-coded. Here&#039;s a brief explanation of each color present in the sheet: &lt;br /&gt;
&lt;br /&gt;
* Green Cells are for user input. If a cell is green, it is intended to contain input data.&lt;br /&gt;
* Grey Cells contain formulas. They will update automatically, and should not be edited.&lt;br /&gt;
* Orange Cells are for user outputs. If a cell is orange, it is intended to be exported elsewhere, such as to a SkyTemple script.&lt;br /&gt;
* Cells without a color or of an unspecified color are typically safe to edit. Always check for a formula first though!&lt;br /&gt;
&lt;br /&gt;
=== Paste Values Only ===&lt;br /&gt;
This tab is the first which will require the use of &amp;quot;Paste Values&amp;quot;. When this guide specifies that a copy/paste must &amp;quot;Paste Values&amp;quot;, this means that the copied text is a formula, and the pasted text should not be a formula. &lt;br /&gt;
[[File:How To Paste Values.png|alt=Depiction of the &amp;quot;Values Only&amp;quot; button in the menu|center|thumb|600x600px|Depiction of the &amp;quot;Values Only&amp;quot; button in the menu]]&lt;br /&gt;
There are two ways to paste values, either by right-clicking the paste location and selecting &amp;quot;Paste Special&amp;quot; then &amp;quot;Values Only&amp;quot;, or by holding shift as you paste. &lt;br /&gt;
&lt;br /&gt;
== Quiz Preamble Generator: A Good First Impression! ==&lt;br /&gt;
The Quiz Preamble Generator Tab as a whole exists to create the very beginning of the quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
Most tabs in the sheet contain an upper panel of some kind, with various simple inputs and feedback on them:&lt;br /&gt;
[[File:Preamble Upper Panel.png|alt=Location of the Quiz Preamble Generator&#039;s Upper Panel.|center|thumb|750x750px|Location of the Quiz Preamble Generator&#039;s Upper Panel.]]&lt;br /&gt;
The &amp;quot;Bottom Screen&amp;quot; and &amp;quot;Top Screen&amp;quot; inputs are the map ID that should be used for that screen&#039;s background. Similarly, the Background Music Name/ID is a BGM name (or number) of the BGM that should play throughout the quiz. The &amp;quot;White Space?&amp;quot; checkbox will attempt to add indents to the output ExplorerScript lines, making the output script more human-readable.&lt;br /&gt;
&lt;br /&gt;
=== Preamble Text ===&lt;br /&gt;
This is the first of many direct inputs for ExplorerScript code. Due to the way spreadsheets store cell data, &amp;quot; &amp;quot; behave weirdly when present in the final script. Please use &#039; &#039; instead. This input is for the first set of dialogue before the questions actually begin. &lt;br /&gt;
[[File:Quiz Preamble Location.png|alt=Location of the Quiz Preamble Inputs|center|thumb|600x600px|Location of the Quiz Preamble Inputs]]&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
The orange output cell on this sheet is largely unimportant, but is present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Starter Selection Generator: Actually Adding the Starters... ==&lt;br /&gt;
This tab of the sheet is primarily for inputting data about the starters, or the personality pools they belong to. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
[[File:Starter Selection Upper Panel.png|alt=The Upper Panel for the &amp;quot;Starter Selection Generator&amp;quot; Tab|thumb|750x750px|Location of the &amp;quot;Upper Panel&amp;quot; for the &amp;quot;Starter Selection Generator&amp;quot; Tab|center]]This upper panel contains 4 inputs, 3 of which are for Special Processes pertaining to starter selection. If other Special Processes have already been added, these Special Process IDs will need to be changed to free slots. The &amp;quot;White Space?&amp;quot; checkbox is the same as before, except for this tab of the sheet. The 4 grey cells are useful statistics about the input starters: how many different pools are used by the starters, how many species are present, and how many options there are for the hero and partner. &lt;br /&gt;
&lt;br /&gt;
=== Personality Pool Input ===&lt;br /&gt;
Next, on the lower right is the nature &amp;quot;Pool&amp;quot; input. These contain the pool name, and the text that should be displayed if that pool is selected by the quiz. &lt;br /&gt;
[[File:Personality Pools Input.png|alt=Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names and descriptions go.|center|thumb|450x450px|Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names/descriptions go.]]&lt;br /&gt;
The &amp;quot;Pool Name&amp;quot; field is only used by the Question Generator Tab, and will not show up anywhere in the final script. Modify these as desired as soon as possible, as it will be difficult to do so after designing the quiz questions. &#039;&#039;&#039;For best results, ensure all pool names are unique!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Starter Species Data ===&lt;br /&gt;
The bottom left segment of the sheet is the &amp;quot;Starter Species Data&amp;quot; input. This is part of a wider table, but each segment will be discussed individually. &lt;br /&gt;
[[File:Starter Species Data Location.png|alt=Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.|center|thumb|750x750px|Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.]]&lt;br /&gt;
While some of these fields should be intuitive, A brief description of each column is as follows:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Species Name:&#039;&#039;&#039; The name of the species as you want it shown in the quiz. If the cell turns purple on entering a species name, this means the Pokémon could not be found in &#039;&#039;&#039;Vanilla Translation Strings&#039;&#039;&#039;. French and German Translations will need to be added by hand, or all strings involving the Pokémon will need to be translated manually.&lt;br /&gt;
* &#039;&#039;&#039;Species ID:&#039;&#039;&#039; The ID in SkyTemple of the Pokémon. &#039;&#039;&#039;[TODO: Explain how this is affected by ExpandPokeList]&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Gender:&#039;&#039;&#039; The gender of the Pokémon, used to set the frame color, and to add &amp;quot;♂&amp;quot; and &amp;quot;♀&amp;quot; to the hero/partner selection list. 0 is Male, 1 is Female, and 2 is Genderless.&lt;br /&gt;
* &#039;&#039;&#039;Pool ID:&#039;&#039;&#039; The number of the Pool the Pokémon should be categorized under. Each Pool that could be chosen by the Quiz should have at least one valid Pokémon, or Bulbasaur will be selected as a failsafe. &#039;&#039;&#039;If the species are not sorted by Pool ID, cells will turn red. The sheet will produce invalid labels if this table is not sorted by Pool ID!&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Start w/ Vowel:&#039;&#039;&#039; If the Pokémon should be referred to as &amp;quot;...an [Pokémon]&amp;quot;, check this box.&lt;br /&gt;
&lt;br /&gt;
=== Talk Group &amp;amp; Role Exclusion ===&lt;br /&gt;
Continuing along the table, the next two subsections are for &amp;quot;Talk Groups&amp;quot; and &amp;quot;Role Exclusion&amp;quot;. Both of these segments relate to either the hero, or the partner.&lt;br /&gt;
[[File:Talk Groups and Role Exclusion.png|alt=Location of Talk Group and Role Exclusion Inputs|center|thumb|300x300px|Location of Talk Group and Role Exclusion Inputs]]&lt;br /&gt;
In the vanilla game, the hero and partner have differing dialogue depending on their species-specific &amp;quot;Talk Group&amp;quot;. These columns are dedicated to assigning the talk group for the hero or partner if that row&#039;s species is chosen. While it handles pronouns for dialogue, especially in gendered languages, it also affects the way the partner&#039;s dialogue is written. It does the same for the hero&#039;s dialogue, but in the English localization it only affects 2 lines in the entire game (&amp;quot;Whoa&amp;quot; &amp;lt;-&amp;gt; &amp;quot;Wah&amp;quot;, &amp;quot;All right&amp;quot; &amp;lt;-&amp;gt; &amp;quot;OK&amp;quot;). This is how they are used in vanilla:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Explorers of Sky Talk Groups&lt;br /&gt;
!#&lt;br /&gt;
!Used By&lt;br /&gt;
!Notable Species&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Partner&lt;br /&gt;
|Male Squirtle/Totodile/Chimchar/Meowth/Munchlax&lt;br /&gt;
|More Masculine/&amp;quot;Rural&amp;quot; Dialogue. (Refers to self as &amp;quot;Oira&amp;quot; in Japanese) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Partner&lt;br /&gt;
|All other Male Pokémon&lt;br /&gt;
|More Masculine/&amp;quot;Boyish&amp;quot; Dialogue. (Refers to self as &amp;quot;Boku&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Partner&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|More Feminine Dialogue. (Refers to self as &amp;quot;Watashi&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Hero&lt;br /&gt;
|All Male/Genderless Pokémon&lt;br /&gt;
|Uses Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Hero&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|Uses Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;Role Exclusion&amp;quot; checkboxes blacklist the row from being an option as a hero or as a partner respectively. Certain Pokémon, particularly Meowth and Munchlax, are unable to be heroes in the vanilla game. This section is how to replicate that feature of the original quiz.&lt;br /&gt;
&lt;br /&gt;
=== Fuwarante Blacklist ===&lt;br /&gt;
Finally, on the far end of the table, is the Fuwarante Blacklist inputs. These are perhaps the most complicated portion of this tab of the sheet.[[File:Fuwarante Blacklist.png|alt=Location of the Fuwarante Blacklist|center|thumb|300x300px|Location of the Fuwarante Blacklist]]Each column corresponds to a bit of the script variable &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt;. If the matching flag is on, the starter in that row &#039;&#039;&#039;cannot&#039;&#039;&#039; be chosen. This will be elaborated on further in the &amp;quot;Question Loop Generator&amp;quot;, but this is a brief explanation of what the bits represent by default:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Bit&lt;br /&gt;
!Description/Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|If enabled, &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt; will be true, meaning the player answered that they have played Time/Darkness before.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|If enabled, the player has played EoS before, according to a custom starting question.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|If enabled, the player has participated in a Mystery Mail event before, according toa custom ending question.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|If enabled, the player claimed to be female in the final gender question. Enable for &#039;&#039;&#039;male&#039;&#039;&#039; starters.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|If enabled, the player claimed to be male in the final gender question. Enable for &#039;&#039;&#039;female&#039;&#039;&#039; starters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
Once again, the orange output cells on the far right of this sheet are largely unimportant, but are present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Question Loop Generator: Before, After, and For How Long? ==&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The upper panel of this sheet mostly consists of inputs, though the single output is a reminder of how many unique pools are used by the Starter Selection Generator. The input directly left of it is for telling the Question Loop Generator how many pools are in use, and should be changed to match the display. On the upper left of the panel, there are inputs for how many questions the game should ask the player, and how many questions will be written for the quiz to randomly choose from. In vanilla, there are 64 possible questions, and 8 will be given to the player.&lt;br /&gt;
[[File:Question Loop Generator Upper Panel.png|alt=Location of the Upper Panel of the Question Loop Generator|center|thumb|750x750px|Location of the Upper Panel of the Question Loop Generator]]&lt;br /&gt;
The bottom row consists of checkboxes to enable/disable the Custom/Standard First and Last Questions, such as the Gender Question and the Time/Darkness Question, which boosts recruit rates for certain species if you answer yes, and adds points to certain pools containing sky-exclusive Pokémon. &lt;br /&gt;
&lt;br /&gt;
=== ExplorerScript Pre/Post Quiz Questions ===&lt;br /&gt;
Room for an additional question before and after the quiz has also been made, which along with the Gender and Time/Darkness questions can be modified in the below ExplorerScript inputs:&lt;br /&gt;
[[File:Question Loop Generator ExplorerScript Inputs.png|alt=Location of the ExplorerScript Inputs|center|thumb|600x600px|Location of the ExplorerScript Inputs]]&lt;br /&gt;
These are the primary use-cases for the Fuwarante Blacklist described above. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag will be explained in further detail below. &lt;br /&gt;
&lt;br /&gt;
== Question Generator: Multiple Choice Monotony ==&lt;br /&gt;
Note: The &amp;quot;Yes.&amp;quot; and &amp;quot;No.&amp;quot; options have the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag after them. This does functionally nothing, and exists primarily to aid in automatic string translation, as the localization teams translated the same English responses for questions differently based on context. This will be elaborated on further in &amp;quot;Full Script Translation&amp;quot;. If there are no plans to use the sheet&#039;s translation features, it is safe to remove any variants of &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt;. (instructions to do so in SkyTemple directly are present below).&lt;br /&gt;
&lt;br /&gt;
=== About Question Templates ===&lt;br /&gt;
This tab of the sheet is dedicated to the design and storage of the individual random questions in the quiz. The way this sheet works revolves   around &amp;quot;Question Templates&amp;quot; that store the question text, question number, answer text, pool ID, and points for that pool ID. Below is an example of a Question Template, and how it translates to question data: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Do you prefer to be busy or have\na lot of free time?^35 |&amp;lt;code&amp;gt;Being busy.^11^4^8^2|Free time!^9^4|In between.^12^4&amp;lt;/code&amp;gt;&lt;br /&gt;
!Question Text&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; |Question #&lt;br /&gt;
|-&lt;br /&gt;
|Do you prefer to be busy or to have a lot of free time?&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; |35&lt;br /&gt;
|-&lt;br /&gt;
!Answer Text&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
|-&lt;br /&gt;
|Being busy.&lt;br /&gt;
|11&lt;br /&gt;
|4&lt;br /&gt;
|8&lt;br /&gt;
|2&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Free time!&lt;br /&gt;
|9&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|In between.&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Question Template Input ===&lt;br /&gt;
&lt;br /&gt;
On the far left, is an input for an existing Question Template.[[File:Question Template Input.png|alt=Question Template Input Location|center|thumb|600x600px|Question Template Input Location]]The &amp;quot;Use Question Template Input&amp;quot; checkbox tells the sheet whether or not to use the Question Template provided. When writing questions entirely from scratch, disable this checkbox. When modifying existing questions, enable the checkbox, and paste in the Question Template. This will subsequently auto-fill the Question Data Inputs with the data within the template. If the auto-filled data itself needs to be altered, you will need to copy and &#039;&#039;&#039;paste values&#039;&#039;&#039; the data, then disable the checkbox.&lt;br /&gt;
&lt;br /&gt;
=== Question Data Inputs ===&lt;br /&gt;
[[File:Question Data Inputs.png|alt=Location of the Question Data Inputs Area|center|thumb|750x750px|Location of the Question Data Inputs Area]]&lt;br /&gt;
The Question Data Inputs Area should seem relatively intuitive. The question text is at the top, the answers are beneath, and up to 4 Personality Pools can gain points from each answer choice. The White Space checkbox is identical to the previous tab, and the question index is just the internal &amp;quot;ID&amp;quot; of the question. It should be incremented for each new question created, and will translate to the ID of the switch case in the final code. Note that the drop-down for the Pool Names is sourced from the Pool Names column of the Starter Selection Generator, and any changes to that list after creating the questions may lead to problems. With the current setup of the sheet, each question is limited to a maximum of 26 answer choices, but this limit is arbitrary, and can be circumvented by editing the question template manually, and pasting it in the Template List. In the event that a single question requires more than 26 choices, please ping happylappy in a support thread.&lt;br /&gt;
&lt;br /&gt;
=== Question Template Output &amp;amp; Template List ===&lt;br /&gt;
Finally, once the question is complete, a template for the question will be created in &amp;quot;Question Template Output&amp;quot;. &lt;br /&gt;
[[File:Question Template Output &amp;amp; Template List.png|alt=Location of Question Template Output &amp;amp; Template List|center|thumb|750x750px|Location of Question Template Output &amp;amp; Template List]]&lt;br /&gt;
Before moving onto the next question, copy the template output, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; in the corresponding slot on the &amp;quot;Question Template List&amp;quot;.   By default, templates for each vanilla question are already in the Question Template List, ready to be edited or modified by copying and pasting into the Question Template Input. The Script Output Column is again for debug purposes, and is read automatically by another tab of the sheet. &lt;br /&gt;
&lt;br /&gt;
== Personality Pool Selection Generator: Gerrymandering and Tie-Breaking ==&lt;br /&gt;
Once the quiz itself is completed, the points need to be tallied, so that a winning pool can be selected. The exact way that this happens in vanilla is a tad complicated, especially when it comes to breaking ties. Here are the steps that occur in vanilla:&lt;br /&gt;
&lt;br /&gt;
# Points are added to pools containing Sky-Exclusive Starters if the player has played Time/Darkness.&lt;br /&gt;
#* If Male is chosen for the gender question, +4 Points are added to Relaxed, Hasty, and Sassy. (Phanpy, Shinx, and Riolu)&lt;br /&gt;
#* If Female is chosen for the gender question, +4 Points are added to Relaxed and Jolly. (Vulpix and Eevee)&lt;br /&gt;
# The highest pool is found, and chosen.&lt;br /&gt;
#* If there is a tie, it is broken by adding a random number (0-19) to each, and rescoring the points.&lt;br /&gt;
#* If there is STILL a tie, it chooses the smallest pool it can.&lt;br /&gt;
This tab of the sheet serves to implement these two features in a customizable way.&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
About half of the upper panel is actually new this time. The &amp;quot;White Space&amp;quot; and &amp;quot;Number/# of Pools In Use&amp;quot; are unchanged, except they apply to this sheet.[[File:Pool Selection Generator Upper Panel.png|alt=Location of Pool Selection Generator Upper Panel|center|thumb|600x600px|Location of Pool Selection Generator Upper Panel]]The checkbox for &amp;quot;Do Pool Tinkering&amp;quot; enables/disables the Pool Tinkering portion of this sheet, while the &amp;quot;Maximum Tiebreaker Points&amp;quot; input determines the random value added to tied pools to decide a victor. Larger numbers result in less chance of a secondary tie, but could result in overflow for certain pools. &lt;br /&gt;
&lt;br /&gt;
=== Pool Tinkering ===&lt;br /&gt;
As stated above, the vanilla quiz favors pools with Sky-Exclusive Starters for the specified gender if they&#039;ve played Time/Darkness. Through checking the &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; flags from the &amp;quot;Question Loop Generator&amp;quot;, we can mimic this effect.&lt;br /&gt;
[[File:Pool Tinkering.png|alt=Location of Pool Tinkering Portion.|center|thumb|600x600px|Location of Pool Tinkering Portion.]]&lt;br /&gt;
On the far left, are the IDs of the two flags that should be checked (without modification, this could be 0 for &amp;quot;Time/Darkness&amp;quot;, and 3/4 for &amp;quot;Male/Female&amp;quot;). Depending on if the 1st and 2nd flags are true (1), or false (0), the selected pools (as many as needed) will gain the specified number of points. In order to accommodate for the &amp;quot;Surprise Me!&amp;quot; gender option, 2 points are given for male, 2 for &amp;quot;not male&amp;quot;, 2 for &amp;quot;female&amp;quot;, and 2 for &amp;quot;not female&amp;quot;, in order to influence every pool containing a sky-exclusive starter. (A similar process is done for the Time/Darkness exclusive starters I&#039;ve added to my example quiz, if the player has NOT played time/darkness). Up to 10 slots are present for pool tinkering, though more could be added if there is a pressing need. &lt;br /&gt;
&lt;br /&gt;
== Aura Bow Generator: Fortune Telling and Color Theory ==&lt;br /&gt;
The Aura Bow Generator serves to emulate the cinematics of the vanilla aura bow portion of the quiz. In addition to simply detecting when and for how long the player is touching the Aura Bow, the actual bow color needs to be determined! For the vanilla quiz, the process is as follows:&lt;br /&gt;
&lt;br /&gt;
* Use DS Favorite Color (75% Chance): If the DS Favorite Color is selected, the user&#039;s favorite color will match the color of the bow.&lt;br /&gt;
* Use DS Mac Address (25% Chance): If the Mac Address is selected, then &amp;lt;code&amp;gt;mac_address &amp;amp; 0xF&amp;lt;/code&amp;gt; determines the color of the bow.&lt;br /&gt;
&lt;br /&gt;
This functionality can be replicated by QuizMenuTool, and the chances can even be altered!&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The Aura Bow Generator&#039;s Upper Panel is one of the largest of every tab, though many of these inputs are similar to prior tabs of the sheet. The top left input boxes are Special Process IDs for the 4 Special Processes needed to emulate the Aura Bow portion of the quiz, and the &amp;quot;White Space?&amp;quot; Checkbox is the same as always. The &amp;quot;Aura Bow Output&amp;quot; on the top right is the final script output for this tab, unnecessary outside of debug purposes.&lt;br /&gt;
[[File:Aura Bow Generator Upper Panel.png|alt=Location of the Aura Bow Generator Upper Panel.|center|thumb|600x600px|Location of the Aura Bow Generator Upper Panel.]]&lt;br /&gt;
Beginning with the bottom left of the panel, there are 4 map LEVEL names. &amp;quot;Bottom 1&amp;quot; is for the background while touching the Aura bow, Bottom Screen 2 is for the presentation of the colored Aura Bow, and the Bottom/Top Screen 3 is the backgrounds that the script should end with, when transitioning to the starter reveal. Finally, on the bottom right of the upper panel is the &amp;quot;Touch Screen Aura Bow Object Name&amp;quot;. Per the name, this is the name or ID of the object that should be present on the bottom screen, that will animate when the player touches it. The last three digits of the object seem to vary depending on unknown factors, so be sure to verify that yours matches by inspecting this object in M00A01A with SkyTemple.&lt;br /&gt;
[[File:Aura Bow Touch Object Name.png|alt=Where to check the Aura Bow Touch Object Name in SkyTemple|center|thumb|600x600px|Where to check the Aura Bow Touch Object Name in SkyTemple]]&lt;br /&gt;
&lt;br /&gt;
=== Aura Reading Panel ===&lt;br /&gt;
Beginning on the lower left of the tab, the Aura Reading Panel consists of 3 ExplorerScript code segments, which play before the blank aura bow fades in, after the aura bow fades in, and if the player lets go of the touch screen too quickly. &lt;br /&gt;
[[File:Aura Reading Panel.png|alt=Location of the Aura Reading Panel.|center|thumb|600x600px|Location of the Aura Reading Panel.]]&lt;br /&gt;
At the very bottom of this panel, there are inputs for dialogue in all 5 languages that will play during the aura reading process. Unlike most text in the quiz, &#039;&#039;&#039;this string must be translated here&#039;&#039;&#039;, as every localization takes a different amount of time to print the dialogue. The length of time the touch screen should have been held for is calculated for each [W:X] text tag, and compared against the actual length of time the touch screen was held. Customizing this text string is possible in the box, so these calculations must be done by the sheet. If your hack is for a US ROM, or will be english-only, disable the &amp;quot;Use EU Strings&amp;quot; Checkbox. &amp;quot;Expected Text Speed (# of chars per frame)&amp;quot; should be the speed your dialogue prints at in SkyTemple. This will ensure that the actual length of the text is properly accounted for in the calculation. &amp;quot;Touch Screen Frame Tolerance&amp;quot; is a grace period for letting go of the bow. This is necessary for certain emulators, damaged touch-screens, failure to account for the dialogue box opening/closing, etc. Feel free to adjust as desired, such that the quiz is possible to complete. &lt;br /&gt;
&lt;br /&gt;
=== Bow Selection Panel ===&lt;br /&gt;
Finally, the Bow Selection Panel handles the actual selection and presentation of the Aura Bow. [[File:Bow Selection Panel.png|alt=Bow Selection Panel Location.|center|thumb|600x600px|Bow Selection Panel Location.]]The upper left of the panel is for assigning weights to the three methods for selecting a bow color: DS Favorite Color, DS MAC Address, or a custom block of code. Note that these weights &#039;&#039;&#039;must be integers&#039;&#039;&#039; or the sheet will generate invalid code. For convenience, the percent chance of each option is computed by the sheet, based on the weights and total weight. The ExplorerScript input for the custom bow selection is on the right of this panel, and on the bottom left is the flavor-text for each bow color. &lt;br /&gt;
&lt;br /&gt;
== Variable Cleanup &amp;amp; End-Cap Generator: Nearly Finished! ==&lt;br /&gt;
This tab of the sheet aims to clean up the bevy of variables used by the quiz, and prep the game for actually running. Since QMT uses a majority of the script variables the game has to function, this tab resets them all back to what they should be at the beginning of a save file, now that the quiz no longer needs them. If some part of the quiz needs to be remembered, such as the color of the aura bow, whether the player has played Time/Darkness, or the winning Quiz personality pool, that needs to be preserved in this tab. In addition, this is the tab where the starters are officially initialized, which allows them to be nicknamed. Finally, the special process for actually assigning the starters, &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;, will wipe &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; clean, replacing it with what the real quiz determined your aura bow color to be. Because the real quiz never runs during QMT, this will always be zero. As a result, the aura bow color needs to be saved somewhere besides &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;, then returned afterwards.  &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
This tab ALSO has an upper panel! The number of pools to clear should ideally match the number of pools in use. &amp;quot;White Space&amp;quot; does the same thing it has up to this point, and the far right output cell is read elsewhere, and only exists for debug purposes.&lt;br /&gt;
[[File:Variable Cleanup &amp;amp; End-Cap Upper Panel.png|alt=Variable Cleanup &amp;amp; End-Cap Upper Panel Location.|center|thumb|600x600px|Variable Cleanup &amp;amp; End-Cap Upper Panel Location.]]&lt;br /&gt;
In the center of the panel are three new checkboxes. &amp;quot;Name Partner?&amp;quot; and &amp;quot;Name Hero?&amp;quot; should be somewhat intuitive, they enable/disable the ExplorerScript inputs for naming the hero and partner respectively, which will be elaborated on below. Finally, &amp;quot;Set $VERSION to 1?&amp;quot; sets the &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt; script variable to 1 at the very end of the script. Without ASM modification, saving the game with this variable as anything besides 1 results in a &amp;quot;corrupt&amp;quot; save file. In the absence of a strong reason otherwise, this box should remain checked.&lt;br /&gt;
&lt;br /&gt;
=== Hero Name, Partner Name, &amp;amp; Closing Remarks ===&lt;br /&gt;
These ExplorerScript Inputs are for... the code used for nicknaming the partner and hero respectively, as well as the last few lines of text before the quiz truly ends.[[File:Hero-Partner-Closing Remarks Input.png|alt=Location of ExplorerScript Code Inputs.|center|thumb|600x600px|Location of ExplorerScript Code Inputs.]]Note that &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; will not function without the dedicated SkyPatch, in the QMT github repo (linked at the top). Additionally, the menus themselves will close any active text-box the instant they are done printing, which is why the hero monologue ends with a &amp;lt;code&amp;gt;[K]&amp;lt;/code&amp;gt;. A &amp;lt;code&amp;gt;message_Close();&amp;lt;/code&amp;gt; would also suffice. Finally, the closing remarks should actually fade out the BGM and screen as desired. Feel free to optimize the fades, there is probably a more efficient way to achieve the right effect. &lt;br /&gt;
&lt;br /&gt;
=== Script Variable Preservation Panel ===&lt;br /&gt;
The Script Variable Preservation Panel serves to determine what information should be preserved after the quiz. By default, only the variables storing the personality pool counts are actually being erased, though certain configurations may require some variables to be kept, and others to be wiped in addition.[[File:Script Variable Preservation Panel.png|alt=Script Variable Preservation Panel Location.|center|thumb|600x600px|Script Variable Preservation Panel Location.]]Beginning at the top, is the &amp;quot;Variable Erasure Blacklist&amp;quot;. Based on other interactions with the sheet, the &amp;quot;Automatic Variables&amp;quot; will fill up automatically, but any script variables specified in this row will be kept as they are at the end of the quiz, and not erased. An example of a manual blacklist example might be &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt;, which doesn&#039;t need a dedicated line of code for erasure if it will ALSO be set to 1 at the end. The next row, &amp;quot;Additional Variables to Erase&amp;quot;, will be added to the list of erased variables if they are not already present. The &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; variables should be erased in addition, as the Driftblim Gondola will interpret these variables as valid station passes to enter. Below that, is the &amp;quot;Variable Transfer Table&amp;quot;. Prior to erasing anything, variables in the &amp;quot;Old Variable Name&amp;quot; column will be moved to the &amp;quot;New Variable Name&amp;quot;. The old variable will be slated for erasure, while the new one will be spared. For convenience, the &amp;quot;Variable Meaning&amp;quot; Tab on the left will autofill one or both of these columns depending on the option you select:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable Meaning&lt;br /&gt;
!Old Variable Name&lt;br /&gt;
!New Variable Name&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Preserve&lt;br /&gt;
|&amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;$LOCAL0&amp;lt;/code&amp;gt;&lt;br /&gt;
|If this Variable Meaning is present, &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; will be restored in post. It&#039;s only purpose is to prevent the quiz from wiping the variable on running  &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Winning Pool&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB7&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the winning Pool ID from the quiz itself. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Winning Points&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB6&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the number of points the winning Pool ID had after the tie-breaking process. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Fuwarante Bit X&lt;br /&gt;
|&amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL[X]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|These correspond directly to the FUWARANTE blacklist, and in this example is used to pass forward the Time/Darkness question to &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt;, the variable responsible for the recruitment rate buff for playing Time/Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|Direct Script Variable&lt;br /&gt;
|Any&lt;br /&gt;
|Any&lt;br /&gt;
|This is an invitation to input whatever script variables are needed, and will adjust the coloration of the row to match. &lt;br /&gt;
|}&lt;br /&gt;
A full list of script variables with their appropriate descriptions will be provided in &amp;quot;Other Resources&amp;quot;, and might prove useful for more advanced tinkering in this panel.&lt;br /&gt;
&lt;br /&gt;
== Full Script Translation: EU ROM Superiority ==&lt;br /&gt;
This tab of the sheet is dedicated to translating all lines of dialogue into Spanish, French, German, and Italian, for an EU ROM. If the hack this is for doesn&#039;t need translation, this tab can be completely skipped. One of the most essential features of a translated quiz is the ability to pre-translate the vanilla text strings from the original quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
By default, the left-most checkbox of the upper panel will &amp;quot;activate&amp;quot; this sheet for translation. This may cause lag, and will cause more lag every time a change is made on one of the prior sheets, while enabled. Only begin translating once finished with the quiz, at least in the short term. [[File:Full Script Translation Upper Panel.png|alt=Location of the Full Script Translation Upper Panel.|center|thumb|600x600px|Location of the Full Script Translation Upper Panel.]]The &amp;quot;Auto-Translate Vanilla Strings&amp;quot; check-box will automatically search for and translate exact matches to vanilla Quiz strings. Additional translations can be added in &amp;quot;Vanilla Translation Strings&amp;quot; as needed. If no exact match is found, the translation will be left blank for manual translation. &amp;quot;Auto-Translate Pokemon&amp;quot; similarly will attempt to translate exact matches for dialogue specific to the final species. For example, the English string &amp;lt;code&amp;gt;[R][CN]Will be a [CS:K]Magnemite[CR]![W:60]&amp;lt;/code&amp;gt; will be automatically translated to &amp;lt;code&amp;gt;[R][CN]wird ein [CS:K]Magnetilo[CR]![W:60&amp;lt;/code&amp;gt;] (German), based on Magnemite&#039;s German name and the phrase &amp;quot;wird ein ___!&amp;quot;. This will only occur if the checkbox is enabled, and only for Pokemon names present in &amp;quot;Vanilla Translation Strings&amp;quot;. Finally, the &amp;quot;Trim [S:0] Before Translation&amp;quot; checkbox will remove all &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tags from the dialogue before searching for a match, ensuring that the various &amp;quot;Yes.&amp;quot;, &amp;quot;No.&amp;quot;. &amp;quot;Of Course!&amp;quot;, and &amp;quot;Open it!&amp;quot; are not translated automatically, per their vanilla quiz questions. Regardless of whether this checkbox is enabled, the final script output will not contain the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; tags. &lt;br /&gt;
&lt;br /&gt;
=== String Translation Panel ===&lt;br /&gt;
The string translation panel, on the right of this tab, is where text string translation will actually occur. &lt;br /&gt;
[[File:String Translation Panel.png|alt=Location of String Translation Panel.|center|thumb|600x600px|Location of String Translation Panel.]]&lt;br /&gt;
On the left, are English lines of text extracted from other tabs of the sheet. each column corresponds to an EU language (Spanish, French, German, Italian). At the top of each column, is a count of how many untranslated lines of dialogue are left for that language, as well as a checkbox to enable/disable each language. In the above screenshot, French dialogue will not be added to the final script, because the checkbox is enabled. In the rows themselves, are pink cells (vanilla translated text), green cells (empty), and blue cells (manual translation). Simply review each pink cell, and manually translate the English for that row for green cells so they turn blue. If a pink cell needs editing, simply copy the cell, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; it on top of itself, and it will turn blue, which is safe to edit. &lt;br /&gt;
&lt;br /&gt;
== Vanilla Translation Strings: Future-Proofing The Sheet ==&lt;br /&gt;
This tab of the sheet is used to store vanilla strings from the base game, and official Pokemon translations. These can be amended and edited as desired, to include custom strings for auto-translation, or new Pokemon name translations. &lt;br /&gt;
[[File:Vanilla Translation Strings Dialogue.png|alt=Vanilla Translation Strings Dialogue|center|thumb|600x600px|Vanilla Translation Strings Dialogue]]&lt;br /&gt;
This area above contains all relevant vanilla strings, which can be added to or amended as desired, in the green cells in these 5 columns. If a need arises to make changes to the quiz after translation, it is best to move all manually translated lines to this tab, before making any changes. Additionally, the lookup table for Pokemon species names can be modified:&lt;br /&gt;
[[File:Vanilla Translation Strings Species.png|alt=Vanilla Translation Strings Species|center|thumb|452x452px|Vanilla Translation Strings Species]]&lt;br /&gt;
On the far right of the tab, are a list of every Pokemon through Scarlet &amp;amp; Violet, and the French/German translations for each species (Spanish and Italian use English species names). These can also be amended or added to as desired. &lt;br /&gt;
&lt;br /&gt;
== Full Script Compression: It&#039;s Finally Over? ==&lt;br /&gt;
Last but not least, is the Full Script Compression Tab. This tab compiles all of the information from the other tabs, and compresses it into a copy/pastable batch of scripts for SkyTemple. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
There are a handful of settings in this upper panel. &amp;quot;White Space&amp;quot; is as it has been for every prior tab, but that&#039;s the only returning input.&lt;br /&gt;
[[File:Full Script Compression Upper Panel.png|alt=Full Script Compression Upper Panel Location.|center|thumb|600x600px|Full Script Compression Upper Panel Location.]]&lt;br /&gt;
&amp;quot;Use Full MegaScript&amp;quot; will compile the entire quiz into one script. This is only possible for English-only quizzes, and is only advised for quizzes with few questions and fewer starter choices. &amp;quot;Use Translated Scripts?&amp;quot; will use the outputs from Full Script Translation, which will be empty if the sheet is not active. Disable this checkbox for English-only quizzes. &amp;quot;Generate Unionall CORO&amp;quot; will create the unionall code needed to run the quiz, for a copy and paste replacement for the existing &amp;lt;code&amp;gt;CORO EVENT_M00A_01&amp;lt;/code&amp;gt; coroutine. The &amp;quot;Script File LEVEL Name&amp;quot; should reflect the location of the map LEVEL &amp;quot;folder&amp;quot; that the script file will actually be under. The &amp;quot;Script File SCRIPT Name&amp;quot; should become the name of the acting script itself, and should be 8 alphanumerical characters or fewer (not case-sensitive). Finally, the &amp;quot;Sector Param.&amp;quot; is the sector parameter of the &amp;lt;code&amp;gt;supervision_ExecuteActingSub();&amp;lt;/code&amp;gt; [[List of Opcodes#0x12d - supervision ExecuteActingSub|Opcode]]. Generally this should be zero, though none of these scripts internally utilize the sector parameter, should it be of interest for customization.&lt;br /&gt;
&lt;br /&gt;
=== SkyTemple Script Outputs ===&lt;br /&gt;
This portion of the sheet consists of outputs to SkyTemple. Unlike most output cells thus far, these are actually intended for use!&lt;br /&gt;
[[File:SkyTemple Script Outputs.png|alt=SkyTemple Script Outputs Location.|center|thumb|600x600px|SkyTemple Script Outputs Location.]]&lt;br /&gt;
The intended places for each of these outputs will be described in &amp;quot;Importing The Scripts To SkyTemple&amp;quot;, but when copying a script, be sure to copy all cells in the box with text.&lt;br /&gt;
&lt;br /&gt;
== Importing The Scripts To SkyTemple ==&lt;br /&gt;
Now for the fun part! Actually applying everything to SkyTemple, and seeing the quiz actually play out. This section will briefly cover installation of SkyPatches and Special Processes, though more generalized guides for these things are or will be available. First though, prior installation of StarterMenuTool will change some of these steps. &lt;br /&gt;
=== Converting From StarterMenuTool ===&lt;br /&gt;
There are very few differences between starting fresh and converting from StarterMenuTool. The differences are as follows:&lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu is Applied: Since the SkyPatch is already applied, it does not need to be applied again. It can be reapplied without issue, though it already exists in the ROM.&lt;br /&gt;
* Existing Special Processes: Older versions of &amp;lt;code&amp;gt;starter_setter&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; were added via StarterMenuTool. These may function as intended for QMT, especially &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; which has seen zero change between the two tools, but it is recommended to update them by replacing them, or to use new slots for the QMT SPs.&lt;br /&gt;
* Existing Acting Script: StarterMenuTool takes the same approach as QMT in creating a new acting scene for the quiz itself. This existing script can be repurposed into one of the QMT acting scripts, though with SkyTemple alone it cannot be renamed, meaning the script name it will be used for in the Full Script Compression Upper Panel must be renamed.&lt;br /&gt;
* Edit to Vanilla Quiz: StarterMenuTool modifies the original quiz script m00a01a.ssb. While these changes have no net impact on QMT, it would impact the debug mode, as the code to create a team from the default starters has been removed. If this functionality needs to be restored, simply add the following line after &amp;quot;if ( debug ) {&amp;quot; in m00a01a.ssb:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;switch ( ProcessSpecial(PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ, 0, 0) ) { }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Existing Unionall Edit: StarterMenuTool also requires the modification of &amp;lt;code&amp;gt;coro EVENT_M00A_01&amp;lt;/code&amp;gt;. QuizMenuTool will require this coroutine to be edited to run m00a01a in debug mode, and the QMT scripts otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Installing the SkyPatches ===&lt;br /&gt;
In order for QuizMenuTool to function, the following SkyPatches must be applied. &lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu: Gives &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; the ability to actually nickname the partner. Requires ExtraSpace as a pre-requisite.&lt;br /&gt;
* ExtractSPCode: Enables the use of custom Special Processes used heavily by QMT.&lt;br /&gt;
&lt;br /&gt;
Installing FixPartnerNameMenu is relatively simple. After downloading the file from the github repo, navigate to &amp;lt;code&amp;gt;Patches -&amp;gt; ASM&amp;lt;/code&amp;gt; in SkyTemple. Then, click the &amp;quot;Open Patch Directory&amp;quot; button.&lt;br /&gt;
[[File:InstallFixPartnerNamePatch.png|alt=The &amp;quot;Open Patch Folder&amp;quot; button is on the bottom left.|center|thumb|600x600px|The &amp;quot;Open Patch Directory&amp;quot; button is on the bottom left.]]&lt;br /&gt;
Finally, drag &amp;lt;code&amp;gt;FixPartnerName.skypatch&amp;lt;/code&amp;gt; into the folder, and close it. The patch will now be in the &amp;quot;Others&amp;quot; Tab, ready for installation. If ExtraSpace is not installed, SkyTemple will prompt the installation of both patches sequentially. This is good, do that. &lt;br /&gt;
&lt;br /&gt;
Next, is the installation of ExtractSPCode. Once again, navigate to &amp;lt;code&amp;gt;Patches-&amp;gt;ASM&amp;lt;/code&amp;gt;, and select the &amp;quot;Utility&amp;quot; tab. Install ExtractSPCode, and any necessary pre-requisites (there shouldn&#039;t be any, except maybe ExtraSpace). &lt;br /&gt;
[[File:ExtractSPCode.png|alt=ExtractSPCode Location|center|thumb|600x600px|ExtractSPCode Location]]&lt;br /&gt;
&lt;br /&gt;
=== Applying The Special Processes ===&lt;br /&gt;
Now for installing the Special Processes themselves. If the hack already has custom Special Processes it wishes to keep, or the IDs of the special processes in the sheet have been changed, apply the SPs as desired, but ensure the sheet has accurate IDs (NOT Effects), so it can call them. For simplicity, these are the default locations of each SP:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Spreadsheet Tab&lt;br /&gt;
!Spreadsheet Input Name&lt;br /&gt;
!SP File Name&lt;br /&gt;
!ID&lt;br /&gt;
!Effect&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|starter_setter SP ID&lt;br /&gt;
|starter_setter.asm&lt;br /&gt;
|64&lt;br /&gt;
|61&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|set_frame_color SP ID&lt;br /&gt;
|set_frame_color.asm&lt;br /&gt;
|65&lt;br /&gt;
|62&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|CheckTSPress SP ID&lt;br /&gt;
|CheckTSPress.asm&lt;br /&gt;
|66&lt;br /&gt;
|63&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|ReturnTSPFrames SP ID&lt;br /&gt;
|ReturnTSPFrames.asm&lt;br /&gt;
|67&lt;br /&gt;
|64&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|MoveText2TopScreen SP ID&lt;br /&gt;
|MoveText2TopScreen.asm&lt;br /&gt;
|68&lt;br /&gt;
|65&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|Set_Demo_Character SP ID&lt;br /&gt;
|Set_Demo_Character.asm&lt;br /&gt;
|69&lt;br /&gt;
|66&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|get_favorite_config_color SP ID&lt;br /&gt;
|get_favorite_config_color.asm&lt;br /&gt;
|70&lt;br /&gt;
|67&lt;br /&gt;
|}&lt;br /&gt;
Ensure that you download the correct set of special processes for your version of the ROM (US or EU). Next, navigate to                       &amp;lt;code&amp;gt;Patches-&amp;gt;ASM-&amp;gt;Special Processes&amp;lt;/code&amp;gt;, and click the &amp;quot;Add Special Process&amp;quot; button until enough IDs are in the list for each new Special Process.&lt;br /&gt;
[[File:How2AddSpecialProcesses1.png|alt=The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.|center|thumb|600x600px|The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.]]&lt;br /&gt;
The list should look like it does in the image when done. With that completed, navigate to the &amp;quot;Effects Code&amp;quot; tab. Click the &amp;quot;+&amp;quot; Button to create a new effect. Then, click the &amp;quot;Import Code&amp;quot; button at the bottom to select the special process to be imported to this effect.&lt;br /&gt;
[[File:How2AddSpecialProcesses2.png|center|thumb|600x600px|Clicking the &amp;quot;+&amp;quot; Button adds a new effect. Each new effect must have the correct .asm file imported into it, as specified in the table.]]&lt;br /&gt;
In the above image, Special Process &amp;lt;code&amp;gt;starter_setter.asm&amp;lt;/code&amp;gt; is being imported to Effect 61, which corresponds to ID 64. Similarly, &amp;lt;code&amp;gt;set_frame_color.asm&amp;lt;/code&amp;gt; should be imported to Effect 62 (ID 65), &amp;lt;code&amp;gt;CheckTSPress.asm&amp;lt;/code&amp;gt; should be imported to Effect 63, etc.&lt;br /&gt;
&lt;br /&gt;
Once all the necessary Special Processes have been imported to their effects, the last thing that needs to be done is assigning the effects to their IDs. Navigating back to the &amp;quot;Special Process Effects&amp;quot; tab, assign each effect to the correct ID, as shown below:&lt;br /&gt;
[[File:How2AddSpecialProcesses3.png|alt=Simply clicking on the effect cell will allow it to be edited.|center|thumb|600x600px|Simply clicking on the effect cell will allow it to be edited.]]&lt;br /&gt;
With that, SP importing is complete, and all that remains is to save the ROM.&lt;br /&gt;
&lt;br /&gt;
=== Creating QMT Script Files ===&lt;br /&gt;
Next, is the process of actually creating the QMT script files. For simplicity, this guide will demonstrate the process on LEVEL_S02P01A, the same location in the script files as the original quiz. If you plan on putting the QMT script files elsewhere, ensure this is properly accounted for in Full Script Compression. Navigate to Script Scenes-&amp;gt;S02P01A. If you are using a MegaScript, create ONE new acting scene. Otherwise, create four of them, each with the name in FullScriptCompression.&lt;br /&gt;
[[File:ImportingQMTScriptFiles1.png|alt=Be sure you click &amp;quot;Create Acting Scene&amp;quot;! It is important that these scripts are acting scenes.|center|thumb|600x600px|Be sure you click &amp;quot;Create Acting Scene&amp;quot;! It is important that these scripts are acting scenes.]]&lt;br /&gt;
The newly created scenes should appear in the Acting (ssa) folder. Navigate to the first one created, and double-click on &amp;quot;[script-name].ssb&amp;quot;.&lt;br /&gt;
[[File:ImportingQMTScriptFiles2.png|alt=In this case, &amp;quot;qmt01.ssb&amp;quot; on the right will open the script file&#039;s &amp;quot;ssb&amp;quot; code.|center|thumb|600x600px|In this case, &amp;quot;qmt01.ssb&amp;quot; on the right will open the script file&#039;s &amp;quot;ssb&amp;quot; code.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ImportingQMTScriptFiles3.png|center|thumb|600x600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pasting Scripts/Unionall From the Sheet ===&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
&lt;br /&gt;
=== QMT Script Variable Map ===&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=File:ImportingQMTScriptFiles3.png&amp;diff=1195</id>
		<title>File:ImportingQMTScriptFiles3.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=File:ImportingQMTScriptFiles3.png&amp;diff=1195"/>
		<updated>2025-08-09T22:39:40Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Visual for creating and importing script files for QMT.&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=File:ImportingQMTScriptFiles2.png&amp;diff=1194</id>
		<title>File:ImportingQMTScriptFiles2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=File:ImportingQMTScriptFiles2.png&amp;diff=1194"/>
		<updated>2025-08-09T22:24:05Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Visual for creating and importing script files for QMT.&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=File:ImportingQMTScriptFiles1.png&amp;diff=1193</id>
		<title>File:ImportingQMTScriptFiles1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=File:ImportingQMTScriptFiles1.png&amp;diff=1193"/>
		<updated>2025-08-09T22:19:53Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Visual for creating and importing script files for QMT.&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1192</id>
		<title>QuizMenuTool Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1192"/>
		<updated>2025-08-09T22:09:26Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* Importing The Scripts To SkyTemple */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;{{SkyTempleIcon|icon=skytemple-dialog-error-symbolic}} This article is unfinished. You can help &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:{{PAGENAME}}|veaction=edit}} expanding it]&amp;lt;/span&amp;gt;.&#039;&#039;&amp;lt;hr&amp;gt;This guide explains how to use QuizMenuTool to create a custom Personality Quiz. The bulk of this guide will explain the use of the google sheets portion of the tool. A rudimentary understanding of SkyTemple scripting will be assumed, namely adding new acting scenes, and adding scenes to unionall.ssb. These topics have/will be covered in other wiki articles. &lt;br /&gt;
&lt;br /&gt;
== About QuizMenuTool ==&lt;br /&gt;
&lt;br /&gt;
=== What Is QuizMenuTool? ===&lt;br /&gt;
QuizMenuTool is a customizable ExplorerScript replica of the Explorers of Sky Personality Quiz and Starter Selection, with minimal hardcoded aspects. The original quiz was designed to consist mostly of &amp;lt;code&amp;gt;message_Menu()&amp;lt;/code&amp;gt; ASM, to make editing the personality quiz accessible without the need to learn ASM. &lt;br /&gt;
&lt;br /&gt;
=== What can QuizMenuTool do? ===&lt;br /&gt;
QuizMenuTool can modify the process of using the quiz to select a starter, expand/reduce the starter list, add/remove/modify questions from the quiz, and much more! In fact, the better question might be...&lt;br /&gt;
&lt;br /&gt;
=== What Limitations does QuizMenuTool have? ===&lt;br /&gt;
There are a few critical things QuizMenuTool was not designed to do, though many of these could be remedied in the future if enough demand exists. Here&#039;s a list of what QuizMenuTool fails to replicate from the vanilla quiz:&lt;br /&gt;
&lt;br /&gt;
* Hero/Partner Type Exclusion: In the vanilla quiz, the hero and partner are prevented from sharing a type, to encourage team balance. No   option for such a restriction has been implemented yet, though such a thing would be possible in the future, or be scripted manually for a specific hack. &lt;br /&gt;
* SwitchMenu Portraits: In the vanilla quiz, scrolling to a partner choice displays a portrait of that partner, which gradually changes in expression. This feature would require significant custom code to emulate, and is unlikely to be available for QuizMenuTool.&lt;br /&gt;
* Third Party Starter Tweaks: The original starter list is &#039;&#039;&#039;completely unused&#039;&#039;&#039; by QuizMenuTool. Changing it has no impact on the quiz. Players of a hack using QuizMenuTool will have difficulty adding their own starters to the game, though this could potentially be remedied with a special process checking the starter list against what it is expected to be, and assigning the desired starter if a mismatch is found?&lt;br /&gt;
* Incompatibility with Japanese ROMs: Currently, QuizMenuTool is designed to only work for NA and EU ROMs. while in theory a Japanese Quiz could be designed, the Special Processes are not Japanese-compatible. This could be remedied with little effort, but the tool is designed for EU/NA ROMs.&lt;br /&gt;
&lt;br /&gt;
== Who QuizMenuTool is for ==&lt;br /&gt;
If either of the below points do not apply to you, you do not need QuizMenuTool.&lt;br /&gt;
* You would like to expand (or shrink) the list of starter options in the game.&lt;br /&gt;
* You would like to keep the personality quiz in the game, or edit the quiz directly.&lt;br /&gt;
If you only want to change the size of the starter list, and do not want the personality quiz (as if the [[SkipQuiz]] patch is applied), you should instead use [https://github.com/Chesyon/StarterMenuTool StarterMenuTool], which is less powerful but requires much less work to set up.&lt;br /&gt;
&lt;br /&gt;
== Programs and Files ==&lt;br /&gt;
&lt;br /&gt;
=== Required Programs and Files ===&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1snwIq3-GHntcPTBwH-TJ5Ctk0a8l4pwXTZYwCs53dwo/edit?usp=sharing Explorers of Sky Personality Quiz Assembling Sheet]&lt;br /&gt;
* [https://github.com/HappyLappy1/EOS-QuizGenerationTool-ASM Necessary Special Processes and SkyPatches]&lt;br /&gt;
* [[SkyTemple]] &lt;br /&gt;
&lt;br /&gt;
== General Spreadsheet Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Making a Copy of the Sheet ===&lt;br /&gt;
The above link does NOT grant edit access. In order to use the sheet, a copy will need to be made as follows:&lt;br /&gt;
[[File:Copying a Spreadsheet.png|thumb|750x750px|Location of the &amp;quot;File&amp;quot; and &amp;quot;Make a Copy&amp;quot; buttons. |center]]&lt;br /&gt;
First click the &amp;quot;File&amp;quot; button on the top left. Next, &amp;quot;Make a Copy&amp;quot; of the sheet. Finally, name the copy as desired. &lt;br /&gt;
&lt;br /&gt;
=== Cell Color-Coding ===&lt;br /&gt;
Throughout the spreadsheet, most cells are color-coded. Here&#039;s a brief explanation of each color present in the sheet: &lt;br /&gt;
&lt;br /&gt;
* Green Cells are for user input. If a cell is green, it is intended to contain input data.&lt;br /&gt;
* Grey Cells contain formulas. They will update automatically, and should not be edited.&lt;br /&gt;
* Orange Cells are for user outputs. If a cell is orange, it is intended to be exported elsewhere, such as to a SkyTemple script.&lt;br /&gt;
* Cells without a color or of an unspecified color are typically safe to edit. Always check for a formula first though!&lt;br /&gt;
&lt;br /&gt;
=== Paste Values Only ===&lt;br /&gt;
This tab is the first which will require the use of &amp;quot;Paste Values&amp;quot;. When this guide specifies that a copy/paste must &amp;quot;Paste Values&amp;quot;, this means that the copied text is a formula, and the pasted text should not be a formula. &lt;br /&gt;
[[File:How To Paste Values.png|alt=Depiction of the &amp;quot;Values Only&amp;quot; button in the menu|center|thumb|600x600px|Depiction of the &amp;quot;Values Only&amp;quot; button in the menu]]&lt;br /&gt;
There are two ways to paste values, either by right-clicking the paste location and selecting &amp;quot;Paste Special&amp;quot; then &amp;quot;Values Only&amp;quot;, or by holding shift as you paste. &lt;br /&gt;
&lt;br /&gt;
== Quiz Preamble Generator: A Good First Impression! ==&lt;br /&gt;
The Quiz Preamble Generator Tab as a whole exists to create the very beginning of the quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
Most tabs in the sheet contain an upper panel of some kind, with various simple inputs and feedback on them:&lt;br /&gt;
[[File:Preamble Upper Panel.png|alt=Location of the Quiz Preamble Generator&#039;s Upper Panel.|center|thumb|750x750px|Location of the Quiz Preamble Generator&#039;s Upper Panel.]]&lt;br /&gt;
The &amp;quot;Bottom Screen&amp;quot; and &amp;quot;Top Screen&amp;quot; inputs are the map ID that should be used for that screen&#039;s background. Similarly, the Background Music Name/ID is a BGM name (or number) of the BGM that should play throughout the quiz. The &amp;quot;White Space?&amp;quot; checkbox will attempt to add indents to the output ExplorerScript lines, making the output script more human-readable.&lt;br /&gt;
&lt;br /&gt;
=== Preamble Text ===&lt;br /&gt;
This is the first of many direct inputs for ExplorerScript code. Due to the way spreadsheets store cell data, &amp;quot; &amp;quot; behave weirdly when present in the final script. Please use &#039; &#039; instead. This input is for the first set of dialogue before the questions actually begin. &lt;br /&gt;
[[File:Quiz Preamble Location.png|alt=Location of the Quiz Preamble Inputs|center|thumb|600x600px|Location of the Quiz Preamble Inputs]]&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
The orange output cell on this sheet is largely unimportant, but is present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Starter Selection Generator: Actually Adding the Starters... ==&lt;br /&gt;
This tab of the sheet is primarily for inputting data about the starters, or the personality pools they belong to. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
[[File:Starter Selection Upper Panel.png|alt=The Upper Panel for the &amp;quot;Starter Selection Generator&amp;quot; Tab|thumb|750x750px|Location of the &amp;quot;Upper Panel&amp;quot; for the &amp;quot;Starter Selection Generator&amp;quot; Tab|center]]This upper panel contains 4 inputs, 3 of which are for Special Processes pertaining to starter selection. If other Special Processes have already been added, these Special Process IDs will need to be changed to free slots. The &amp;quot;White Space?&amp;quot; checkbox is the same as before, except for this tab of the sheet. The 4 grey cells are useful statistics about the input starters: how many different pools are used by the starters, how many species are present, and how many options there are for the hero and partner. &lt;br /&gt;
&lt;br /&gt;
=== Personality Pool Input ===&lt;br /&gt;
Next, on the lower right is the nature &amp;quot;Pool&amp;quot; input. These contain the pool name, and the text that should be displayed if that pool is selected by the quiz. &lt;br /&gt;
[[File:Personality Pools Input.png|alt=Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names and descriptions go.|center|thumb|450x450px|Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names/descriptions go.]]&lt;br /&gt;
The &amp;quot;Pool Name&amp;quot; field is only used by the Question Generator Tab, and will not show up anywhere in the final script. Modify these as desired as soon as possible, as it will be difficult to do so after designing the quiz questions. &#039;&#039;&#039;For best results, ensure all pool names are unique!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Starter Species Data ===&lt;br /&gt;
The bottom left segment of the sheet is the &amp;quot;Starter Species Data&amp;quot; input. This is part of a wider table, but each segment will be discussed individually. &lt;br /&gt;
[[File:Starter Species Data Location.png|alt=Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.|center|thumb|750x750px|Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.]]&lt;br /&gt;
While some of these fields should be intuitive, A brief description of each column is as follows:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Species Name:&#039;&#039;&#039; The name of the species as you want it shown in the quiz. If the cell turns purple on entering a species name, this means the Pokémon could not be found in &#039;&#039;&#039;Vanilla Translation Strings&#039;&#039;&#039;. French and German Translations will need to be added by hand, or all strings involving the Pokémon will need to be translated manually.&lt;br /&gt;
* &#039;&#039;&#039;Species ID:&#039;&#039;&#039; The ID in SkyTemple of the Pokémon. &#039;&#039;&#039;[TODO: Explain how this is affected by ExpandPokeList]&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Gender:&#039;&#039;&#039; The gender of the Pokémon, used to set the frame color, and to add &amp;quot;♂&amp;quot; and &amp;quot;♀&amp;quot; to the hero/partner selection list. 0 is Male, 1 is Female, and 2 is Genderless.&lt;br /&gt;
* &#039;&#039;&#039;Pool ID:&#039;&#039;&#039; The number of the Pool the Pokémon should be categorized under. Each Pool that could be chosen by the Quiz should have at least one valid Pokémon, or Bulbasaur will be selected as a failsafe. &#039;&#039;&#039;If the species are not sorted by Pool ID, cells will turn red. The sheet will produce invalid labels if this table is not sorted by Pool ID!&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Start w/ Vowel:&#039;&#039;&#039; If the Pokémon should be referred to as &amp;quot;...an [Pokémon]&amp;quot;, check this box.&lt;br /&gt;
&lt;br /&gt;
=== Talk Group &amp;amp; Role Exclusion ===&lt;br /&gt;
Continuing along the table, the next two subsections are for &amp;quot;Talk Groups&amp;quot; and &amp;quot;Role Exclusion&amp;quot;. Both of these segments relate to either the hero, or the partner.&lt;br /&gt;
[[File:Talk Groups and Role Exclusion.png|alt=Location of Talk Group and Role Exclusion Inputs|center|thumb|300x300px|Location of Talk Group and Role Exclusion Inputs]]&lt;br /&gt;
In the vanilla game, the hero and partner have differing dialogue depending on their species-specific &amp;quot;Talk Group&amp;quot;. These columns are dedicated to assigning the talk group for the hero or partner if that row&#039;s species is chosen. While it handles pronouns for dialogue, especially in gendered languages, it also affects the way the partner&#039;s dialogue is written. It does the same for the hero&#039;s dialogue, but in the English localization it only affects 2 lines in the entire game (&amp;quot;Whoa&amp;quot; &amp;lt;-&amp;gt; &amp;quot;Wah&amp;quot;, &amp;quot;All right&amp;quot; &amp;lt;-&amp;gt; &amp;quot;OK&amp;quot;). This is how they are used in vanilla:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Explorers of Sky Talk Groups&lt;br /&gt;
!#&lt;br /&gt;
!Used By&lt;br /&gt;
!Notable Species&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Partner&lt;br /&gt;
|Male Squirtle/Totodile/Chimchar/Meowth/Munchlax&lt;br /&gt;
|More Masculine/&amp;quot;Rural&amp;quot; Dialogue. (Refers to self as &amp;quot;Oira&amp;quot; in Japanese) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Partner&lt;br /&gt;
|All other Male Pokémon&lt;br /&gt;
|More Masculine/&amp;quot;Boyish&amp;quot; Dialogue. (Refers to self as &amp;quot;Boku&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Partner&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|More Feminine Dialogue. (Refers to self as &amp;quot;Watashi&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Hero&lt;br /&gt;
|All Male/Genderless Pokémon&lt;br /&gt;
|Uses Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Hero&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|Uses Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;Role Exclusion&amp;quot; checkboxes blacklist the row from being an option as a hero or as a partner respectively. Certain Pokémon, particularly Meowth and Munchlax, are unable to be heroes in the vanilla game. This section is how to replicate that feature of the original quiz.&lt;br /&gt;
&lt;br /&gt;
=== Fuwarante Blacklist ===&lt;br /&gt;
Finally, on the far end of the table, is the Fuwarante Blacklist inputs. These are perhaps the most complicated portion of this tab of the sheet.[[File:Fuwarante Blacklist.png|alt=Location of the Fuwarante Blacklist|center|thumb|300x300px|Location of the Fuwarante Blacklist]]Each column corresponds to a bit of the script variable &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt;. If the matching flag is on, the starter in that row &#039;&#039;&#039;cannot&#039;&#039;&#039; be chosen. This will be elaborated on further in the &amp;quot;Question Loop Generator&amp;quot;, but this is a brief explanation of what the bits represent by default:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Bit&lt;br /&gt;
!Description/Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|If enabled, &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt; will be true, meaning the player answered that they have played Time/Darkness before.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|If enabled, the player has played EoS before, according to a custom starting question.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|If enabled, the player has participated in a Mystery Mail event before, according toa custom ending question.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|If enabled, the player claimed to be female in the final gender question. Enable for &#039;&#039;&#039;male&#039;&#039;&#039; starters.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|If enabled, the player claimed to be male in the final gender question. Enable for &#039;&#039;&#039;female&#039;&#039;&#039; starters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
Once again, the orange output cells on the far right of this sheet are largely unimportant, but are present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Question Loop Generator: Before, After, and For How Long? ==&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The upper panel of this sheet mostly consists of inputs, though the single output is a reminder of how many unique pools are used by the Starter Selection Generator. The input directly left of it is for telling the Question Loop Generator how many pools are in use, and should be changed to match the display. On the upper left of the panel, there are inputs for how many questions the game should ask the player, and how many questions will be written for the quiz to randomly choose from. In vanilla, there are 64 possible questions, and 8 will be given to the player.&lt;br /&gt;
[[File:Question Loop Generator Upper Panel.png|alt=Location of the Upper Panel of the Question Loop Generator|center|thumb|750x750px|Location of the Upper Panel of the Question Loop Generator]]&lt;br /&gt;
The bottom row consists of checkboxes to enable/disable the Custom/Standard First and Last Questions, such as the Gender Question and the Time/Darkness Question, which boosts recruit rates for certain species if you answer yes, and adds points to certain pools containing sky-exclusive Pokémon. &lt;br /&gt;
&lt;br /&gt;
=== ExplorerScript Pre/Post Quiz Questions ===&lt;br /&gt;
Room for an additional question before and after the quiz has also been made, which along with the Gender and Time/Darkness questions can be modified in the below ExplorerScript inputs:&lt;br /&gt;
[[File:Question Loop Generator ExplorerScript Inputs.png|alt=Location of the ExplorerScript Inputs|center|thumb|600x600px|Location of the ExplorerScript Inputs]]&lt;br /&gt;
These are the primary use-cases for the Fuwarante Blacklist described above. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag will be explained in further detail below. &lt;br /&gt;
&lt;br /&gt;
== Question Generator: Multiple Choice Monotony ==&lt;br /&gt;
Note: The &amp;quot;Yes.&amp;quot; and &amp;quot;No.&amp;quot; options have the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag after them. This does functionally nothing, and exists primarily to aid in automatic string translation, as the localization teams translated the same English responses for questions differently based on context. This will be elaborated on further in &amp;quot;Full Script Translation&amp;quot;. If there are no plans to use the sheet&#039;s translation features, it is safe to remove any variants of &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt;. (instructions to do so in SkyTemple directly are present below).&lt;br /&gt;
&lt;br /&gt;
=== About Question Templates ===&lt;br /&gt;
This tab of the sheet is dedicated to the design and storage of the individual random questions in the quiz. The way this sheet works revolves   around &amp;quot;Question Templates&amp;quot; that store the question text, question number, answer text, pool ID, and points for that pool ID. Below is an example of a Question Template, and how it translates to question data: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Do you prefer to be busy or have\na lot of free time?^35 |&amp;lt;code&amp;gt;Being busy.^11^4^8^2|Free time!^9^4|In between.^12^4&amp;lt;/code&amp;gt;&lt;br /&gt;
!Question Text&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; |Question #&lt;br /&gt;
|-&lt;br /&gt;
|Do you prefer to be busy or to have a lot of free time?&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; |35&lt;br /&gt;
|-&lt;br /&gt;
!Answer Text&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
|-&lt;br /&gt;
|Being busy.&lt;br /&gt;
|11&lt;br /&gt;
|4&lt;br /&gt;
|8&lt;br /&gt;
|2&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Free time!&lt;br /&gt;
|9&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|In between.&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Question Template Input ===&lt;br /&gt;
&lt;br /&gt;
On the far left, is an input for an existing Question Template.[[File:Question Template Input.png|alt=Question Template Input Location|center|thumb|600x600px|Question Template Input Location]]The &amp;quot;Use Question Template Input&amp;quot; checkbox tells the sheet whether or not to use the Question Template provided. When writing questions entirely from scratch, disable this checkbox. When modifying existing questions, enable the checkbox, and paste in the Question Template. This will subsequently auto-fill the Question Data Inputs with the data within the template. If the auto-filled data itself needs to be altered, you will need to copy and &#039;&#039;&#039;paste values&#039;&#039;&#039; the data, then disable the checkbox.&lt;br /&gt;
&lt;br /&gt;
=== Question Data Inputs ===&lt;br /&gt;
[[File:Question Data Inputs.png|alt=Location of the Question Data Inputs Area|center|thumb|750x750px|Location of the Question Data Inputs Area]]&lt;br /&gt;
The Question Data Inputs Area should seem relatively intuitive. The question text is at the top, the answers are beneath, and up to 4 Personality Pools can gain points from each answer choice. The White Space checkbox is identical to the previous tab, and the question index is just the internal &amp;quot;ID&amp;quot; of the question. It should be incremented for each new question created, and will translate to the ID of the switch case in the final code. Note that the drop-down for the Pool Names is sourced from the Pool Names column of the Starter Selection Generator, and any changes to that list after creating the questions may lead to problems. With the current setup of the sheet, each question is limited to a maximum of 26 answer choices, but this limit is arbitrary, and can be circumvented by editing the question template manually, and pasting it in the Template List. In the event that a single question requires more than 26 choices, please ping happylappy in a support thread.&lt;br /&gt;
&lt;br /&gt;
=== Question Template Output &amp;amp; Template List ===&lt;br /&gt;
Finally, once the question is complete, a template for the question will be created in &amp;quot;Question Template Output&amp;quot;. &lt;br /&gt;
[[File:Question Template Output &amp;amp; Template List.png|alt=Location of Question Template Output &amp;amp; Template List|center|thumb|750x750px|Location of Question Template Output &amp;amp; Template List]]&lt;br /&gt;
Before moving onto the next question, copy the template output, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; in the corresponding slot on the &amp;quot;Question Template List&amp;quot;.   By default, templates for each vanilla question are already in the Question Template List, ready to be edited or modified by copying and pasting into the Question Template Input. The Script Output Column is again for debug purposes, and is read automatically by another tab of the sheet. &lt;br /&gt;
&lt;br /&gt;
== Personality Pool Selection Generator: Gerrymandering and Tie-Breaking ==&lt;br /&gt;
Once the quiz itself is completed, the points need to be tallied, so that a winning pool can be selected. The exact way that this happens in vanilla is a tad complicated, especially when it comes to breaking ties. Here are the steps that occur in vanilla:&lt;br /&gt;
&lt;br /&gt;
# Points are added to pools containing Sky-Exclusive Starters if the player has played Time/Darkness.&lt;br /&gt;
#* If Male is chosen for the gender question, +4 Points are added to Relaxed, Hasty, and Sassy. (Phanpy, Shinx, and Riolu)&lt;br /&gt;
#* If Female is chosen for the gender question, +4 Points are added to Relaxed and Jolly. (Vulpix and Eevee)&lt;br /&gt;
# The highest pool is found, and chosen.&lt;br /&gt;
#* If there is a tie, it is broken by adding a random number (0-19) to each, and rescoring the points.&lt;br /&gt;
#* If there is STILL a tie, it chooses the smallest pool it can.&lt;br /&gt;
This tab of the sheet serves to implement these two features in a customizable way.&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
About half of the upper panel is actually new this time. The &amp;quot;White Space&amp;quot; and &amp;quot;Number/# of Pools In Use&amp;quot; are unchanged, except they apply to this sheet.[[File:Pool Selection Generator Upper Panel.png|alt=Location of Pool Selection Generator Upper Panel|center|thumb|600x600px|Location of Pool Selection Generator Upper Panel]]The checkbox for &amp;quot;Do Pool Tinkering&amp;quot; enables/disables the Pool Tinkering portion of this sheet, while the &amp;quot;Maximum Tiebreaker Points&amp;quot; input determines the random value added to tied pools to decide a victor. Larger numbers result in less chance of a secondary tie, but could result in overflow for certain pools. &lt;br /&gt;
&lt;br /&gt;
=== Pool Tinkering ===&lt;br /&gt;
As stated above, the vanilla quiz favors pools with Sky-Exclusive Starters for the specified gender if they&#039;ve played Time/Darkness. Through checking the &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; flags from the &amp;quot;Question Loop Generator&amp;quot;, we can mimic this effect.&lt;br /&gt;
[[File:Pool Tinkering.png|alt=Location of Pool Tinkering Portion.|center|thumb|600x600px|Location of Pool Tinkering Portion.]]&lt;br /&gt;
On the far left, are the IDs of the two flags that should be checked (without modification, this could be 0 for &amp;quot;Time/Darkness&amp;quot;, and 3/4 for &amp;quot;Male/Female&amp;quot;). Depending on if the 1st and 2nd flags are true (1), or false (0), the selected pools (as many as needed) will gain the specified number of points. In order to accommodate for the &amp;quot;Surprise Me!&amp;quot; gender option, 2 points are given for male, 2 for &amp;quot;not male&amp;quot;, 2 for &amp;quot;female&amp;quot;, and 2 for &amp;quot;not female&amp;quot;, in order to influence every pool containing a sky-exclusive starter. (A similar process is done for the Time/Darkness exclusive starters I&#039;ve added to my example quiz, if the player has NOT played time/darkness). Up to 10 slots are present for pool tinkering, though more could be added if there is a pressing need. &lt;br /&gt;
&lt;br /&gt;
== Aura Bow Generator: Fortune Telling and Color Theory ==&lt;br /&gt;
The Aura Bow Generator serves to emulate the cinematics of the vanilla aura bow portion of the quiz. In addition to simply detecting when and for how long the player is touching the Aura Bow, the actual bow color needs to be determined! For the vanilla quiz, the process is as follows:&lt;br /&gt;
&lt;br /&gt;
* Use DS Favorite Color (75% Chance): If the DS Favorite Color is selected, the user&#039;s favorite color will match the color of the bow.&lt;br /&gt;
* Use DS Mac Address (25% Chance): If the Mac Address is selected, then &amp;lt;code&amp;gt;mac_address &amp;amp; 0xF&amp;lt;/code&amp;gt; determines the color of the bow.&lt;br /&gt;
&lt;br /&gt;
This functionality can be replicated by QuizMenuTool, and the chances can even be altered!&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The Aura Bow Generator&#039;s Upper Panel is one of the largest of every tab, though many of these inputs are similar to prior tabs of the sheet. The top left input boxes are Special Process IDs for the 4 Special Processes needed to emulate the Aura Bow portion of the quiz, and the &amp;quot;White Space?&amp;quot; Checkbox is the same as always. The &amp;quot;Aura Bow Output&amp;quot; on the top right is the final script output for this tab, unnecessary outside of debug purposes.&lt;br /&gt;
[[File:Aura Bow Generator Upper Panel.png|alt=Location of the Aura Bow Generator Upper Panel.|center|thumb|600x600px|Location of the Aura Bow Generator Upper Panel.]]&lt;br /&gt;
Beginning with the bottom left of the panel, there are 4 map LEVEL names. &amp;quot;Bottom 1&amp;quot; is for the background while touching the Aura bow, Bottom Screen 2 is for the presentation of the colored Aura Bow, and the Bottom/Top Screen 3 is the backgrounds that the script should end with, when transitioning to the starter reveal. Finally, on the bottom right of the upper panel is the &amp;quot;Touch Screen Aura Bow Object Name&amp;quot;. Per the name, this is the name or ID of the object that should be present on the bottom screen, that will animate when the player touches it. The last three digits of the object seem to vary depending on unknown factors, so be sure to verify that yours matches by inspecting this object in M00A01A with SkyTemple.&lt;br /&gt;
[[File:Aura Bow Touch Object Name.png|alt=Where to check the Aura Bow Touch Object Name in SkyTemple|center|thumb|600x600px|Where to check the Aura Bow Touch Object Name in SkyTemple]]&lt;br /&gt;
&lt;br /&gt;
=== Aura Reading Panel ===&lt;br /&gt;
Beginning on the lower left of the tab, the Aura Reading Panel consists of 3 ExplorerScript code segments, which play before the blank aura bow fades in, after the aura bow fades in, and if the player lets go of the touch screen too quickly. &lt;br /&gt;
[[File:Aura Reading Panel.png|alt=Location of the Aura Reading Panel.|center|thumb|600x600px|Location of the Aura Reading Panel.]]&lt;br /&gt;
At the very bottom of this panel, there are inputs for dialogue in all 5 languages that will play during the aura reading process. Unlike most text in the quiz, &#039;&#039;&#039;this string must be translated here&#039;&#039;&#039;, as every localization takes a different amount of time to print the dialogue. The length of time the touch screen should have been held for is calculated for each [W:X] text tag, and compared against the actual length of time the touch screen was held. Customizing this text string is possible in the box, so these calculations must be done by the sheet. If your hack is for a US ROM, or will be english-only, disable the &amp;quot;Use EU Strings&amp;quot; Checkbox. &amp;quot;Expected Text Speed (# of chars per frame)&amp;quot; should be the speed your dialogue prints at in SkyTemple. This will ensure that the actual length of the text is properly accounted for in the calculation. &amp;quot;Touch Screen Frame Tolerance&amp;quot; is a grace period for letting go of the bow. This is necessary for certain emulators, damaged touch-screens, failure to account for the dialogue box opening/closing, etc. Feel free to adjust as desired, such that the quiz is possible to complete. &lt;br /&gt;
&lt;br /&gt;
=== Bow Selection Panel ===&lt;br /&gt;
Finally, the Bow Selection Panel handles the actual selection and presentation of the Aura Bow. [[File:Bow Selection Panel.png|alt=Bow Selection Panel Location.|center|thumb|600x600px|Bow Selection Panel Location.]]The upper left of the panel is for assigning weights to the three methods for selecting a bow color: DS Favorite Color, DS MAC Address, or a custom block of code. Note that these weights &#039;&#039;&#039;must be integers&#039;&#039;&#039; or the sheet will generate invalid code. For convenience, the percent chance of each option is computed by the sheet, based on the weights and total weight. The ExplorerScript input for the custom bow selection is on the right of this panel, and on the bottom left is the flavor-text for each bow color. &lt;br /&gt;
&lt;br /&gt;
== Variable Cleanup &amp;amp; End-Cap Generator: Nearly Finished! ==&lt;br /&gt;
This tab of the sheet aims to clean up the bevy of variables used by the quiz, and prep the game for actually running. Since QMT uses a majority of the script variables the game has to function, this tab resets them all back to what they should be at the beginning of a save file, now that the quiz no longer needs them. If some part of the quiz needs to be remembered, such as the color of the aura bow, whether the player has played Time/Darkness, or the winning Quiz personality pool, that needs to be preserved in this tab. In addition, this is the tab where the starters are officially initialized, which allows them to be nicknamed. Finally, the special process for actually assigning the starters, &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;, will wipe &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; clean, replacing it with what the real quiz determined your aura bow color to be. Because the real quiz never runs during QMT, this will always be zero. As a result, the aura bow color needs to be saved somewhere besides &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;, then returned afterwards.  &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
This tab ALSO has an upper panel! The number of pools to clear should ideally match the number of pools in use. &amp;quot;White Space&amp;quot; does the same thing it has up to this point, and the far right output cell is read elsewhere, and only exists for debug purposes.&lt;br /&gt;
[[File:Variable Cleanup &amp;amp; End-Cap Upper Panel.png|alt=Variable Cleanup &amp;amp; End-Cap Upper Panel Location.|center|thumb|600x600px|Variable Cleanup &amp;amp; End-Cap Upper Panel Location.]]&lt;br /&gt;
In the center of the panel are three new checkboxes. &amp;quot;Name Partner?&amp;quot; and &amp;quot;Name Hero?&amp;quot; should be somewhat intuitive, they enable/disable the ExplorerScript inputs for naming the hero and partner respectively, which will be elaborated on below. Finally, &amp;quot;Set $VERSION to 1?&amp;quot; sets the &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt; script variable to 1 at the very end of the script. Without ASM modification, saving the game with this variable as anything besides 1 results in a &amp;quot;corrupt&amp;quot; save file. In the absence of a strong reason otherwise, this box should remain checked.&lt;br /&gt;
&lt;br /&gt;
=== Hero Name, Partner Name, &amp;amp; Closing Remarks ===&lt;br /&gt;
These ExplorerScript Inputs are for... the code used for nicknaming the partner and hero respectively, as well as the last few lines of text before the quiz truly ends.[[File:Hero-Partner-Closing Remarks Input.png|alt=Location of ExplorerScript Code Inputs.|center|thumb|600x600px|Location of ExplorerScript Code Inputs.]]Note that &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; will not function without the dedicated SkyPatch, in the QMT github repo (linked at the top). Additionally, the menus themselves will close any active text-box the instant they are done printing, which is why the hero monologue ends with a &amp;lt;code&amp;gt;[K]&amp;lt;/code&amp;gt;. A &amp;lt;code&amp;gt;message_Close();&amp;lt;/code&amp;gt; would also suffice. Finally, the closing remarks should actually fade out the BGM and screen as desired. Feel free to optimize the fades, there is probably a more efficient way to achieve the right effect. &lt;br /&gt;
&lt;br /&gt;
=== Script Variable Preservation Panel ===&lt;br /&gt;
The Script Variable Preservation Panel serves to determine what information should be preserved after the quiz. By default, only the variables storing the personality pool counts are actually being erased, though certain configurations may require some variables to be kept, and others to be wiped in addition.[[File:Script Variable Preservation Panel.png|alt=Script Variable Preservation Panel Location.|center|thumb|600x600px|Script Variable Preservation Panel Location.]]Beginning at the top, is the &amp;quot;Variable Erasure Blacklist&amp;quot;. Based on other interactions with the sheet, the &amp;quot;Automatic Variables&amp;quot; will fill up automatically, but any script variables specified in this row will be kept as they are at the end of the quiz, and not erased. An example of a manual blacklist example might be &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt;, which doesn&#039;t need a dedicated line of code for erasure if it will ALSO be set to 1 at the end. The next row, &amp;quot;Additional Variables to Erase&amp;quot;, will be added to the list of erased variables if they are not already present. The &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; variables should be erased in addition, as the Driftblim Gondola will interpret these variables as valid station passes to enter. Below that, is the &amp;quot;Variable Transfer Table&amp;quot;. Prior to erasing anything, variables in the &amp;quot;Old Variable Name&amp;quot; column will be moved to the &amp;quot;New Variable Name&amp;quot;. The old variable will be slated for erasure, while the new one will be spared. For convenience, the &amp;quot;Variable Meaning&amp;quot; Tab on the left will autofill one or both of these columns depending on the option you select:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable Meaning&lt;br /&gt;
!Old Variable Name&lt;br /&gt;
!New Variable Name&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Preserve&lt;br /&gt;
|&amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;$LOCAL0&amp;lt;/code&amp;gt;&lt;br /&gt;
|If this Variable Meaning is present, &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; will be restored in post. It&#039;s only purpose is to prevent the quiz from wiping the variable on running  &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Winning Pool&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB7&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the winning Pool ID from the quiz itself. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Winning Points&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB6&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the number of points the winning Pool ID had after the tie-breaking process. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Fuwarante Bit X&lt;br /&gt;
|&amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL[X]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|These correspond directly to the FUWARANTE blacklist, and in this example is used to pass forward the Time/Darkness question to &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt;, the variable responsible for the recruitment rate buff for playing Time/Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|Direct Script Variable&lt;br /&gt;
|Any&lt;br /&gt;
|Any&lt;br /&gt;
|This is an invitation to input whatever script variables are needed, and will adjust the coloration of the row to match. &lt;br /&gt;
|}&lt;br /&gt;
A full list of script variables with their appropriate descriptions will be provided in &amp;quot;Other Resources&amp;quot;, and might prove useful for more advanced tinkering in this panel.&lt;br /&gt;
&lt;br /&gt;
== Full Script Translation: EU ROM Superiority ==&lt;br /&gt;
This tab of the sheet is dedicated to translating all lines of dialogue into Spanish, French, German, and Italian, for an EU ROM. If the hack this is for doesn&#039;t need translation, this tab can be completely skipped. One of the most essential features of a translated quiz is the ability to pre-translate the vanilla text strings from the original quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
By default, the left-most checkbox of the upper panel will &amp;quot;activate&amp;quot; this sheet for translation. This may cause lag, and will cause more lag every time a change is made on one of the prior sheets, while enabled. Only begin translating once finished with the quiz, at least in the short term. [[File:Full Script Translation Upper Panel.png|alt=Location of the Full Script Translation Upper Panel.|center|thumb|600x600px|Location of the Full Script Translation Upper Panel.]]The &amp;quot;Auto-Translate Vanilla Strings&amp;quot; check-box will automatically search for and translate exact matches to vanilla Quiz strings. Additional translations can be added in &amp;quot;Vanilla Translation Strings&amp;quot; as needed. If no exact match is found, the translation will be left blank for manual translation. &amp;quot;Auto-Translate Pokemon&amp;quot; similarly will attempt to translate exact matches for dialogue specific to the final species. For example, the English string &amp;lt;code&amp;gt;[R][CN]Will be a [CS:K]Magnemite[CR]![W:60]&amp;lt;/code&amp;gt; will be automatically translated to &amp;lt;code&amp;gt;[R][CN]wird ein [CS:K]Magnetilo[CR]![W:60&amp;lt;/code&amp;gt;] (German), based on Magnemite&#039;s German name and the phrase &amp;quot;wird ein ___!&amp;quot;. This will only occur if the checkbox is enabled, and only for Pokemon names present in &amp;quot;Vanilla Translation Strings&amp;quot;. Finally, the &amp;quot;Trim [S:0] Before Translation&amp;quot; checkbox will remove all &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tags from the dialogue before searching for a match, ensuring that the various &amp;quot;Yes.&amp;quot;, &amp;quot;No.&amp;quot;. &amp;quot;Of Course!&amp;quot;, and &amp;quot;Open it!&amp;quot; are not translated automatically, per their vanilla quiz questions. Regardless of whether this checkbox is enabled, the final script output will not contain the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; tags. &lt;br /&gt;
&lt;br /&gt;
=== String Translation Panel ===&lt;br /&gt;
The string translation panel, on the right of this tab, is where text string translation will actually occur. &lt;br /&gt;
[[File:String Translation Panel.png|alt=Location of String Translation Panel.|center|thumb|600x600px|Location of String Translation Panel.]]&lt;br /&gt;
On the left, are English lines of text extracted from other tabs of the sheet. each column corresponds to an EU language (Spanish, French, German, Italian). At the top of each column, is a count of how many untranslated lines of dialogue are left for that language, as well as a checkbox to enable/disable each language. In the above screenshot, French dialogue will not be added to the final script, because the checkbox is enabled. In the rows themselves, are pink cells (vanilla translated text), green cells (empty), and blue cells (manual translation). Simply review each pink cell, and manually translate the English for that row for green cells so they turn blue. If a pink cell needs editing, simply copy the cell, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; it on top of itself, and it will turn blue, which is safe to edit. &lt;br /&gt;
&lt;br /&gt;
== Vanilla Translation Strings: Future-Proofing The Sheet ==&lt;br /&gt;
This tab of the sheet is used to store vanilla strings from the base game, and official Pokemon translations. These can be amended and edited as desired, to include custom strings for auto-translation, or new Pokemon name translations. &lt;br /&gt;
[[File:Vanilla Translation Strings Dialogue.png|alt=Vanilla Translation Strings Dialogue|center|thumb|600x600px|Vanilla Translation Strings Dialogue]]&lt;br /&gt;
This area above contains all relevant vanilla strings, which can be added to or amended as desired, in the green cells in these 5 columns. If a need arises to make changes to the quiz after translation, it is best to move all manually translated lines to this tab, before making any changes. Additionally, the lookup table for Pokemon species names can be modified:&lt;br /&gt;
[[File:Vanilla Translation Strings Species.png|alt=Vanilla Translation Strings Species|center|thumb|452x452px|Vanilla Translation Strings Species]]&lt;br /&gt;
On the far right of the tab, are a list of every Pokemon through Scarlet &amp;amp; Violet, and the French/German translations for each species (Spanish and Italian use English species names). These can also be amended or added to as desired. &lt;br /&gt;
&lt;br /&gt;
== Full Script Compression: It&#039;s Finally Over? ==&lt;br /&gt;
Last but not least, is the Full Script Compression Tab. This tab compiles all of the information from the other tabs, and compresses it into a copy/pastable batch of scripts for SkyTemple. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
There are a handful of settings in this upper panel. &amp;quot;White Space&amp;quot; is as it has been for every prior tab, but that&#039;s the only returning input.&lt;br /&gt;
[[File:Full Script Compression Upper Panel.png|alt=Full Script Compression Upper Panel Location.|center|thumb|600x600px|Full Script Compression Upper Panel Location.]]&lt;br /&gt;
&amp;quot;Use Full MegaScript&amp;quot; will compile the entire quiz into one script. This is only possible for English-only quizzes, and is only advised for quizzes with few questions and fewer starter choices. &amp;quot;Use Translated Scripts?&amp;quot; will use the outputs from Full Script Translation, which will be empty if the sheet is not active. Disable this checkbox for English-only quizzes. &amp;quot;Generate Unionall CORO&amp;quot; will create the unionall code needed to run the quiz, for a copy and paste replacement for the existing &amp;lt;code&amp;gt;CORO EVENT_M00A_01&amp;lt;/code&amp;gt; coroutine. The &amp;quot;Script File LEVEL Name&amp;quot; should reflect the location of the map LEVEL &amp;quot;folder&amp;quot; that the script file will actually be under. The &amp;quot;Script File SCRIPT Name&amp;quot; should become the name of the acting script itself, and should be 8 alphanumerical characters or fewer (not case-sensitive). Finally, the &amp;quot;Sector Param.&amp;quot; is the sector parameter of the &amp;lt;code&amp;gt;supervision_ExecuteActingSub();&amp;lt;/code&amp;gt; [[List of Opcodes#0x12d - supervision ExecuteActingSub|Opcode]]. Generally this should be zero, though none of these scripts internally utilize the sector parameter, should it be of interest for customization.&lt;br /&gt;
&lt;br /&gt;
=== SkyTemple Script Outputs ===&lt;br /&gt;
This portion of the sheet consists of outputs to SkyTemple. Unlike most output cells thus far, these are actually intended for use!&lt;br /&gt;
[[File:SkyTemple Script Outputs.png|alt=SkyTemple Script Outputs Location.|center|thumb|600x600px|SkyTemple Script Outputs Location.]]&lt;br /&gt;
The intended places for each of these outputs will be described in &amp;quot;Importing The Scripts To SkyTemple&amp;quot;, but when copying a script, be sure to copy all cells in the box with text.&lt;br /&gt;
&lt;br /&gt;
== Importing The Scripts To SkyTemple ==&lt;br /&gt;
Now for the fun part! Actually applying everything to SkyTemple, and seeing the quiz actually play out. This section will briefly cover installation of SkyPatches and Special Processes, though more generalized guides for these things are or will be available. First though, prior installation of StarterMenuTool will change some of these steps. &lt;br /&gt;
=== Converting From StarterMenuTool ===&lt;br /&gt;
There are very few differences between starting fresh and converting from StarterMenuTool. The differences are as follows:&lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu is Applied: Since the SkyPatch is already applied, it does not need to be applied again. It can be reapplied without issue, though it already exists in the ROM.&lt;br /&gt;
* Existing Special Processes: Older versions of &amp;lt;code&amp;gt;starter_setter&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; were added via StarterMenuTool. These may function as intended for QMT, especially &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; which has seen zero change between the two tools, but it is recommended to update them by replacing them, or to use new slots for the QMT SPs.&lt;br /&gt;
* Existing Acting Script: StarterMenuTool takes the same approach as QMT in creating a new acting scene for the quiz itself. This existing script can be repurposed into one of the QMT acting scripts, though with SkyTemple alone it cannot be renamed, meaning the script name it will be used for in the Full Script Compression Upper Panel must be renamed.&lt;br /&gt;
* Edit to Vanilla Quiz: StarterMenuTool modifies the original quiz script m00a01a.ssb. While these changes have no net impact on QMT, it would impact the debug mode, as the code to create a team from the default starters has been removed. If this functionality needs to be restored, simply add the following line after &amp;quot;if ( debug ) {&amp;quot; in m00a01a.ssb:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;switch ( ProcessSpecial(PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ, 0, 0) ) { }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Existing Unionall Edit: StarterMenuTool also requires the modification of &amp;lt;code&amp;gt;coro EVENT_M00A_01&amp;lt;/code&amp;gt;. QuizMenuTool will require this coroutine to be edited to run m00a01a in debug mode, and the QMT scripts otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Installing the SkyPatches ===&lt;br /&gt;
In order for QuizMenuTool to function, the following SkyPatches must be applied. &lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu: Gives &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; the ability to actually nickname the partner. Requires ExtraSpace as a pre-requisite.&lt;br /&gt;
* ExtractSPCode: Enables the use of custom Special Processes used heavily by QMT.&lt;br /&gt;
&lt;br /&gt;
Installing FixPartnerNameMenu is relatively simple. After downloading the file from the github repo, navigate to &amp;lt;code&amp;gt;Patches -&amp;gt; ASM&amp;lt;/code&amp;gt; in SkyTemple. Then, click the &amp;quot;Open Patch Directory&amp;quot; button.&lt;br /&gt;
[[File:InstallFixPartnerNamePatch.png|alt=The &amp;quot;Open Patch Folder&amp;quot; button is on the bottom left.|center|thumb|600x600px|The &amp;quot;Open Patch Directory&amp;quot; button is on the bottom left.]]&lt;br /&gt;
Finally, drag &amp;lt;code&amp;gt;FixPartnerName.skypatch&amp;lt;/code&amp;gt; into the folder, and close it. The patch will now be in the &amp;quot;Others&amp;quot; Tab, ready for installation. If ExtraSpace is not installed, SkyTemple will prompt the installation of both patches sequentially. This is good, do that. &lt;br /&gt;
&lt;br /&gt;
Next, is the installation of ExtractSPCode. Once again, navigate to &amp;lt;code&amp;gt;Patches-&amp;gt;ASM&amp;lt;/code&amp;gt;, and select the &amp;quot;Utility&amp;quot; tab. Install ExtractSPCode, and any necessary pre-requisites (there shouldn&#039;t be any, except maybe ExtraSpace). &lt;br /&gt;
[[File:ExtractSPCode.png|alt=ExtractSPCode Location|center|thumb|600x600px|ExtractSPCode Location]]&lt;br /&gt;
&lt;br /&gt;
=== Applying The Special Processes ===&lt;br /&gt;
Now for installing the Special Processes themselves. If the hack already has custom Special Processes it wishes to keep, or the IDs of the special processes in the sheet have been changed, apply the SPs as desired, but ensure the sheet has accurate IDs (NOT Effects), so it can call them. For simplicity, these are the default locations of each SP:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Spreadsheet Tab&lt;br /&gt;
!Spreadsheet Input Name&lt;br /&gt;
!SP File Name&lt;br /&gt;
!ID&lt;br /&gt;
!Effect&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|starter_setter SP ID&lt;br /&gt;
|starter_setter.asm&lt;br /&gt;
|64&lt;br /&gt;
|61&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|set_frame_color SP ID&lt;br /&gt;
|set_frame_color.asm&lt;br /&gt;
|65&lt;br /&gt;
|62&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|CheckTSPress SP ID&lt;br /&gt;
|CheckTSPress.asm&lt;br /&gt;
|66&lt;br /&gt;
|63&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|ReturnTSPFrames SP ID&lt;br /&gt;
|ReturnTSPFrames.asm&lt;br /&gt;
|67&lt;br /&gt;
|64&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|MoveText2TopScreen SP ID&lt;br /&gt;
|MoveText2TopScreen.asm&lt;br /&gt;
|68&lt;br /&gt;
|65&lt;br /&gt;
|-&lt;br /&gt;
|Starter Selection Generator&lt;br /&gt;
|Set_Demo_Character SP ID&lt;br /&gt;
|Set_Demo_Character.asm&lt;br /&gt;
|69&lt;br /&gt;
|66&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Generator&lt;br /&gt;
|get_favorite_config_color SP ID&lt;br /&gt;
|get_favorite_config_color.asm&lt;br /&gt;
|70&lt;br /&gt;
|67&lt;br /&gt;
|}&lt;br /&gt;
Ensure that you download the correct set of special processes for your version of the ROM (US or EU). Next, navigate to                       &amp;lt;code&amp;gt;Patches-&amp;gt;ASM-&amp;gt;Special Processes&amp;lt;/code&amp;gt;, and click the &amp;quot;Add Special Process&amp;quot; button until enough IDs are in the list for each new Special Process.&lt;br /&gt;
[[File:How2AddSpecialProcesses1.png|alt=The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.|center|thumb|600x600px|The &amp;quot;Add Special Process&amp;quot; button is at the very bottom.]]&lt;br /&gt;
The list should look like it does in the image when done. With that completed, navigate to the &amp;quot;Effects Code&amp;quot; tab. Click the &amp;quot;+&amp;quot; Button to create a new effect. Then, click the &amp;quot;Import Code&amp;quot; button at the bottom to select the special process to be imported to this effect.&lt;br /&gt;
[[File:How2AddSpecialProcesses2.png|center|thumb|600x600px|Clicking the &amp;quot;+&amp;quot; Button adds a new effect. Each new effect must have the correct .asm file imported into it, as specified in the table.]]&lt;br /&gt;
In the above image, Special Process &amp;lt;code&amp;gt;starter_setter.asm&amp;lt;/code&amp;gt; is being imported to Effect 61, which corresponds to ID 64. Similarly, &amp;lt;code&amp;gt;set_frame_color.asm&amp;lt;/code&amp;gt; should be imported to Effect 62 (ID 65), &amp;lt;code&amp;gt;CheckTSPress.asm&amp;lt;/code&amp;gt; should be imported to Effect 63, etc.&lt;br /&gt;
&lt;br /&gt;
Once all the necessary Special Processes have been imported to their effects, the last thing that needs to be done is assigning the effects to their IDs. Navigating back to the &amp;quot;Special Process Effects&amp;quot; tab, assign each effect to the correct ID, as shown below:&lt;br /&gt;
[[File:How2AddSpecialProcesses3.png|alt=Simply clicking on the effect cell will allow it to be edited.|center|thumb|600x600px|Simply clicking on the effect cell will allow it to be edited.]]&lt;br /&gt;
With that, SP importing is complete, and all that remains is to save the ROM.&lt;br /&gt;
&lt;br /&gt;
=== Creating QMT Script Files ===&lt;br /&gt;
&lt;br /&gt;
=== Pasting Scripts/Unionall From the Sheet ===&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
&lt;br /&gt;
=== QMT Script Variable Map ===&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=File:How2AddSpecialProcesses3.png&amp;diff=1191</id>
		<title>File:How2AddSpecialProcesses3.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=File:How2AddSpecialProcesses3.png&amp;diff=1191"/>
		<updated>2025-08-09T22:06:26Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Visual for installing special processes for QMT.&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=File:How2AddSpecialProcesses2.png&amp;diff=1190</id>
		<title>File:How2AddSpecialProcesses2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=File:How2AddSpecialProcesses2.png&amp;diff=1190"/>
		<updated>2025-08-09T21:56:42Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Visual for installing special processes for QMT.&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=File:How2AddSpecialProcesses1.png&amp;diff=1189</id>
		<title>File:How2AddSpecialProcesses1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=File:How2AddSpecialProcesses1.png&amp;diff=1189"/>
		<updated>2025-08-09T21:54:55Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: Happylappy uploaded a new version of File:How2AddSpecialProcesses1.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Visual for installing special processes for QMT.&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=File:How2AddSpecialProcesses1.png&amp;diff=1188</id>
		<title>File:How2AddSpecialProcesses1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=File:How2AddSpecialProcesses1.png&amp;diff=1188"/>
		<updated>2025-08-09T21:52:21Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Visual for installing special processes for QMT.&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=File:InstallFixPartnerNamePatch.png&amp;diff=1187</id>
		<title>File:InstallFixPartnerNamePatch.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=File:InstallFixPartnerNamePatch.png&amp;diff=1187"/>
		<updated>2025-08-09T21:28:26Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FixPartnerNamePatch Installation guide image.&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=File:ExtractSPCode.png&amp;diff=1186</id>
		<title>File:ExtractSPCode.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=File:ExtractSPCode.png&amp;diff=1186"/>
		<updated>2025-08-09T21:24:21Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ExtractSPCode Location&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1185</id>
		<title>QuizMenuTool Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1185"/>
		<updated>2025-08-09T20:43:21Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* Importing The Scripts To SkyTemple */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;{{SkyTempleIcon|icon=skytemple-dialog-error-symbolic}} This article is unfinished. You can help &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:{{PAGENAME}}|veaction=edit}} expanding it]&amp;lt;/span&amp;gt;.&#039;&#039;&amp;lt;hr&amp;gt;This guide explains how to use QuizMenuTool to create a custom Personality Quiz. The bulk of this guide will explain the use of the google sheets portion of the tool. A rudimentary understanding of SkyTemple scripting will be assumed, namely adding new acting scenes, and adding scenes to unionall.ssb. These topics have/will be covered in other wiki articles. &lt;br /&gt;
&lt;br /&gt;
== About QuizMenuTool ==&lt;br /&gt;
&lt;br /&gt;
=== What Is QuizMenuTool? ===&lt;br /&gt;
QuizMenuTool is a customizable ExplorerScript replica of the Explorers of Sky Personality Quiz and Starter Selection, with minimal hardcoded aspects. The original quiz was designed to consist mostly of &amp;lt;code&amp;gt;message_Menu()&amp;lt;/code&amp;gt; ASM, to make editing the personality quiz accessible without the need to learn ASM. &lt;br /&gt;
&lt;br /&gt;
=== What can QuizMenuTool do? ===&lt;br /&gt;
QuizMenuTool can modify the process of using the quiz to select a starter, expand/reduce the starter list, add/remove/modify questions from the quiz, and much more! In fact, the better question might be...&lt;br /&gt;
&lt;br /&gt;
=== What Limitations does QuizMenuTool have? ===&lt;br /&gt;
There are a few critical things QuizMenuTool was not designed to do, though many of these could be remedied in the future if enough demand exists. Here&#039;s a list of what QuizMenuTool fails to replicate from the vanilla quiz:&lt;br /&gt;
&lt;br /&gt;
* Hero/Partner Type Exclusion: In the vanilla quiz, the hero and partner are prevented from sharing a type, to encourage team balance. No   option for such a restriction has been implemented yet, though such a thing would be possible in the future, or be scripted manually for a specific hack. &lt;br /&gt;
* SwitchMenu Portraits: In the vanilla quiz, scrolling to a partner choice displays a portrait of that partner, which gradually changes in expression. This feature would require significant custom code to emulate, and is unlikely to be available for QuizMenuTool.&lt;br /&gt;
* Third Party Starter Tweaks: The original starter list is &#039;&#039;&#039;completely unused&#039;&#039;&#039; by QuizMenuTool. Changing it has no impact on the quiz. Players of a hack using QuizMenuTool will have difficulty adding their own starters to the game, though this could potentially be remedied with a special process checking the starter list against what it is expected to be, and assigning the desired starter if a mismatch is found?&lt;br /&gt;
* Incompatibility with Japanese ROMs: Currently, QuizMenuTool is designed to only work for NA and EU ROMs. while in theory a Japanese Quiz could be designed, the Special Processes are not Japanese-compatible. This could be remedied with little effort, but the tool is designed for EU/NA ROMs.&lt;br /&gt;
&lt;br /&gt;
== Who QuizMenuTool is for ==&lt;br /&gt;
If either of the below points do not apply to you, you do not need QuizMenuTool.&lt;br /&gt;
* You would like to expand (or shrink) the list of starter options in the game.&lt;br /&gt;
* You would like to keep the personality quiz in the game, or edit the quiz directly.&lt;br /&gt;
If you only want to change the size of the starter list, and do not want the personality quiz (as if the [[SkipQuiz]] patch is applied), you should instead use [https://github.com/Chesyon/StarterMenuTool StarterMenuTool], which is less powerful but requires much less work to set up.&lt;br /&gt;
&lt;br /&gt;
== Programs and Files ==&lt;br /&gt;
&lt;br /&gt;
=== Required Programs and Files ===&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1snwIq3-GHntcPTBwH-TJ5Ctk0a8l4pwXTZYwCs53dwo/edit?usp=sharing Explorers of Sky Personality Quiz Assembling Sheet]&lt;br /&gt;
* [https://github.com/HappyLappy1/EOS-QuizGenerationTool-ASM Necessary Special Processes and SkyPatches]&lt;br /&gt;
* [[SkyTemple]] &lt;br /&gt;
&lt;br /&gt;
== General Spreadsheet Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Making a Copy of the Sheet ===&lt;br /&gt;
The above link does NOT grant edit access. In order to use the sheet, a copy will need to be made as follows:&lt;br /&gt;
[[File:Copying a Spreadsheet.png|thumb|750x750px|Location of the &amp;quot;File&amp;quot; and &amp;quot;Make a Copy&amp;quot; buttons. |center]]&lt;br /&gt;
First click the &amp;quot;File&amp;quot; button on the top left. Next, &amp;quot;Make a Copy&amp;quot; of the sheet. Finally, name the copy as desired. &lt;br /&gt;
&lt;br /&gt;
=== Cell Color-Coding ===&lt;br /&gt;
Throughout the spreadsheet, most cells are color-coded. Here&#039;s a brief explanation of each color present in the sheet: &lt;br /&gt;
&lt;br /&gt;
* Green Cells are for user input. If a cell is green, it is intended to contain input data.&lt;br /&gt;
* Grey Cells contain formulas. They will update automatically, and should not be edited.&lt;br /&gt;
* Orange Cells are for user outputs. If a cell is orange, it is intended to be exported elsewhere, such as to a SkyTemple script.&lt;br /&gt;
* Cells without a color or of an unspecified color are typically safe to edit. Always check for a formula first though!&lt;br /&gt;
&lt;br /&gt;
=== Paste Values Only ===&lt;br /&gt;
This tab is the first which will require the use of &amp;quot;Paste Values&amp;quot;. When this guide specifies that a copy/paste must &amp;quot;Paste Values&amp;quot;, this means that the copied text is a formula, and the pasted text should not be a formula. &lt;br /&gt;
[[File:How To Paste Values.png|alt=Depiction of the &amp;quot;Values Only&amp;quot; button in the menu|center|thumb|600x600px|Depiction of the &amp;quot;Values Only&amp;quot; button in the menu]]&lt;br /&gt;
There are two ways to paste values, either by right-clicking the paste location and selecting &amp;quot;Paste Special&amp;quot; then &amp;quot;Values Only&amp;quot;, or by holding shift as you paste. &lt;br /&gt;
&lt;br /&gt;
== Quiz Preamble Generator: A Good First Impression! ==&lt;br /&gt;
The Quiz Preamble Generator Tab as a whole exists to create the very beginning of the quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
Most tabs in the sheet contain an upper panel of some kind, with various simple inputs and feedback on them:&lt;br /&gt;
[[File:Preamble Upper Panel.png|alt=Location of the Quiz Preamble Generator&#039;s Upper Panel.|center|thumb|750x750px|Location of the Quiz Preamble Generator&#039;s Upper Panel.]]&lt;br /&gt;
The &amp;quot;Bottom Screen&amp;quot; and &amp;quot;Top Screen&amp;quot; inputs are the map ID that should be used for that screen&#039;s background. Similarly, the Background Music Name/ID is a BGM name (or number) of the BGM that should play throughout the quiz. The &amp;quot;White Space?&amp;quot; checkbox will attempt to add indents to the output ExplorerScript lines, making the output script more human-readable.&lt;br /&gt;
&lt;br /&gt;
=== Preamble Text ===&lt;br /&gt;
This is the first of many direct inputs for ExplorerScript code. Due to the way spreadsheets store cell data, &amp;quot; &amp;quot; behave weirdly when present in the final script. Please use &#039; &#039; instead. This input is for the first set of dialogue before the questions actually begin. &lt;br /&gt;
[[File:Quiz Preamble Location.png|alt=Location of the Quiz Preamble Inputs|center|thumb|600x600px|Location of the Quiz Preamble Inputs]]&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
The orange output cell on this sheet is largely unimportant, but is present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Starter Selection Generator: Actually Adding the Starters... ==&lt;br /&gt;
This tab of the sheet is primarily for inputting data about the starters, or the personality pools they belong to. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
[[File:Starter Selection Upper Panel.png|alt=The Upper Panel for the &amp;quot;Starter Selection Generator&amp;quot; Tab|thumb|750x750px|Location of the &amp;quot;Upper Panel&amp;quot; for the &amp;quot;Starter Selection Generator&amp;quot; Tab|center]]This upper panel contains 4 inputs, 3 of which are for Special Processes pertaining to starter selection. If other Special Processes have already been added, these Special Process IDs will need to be changed to free slots. The &amp;quot;White Space?&amp;quot; checkbox is the same as before, except for this tab of the sheet. The 4 grey cells are useful statistics about the input starters: how many different pools are used by the starters, how many species are present, and how many options there are for the hero and partner. &lt;br /&gt;
&lt;br /&gt;
=== Personality Pool Input ===&lt;br /&gt;
Next, on the lower right is the nature &amp;quot;Pool&amp;quot; input. These contain the pool name, and the text that should be displayed if that pool is selected by the quiz. &lt;br /&gt;
[[File:Personality Pools Input.png|alt=Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names and descriptions go.|center|thumb|450x450px|Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names/descriptions go.]]&lt;br /&gt;
The &amp;quot;Pool Name&amp;quot; field is only used by the Question Generator Tab, and will not show up anywhere in the final script. Modify these as desired as soon as possible, as it will be difficult to do so after designing the quiz questions. &#039;&#039;&#039;For best results, ensure all pool names are unique!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Starter Species Data ===&lt;br /&gt;
The bottom left segment of the sheet is the &amp;quot;Starter Species Data&amp;quot; input. This is part of a wider table, but each segment will be discussed individually. &lt;br /&gt;
[[File:Starter Species Data Location.png|alt=Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.|center|thumb|750x750px|Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.]]&lt;br /&gt;
While some of these fields should be intuitive, A brief description of each column is as follows:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Species Name:&#039;&#039;&#039; The name of the species as you want it shown in the quiz. If the cell turns purple on entering a species name, this means the Pokémon could not be found in &#039;&#039;&#039;Vanilla Translation Strings&#039;&#039;&#039;. French and German Translations will need to be added by hand, or all strings involving the Pokémon will need to be translated manually.&lt;br /&gt;
* &#039;&#039;&#039;Species ID:&#039;&#039;&#039; The ID in SkyTemple of the Pokémon. &#039;&#039;&#039;[TODO: Explain how this is affected by ExpandPokeList]&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Gender:&#039;&#039;&#039; The gender of the Pokémon, used to set the frame color, and to add &amp;quot;♂&amp;quot; and &amp;quot;♀&amp;quot; to the hero/partner selection list. 0 is Male, 1 is Female, and 2 is Genderless.&lt;br /&gt;
* &#039;&#039;&#039;Pool ID:&#039;&#039;&#039; The number of the Pool the Pokémon should be categorized under. Each Pool that could be chosen by the Quiz should have at least one valid Pokémon, or Bulbasaur will be selected as a failsafe. &#039;&#039;&#039;If the species are not sorted by Pool ID, cells will turn red. The sheet will produce invalid labels if this table is not sorted by Pool ID!&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Start w/ Vowel:&#039;&#039;&#039; If the Pokémon should be referred to as &amp;quot;...an [Pokémon]&amp;quot;, check this box.&lt;br /&gt;
&lt;br /&gt;
=== Talk Group &amp;amp; Role Exclusion ===&lt;br /&gt;
Continuing along the table, the next two subsections are for &amp;quot;Talk Groups&amp;quot; and &amp;quot;Role Exclusion&amp;quot;. Both of these segments relate to either the hero, or the partner.&lt;br /&gt;
[[File:Talk Groups and Role Exclusion.png|alt=Location of Talk Group and Role Exclusion Inputs|center|thumb|300x300px|Location of Talk Group and Role Exclusion Inputs]]&lt;br /&gt;
In the vanilla game, the hero and partner have differing dialogue depending on their species-specific &amp;quot;Talk Group&amp;quot;. These columns are dedicated to assigning the talk group for the hero or partner if that row&#039;s species is chosen. While it handles pronouns for dialogue, especially in gendered languages, it also affects the way the partner&#039;s dialogue is written. It does the same for the hero&#039;s dialogue, but in the English localization it only affects 2 lines in the entire game (&amp;quot;Whoa&amp;quot; &amp;lt;-&amp;gt; &amp;quot;Wah&amp;quot;, &amp;quot;All right&amp;quot; &amp;lt;-&amp;gt; &amp;quot;OK&amp;quot;). This is how they are used in vanilla:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Explorers of Sky Talk Groups&lt;br /&gt;
!#&lt;br /&gt;
!Used By&lt;br /&gt;
!Notable Species&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Partner&lt;br /&gt;
|Male Squirtle/Totodile/Chimchar/Meowth/Munchlax&lt;br /&gt;
|More Masculine/&amp;quot;Rural&amp;quot; Dialogue. (Refers to self as &amp;quot;Oira&amp;quot; in Japanese) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Partner&lt;br /&gt;
|All other Male Pokémon&lt;br /&gt;
|More Masculine/&amp;quot;Boyish&amp;quot; Dialogue. (Refers to self as &amp;quot;Boku&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Partner&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|More Feminine Dialogue. (Refers to self as &amp;quot;Watashi&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Hero&lt;br /&gt;
|All Male/Genderless Pokémon&lt;br /&gt;
|Uses Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Hero&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|Uses Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;Role Exclusion&amp;quot; checkboxes blacklist the row from being an option as a hero or as a partner respectively. Certain Pokémon, particularly Meowth and Munchlax, are unable to be heroes in the vanilla game. This section is how to replicate that feature of the original quiz.&lt;br /&gt;
&lt;br /&gt;
=== Fuwarante Blacklist ===&lt;br /&gt;
Finally, on the far end of the table, is the Fuwarante Blacklist inputs. These are perhaps the most complicated portion of this tab of the sheet.[[File:Fuwarante Blacklist.png|alt=Location of the Fuwarante Blacklist|center|thumb|300x300px|Location of the Fuwarante Blacklist]]Each column corresponds to a bit of the script variable &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt;. If the matching flag is on, the starter in that row &#039;&#039;&#039;cannot&#039;&#039;&#039; be chosen. This will be elaborated on further in the &amp;quot;Question Loop Generator&amp;quot;, but this is a brief explanation of what the bits represent by default:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Bit&lt;br /&gt;
!Description/Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|If enabled, &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt; will be true, meaning the player answered that they have played Time/Darkness before.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|If enabled, the player has played EoS before, according to a custom starting question.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|If enabled, the player has participated in a Mystery Mail event before, according toa custom ending question.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|If enabled, the player claimed to be female in the final gender question. Enable for &#039;&#039;&#039;male&#039;&#039;&#039; starters.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|If enabled, the player claimed to be male in the final gender question. Enable for &#039;&#039;&#039;female&#039;&#039;&#039; starters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
Once again, the orange output cells on the far right of this sheet are largely unimportant, but are present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Question Loop Generator: Before, After, and For How Long? ==&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The upper panel of this sheet mostly consists of inputs, though the single output is a reminder of how many unique pools are used by the Starter Selection Generator. The input directly left of it is for telling the Question Loop Generator how many pools are in use, and should be changed to match the display. On the upper left of the panel, there are inputs for how many questions the game should ask the player, and how many questions will be written for the quiz to randomly choose from. In vanilla, there are 64 possible questions, and 8 will be given to the player.&lt;br /&gt;
[[File:Question Loop Generator Upper Panel.png|alt=Location of the Upper Panel of the Question Loop Generator|center|thumb|750x750px|Location of the Upper Panel of the Question Loop Generator]]&lt;br /&gt;
The bottom row consists of checkboxes to enable/disable the Custom/Standard First and Last Questions, such as the Gender Question and the Time/Darkness Question, which boosts recruit rates for certain species if you answer yes, and adds points to certain pools containing sky-exclusive Pokémon. &lt;br /&gt;
&lt;br /&gt;
=== ExplorerScript Pre/Post Quiz Questions ===&lt;br /&gt;
Room for an additional question before and after the quiz has also been made, which along with the Gender and Time/Darkness questions can be modified in the below ExplorerScript inputs:&lt;br /&gt;
[[File:Question Loop Generator ExplorerScript Inputs.png|alt=Location of the ExplorerScript Inputs|center|thumb|600x600px|Location of the ExplorerScript Inputs]]&lt;br /&gt;
These are the primary use-cases for the Fuwarante Blacklist described above. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag will be explained in further detail below. &lt;br /&gt;
&lt;br /&gt;
== Question Generator: Multiple Choice Monotony ==&lt;br /&gt;
Note: The &amp;quot;Yes.&amp;quot; and &amp;quot;No.&amp;quot; options have the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tag after them. This does functionally nothing, and exists primarily to aid in automatic string translation, as the localization teams translated the same English responses for questions differently based on context. This will be elaborated on further in &amp;quot;Full Script Translation&amp;quot;. If there are no plans to use the sheet&#039;s translation features, it is safe to remove any variants of &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt;. (instructions to do so in SkyTemple directly are present below).&lt;br /&gt;
&lt;br /&gt;
=== About Question Templates ===&lt;br /&gt;
This tab of the sheet is dedicated to the design and storage of the individual random questions in the quiz. The way this sheet works revolves   around &amp;quot;Question Templates&amp;quot; that store the question text, question number, answer text, pool ID, and points for that pool ID. Below is an example of a Question Template, and how it translates to question data: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Do you prefer to be busy or have\na lot of free time?^35 |&amp;lt;code&amp;gt;Being busy.^11^4^8^2|Free time!^9^4|In between.^12^4&amp;lt;/code&amp;gt;&lt;br /&gt;
!Question Text&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; |Question #&lt;br /&gt;
|-&lt;br /&gt;
|Do you prefer to be busy or to have a lot of free time?&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; |35&lt;br /&gt;
|-&lt;br /&gt;
!Answer Text&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
|-&lt;br /&gt;
|Being busy.&lt;br /&gt;
|11&lt;br /&gt;
|4&lt;br /&gt;
|8&lt;br /&gt;
|2&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Free time!&lt;br /&gt;
|9&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|In between.&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Question Template Input ===&lt;br /&gt;
&lt;br /&gt;
On the far left, is an input for an existing Question Template.[[File:Question Template Input.png|alt=Question Template Input Location|center|thumb|600x600px|Question Template Input Location]]The &amp;quot;Use Question Template Input&amp;quot; checkbox tells the sheet whether or not to use the Question Template provided. When writing questions entirely from scratch, disable this checkbox. When modifying existing questions, enable the checkbox, and paste in the Question Template. This will subsequently auto-fill the Question Data Inputs with the data within the template. If the auto-filled data itself needs to be altered, you will need to copy and &#039;&#039;&#039;paste values&#039;&#039;&#039; the data, then disable the checkbox.&lt;br /&gt;
&lt;br /&gt;
=== Question Data Inputs ===&lt;br /&gt;
[[File:Question Data Inputs.png|alt=Location of the Question Data Inputs Area|center|thumb|750x750px|Location of the Question Data Inputs Area]]&lt;br /&gt;
The Question Data Inputs Area should seem relatively intuitive. The question text is at the top, the answers are beneath, and up to 4 Personality Pools can gain points from each answer choice. The White Space checkbox is identical to the previous tab, and the question index is just the internal &amp;quot;ID&amp;quot; of the question. It should be incremented for each new question created, and will translate to the ID of the switch case in the final code. Note that the drop-down for the Pool Names is sourced from the Pool Names column of the Starter Selection Generator, and any changes to that list after creating the questions may lead to problems. With the current setup of the sheet, each question is limited to a maximum of 26 answer choices, but this limit is arbitrary, and can be circumvented by editing the question template manually, and pasting it in the Template List. In the event that a single question requires more than 26 choices, please ping happylappy in a support thread.&lt;br /&gt;
&lt;br /&gt;
=== Question Template Output &amp;amp; Template List ===&lt;br /&gt;
Finally, once the question is complete, a template for the question will be created in &amp;quot;Question Template Output&amp;quot;. &lt;br /&gt;
[[File:Question Template Output &amp;amp; Template List.png|alt=Location of Question Template Output &amp;amp; Template List|center|thumb|750x750px|Location of Question Template Output &amp;amp; Template List]]&lt;br /&gt;
Before moving onto the next question, copy the template output, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; in the corresponding slot on the &amp;quot;Question Template List&amp;quot;.   By default, templates for each vanilla question are already in the Question Template List, ready to be edited or modified by copying and pasting into the Question Template Input. The Script Output Column is again for debug purposes, and is read automatically by another tab of the sheet. &lt;br /&gt;
&lt;br /&gt;
== Personality Pool Selection Generator: Gerrymandering and Tie-Breaking ==&lt;br /&gt;
Once the quiz itself is completed, the points need to be tallied, so that a winning pool can be selected. The exact way that this happens in vanilla is a tad complicated, especially when it comes to breaking ties. Here are the steps that occur in vanilla:&lt;br /&gt;
&lt;br /&gt;
# Points are added to pools containing Sky-Exclusive Starters if the player has played Time/Darkness.&lt;br /&gt;
#* If Male is chosen for the gender question, +4 Points are added to Relaxed, Hasty, and Sassy. (Phanpy, Shinx, and Riolu)&lt;br /&gt;
#* If Female is chosen for the gender question, +4 Points are added to Relaxed and Jolly. (Vulpix and Eevee)&lt;br /&gt;
# The highest pool is found, and chosen.&lt;br /&gt;
#* If there is a tie, it is broken by adding a random number (0-19) to each, and rescoring the points.&lt;br /&gt;
#* If there is STILL a tie, it chooses the smallest pool it can.&lt;br /&gt;
This tab of the sheet serves to implement these two features in a customizable way.&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
About half of the upper panel is actually new this time. The &amp;quot;White Space&amp;quot; and &amp;quot;Number/# of Pools In Use&amp;quot; are unchanged, except they apply to this sheet.[[File:Pool Selection Generator Upper Panel.png|alt=Location of Pool Selection Generator Upper Panel|center|thumb|600x600px|Location of Pool Selection Generator Upper Panel]]The checkbox for &amp;quot;Do Pool Tinkering&amp;quot; enables/disables the Pool Tinkering portion of this sheet, while the &amp;quot;Maximum Tiebreaker Points&amp;quot; input determines the random value added to tied pools to decide a victor. Larger numbers result in less chance of a secondary tie, but could result in overflow for certain pools. &lt;br /&gt;
&lt;br /&gt;
=== Pool Tinkering ===&lt;br /&gt;
As stated above, the vanilla quiz favors pools with Sky-Exclusive Starters for the specified gender if they&#039;ve played Time/Darkness. Through checking the &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; flags from the &amp;quot;Question Loop Generator&amp;quot;, we can mimic this effect.&lt;br /&gt;
[[File:Pool Tinkering.png|alt=Location of Pool Tinkering Portion.|center|thumb|600x600px|Location of Pool Tinkering Portion.]]&lt;br /&gt;
On the far left, are the IDs of the two flags that should be checked (without modification, this could be 0 for &amp;quot;Time/Darkness&amp;quot;, and 3/4 for &amp;quot;Male/Female&amp;quot;). Depending on if the 1st and 2nd flags are true (1), or false (0), the selected pools (as many as needed) will gain the specified number of points. In order to accommodate for the &amp;quot;Surprise Me!&amp;quot; gender option, 2 points are given for male, 2 for &amp;quot;not male&amp;quot;, 2 for &amp;quot;female&amp;quot;, and 2 for &amp;quot;not female&amp;quot;, in order to influence every pool containing a sky-exclusive starter. (A similar process is done for the Time/Darkness exclusive starters I&#039;ve added to my example quiz, if the player has NOT played time/darkness). Up to 10 slots are present for pool tinkering, though more could be added if there is a pressing need. &lt;br /&gt;
&lt;br /&gt;
== Aura Bow Generator: Fortune Telling and Color Theory ==&lt;br /&gt;
The Aura Bow Generator serves to emulate the cinematics of the vanilla aura bow portion of the quiz. In addition to simply detecting when and for how long the player is touching the Aura Bow, the actual bow color needs to be determined! For the vanilla quiz, the process is as follows:&lt;br /&gt;
&lt;br /&gt;
* Use DS Favorite Color (75% Chance): If the DS Favorite Color is selected, the user&#039;s favorite color will match the color of the bow.&lt;br /&gt;
* Use DS Mac Address (25% Chance): If the Mac Address is selected, then &amp;lt;code&amp;gt;mac_address &amp;amp; 0xF&amp;lt;/code&amp;gt; determines the color of the bow.&lt;br /&gt;
&lt;br /&gt;
This functionality can be replicated by QuizMenuTool, and the chances can even be altered!&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The Aura Bow Generator&#039;s Upper Panel is one of the largest of every tab, though many of these inputs are similar to prior tabs of the sheet. The top left input boxes are Special Process IDs for the 4 Special Processes needed to emulate the Aura Bow portion of the quiz, and the &amp;quot;White Space?&amp;quot; Checkbox is the same as always. The &amp;quot;Aura Bow Output&amp;quot; on the top right is the final script output for this tab, unnecessary outside of debug purposes.&lt;br /&gt;
[[File:Aura Bow Generator Upper Panel.png|alt=Location of the Aura Bow Generator Upper Panel.|center|thumb|600x600px|Location of the Aura Bow Generator Upper Panel.]]&lt;br /&gt;
Beginning with the bottom left of the panel, there are 4 map LEVEL names. &amp;quot;Bottom 1&amp;quot; is for the background while touching the Aura bow, Bottom Screen 2 is for the presentation of the colored Aura Bow, and the Bottom/Top Screen 3 is the backgrounds that the script should end with, when transitioning to the starter reveal. Finally, on the bottom right of the upper panel is the &amp;quot;Touch Screen Aura Bow Object Name&amp;quot;. Per the name, this is the name or ID of the object that should be present on the bottom screen, that will animate when the player touches it. The last three digits of the object seem to vary depending on unknown factors, so be sure to verify that yours matches by inspecting this object in M00A01A with SkyTemple.&lt;br /&gt;
[[File:Aura Bow Touch Object Name.png|alt=Where to check the Aura Bow Touch Object Name in SkyTemple|center|thumb|600x600px|Where to check the Aura Bow Touch Object Name in SkyTemple]]&lt;br /&gt;
&lt;br /&gt;
=== Aura Reading Panel ===&lt;br /&gt;
Beginning on the lower left of the tab, the Aura Reading Panel consists of 3 ExplorerScript code segments, which play before the blank aura bow fades in, after the aura bow fades in, and if the player lets go of the touch screen too quickly. &lt;br /&gt;
[[File:Aura Reading Panel.png|alt=Location of the Aura Reading Panel.|center|thumb|600x600px|Location of the Aura Reading Panel.]]&lt;br /&gt;
At the very bottom of this panel, there are inputs for dialogue in all 5 languages that will play during the aura reading process. Unlike most text in the quiz, &#039;&#039;&#039;this string must be translated here&#039;&#039;&#039;, as every localization takes a different amount of time to print the dialogue. The length of time the touch screen should have been held for is calculated for each [W:X] text tag, and compared against the actual length of time the touch screen was held. Customizing this text string is possible in the box, so these calculations must be done by the sheet. If your hack is for a US ROM, or will be english-only, disable the &amp;quot;Use EU Strings&amp;quot; Checkbox. &amp;quot;Expected Text Speed (# of chars per frame)&amp;quot; should be the speed your dialogue prints at in SkyTemple. This will ensure that the actual length of the text is properly accounted for in the calculation. &amp;quot;Touch Screen Frame Tolerance&amp;quot; is a grace period for letting go of the bow. This is necessary for certain emulators, damaged touch-screens, failure to account for the dialogue box opening/closing, etc. Feel free to adjust as desired, such that the quiz is possible to complete. &lt;br /&gt;
&lt;br /&gt;
=== Bow Selection Panel ===&lt;br /&gt;
Finally, the Bow Selection Panel handles the actual selection and presentation of the Aura Bow. [[File:Bow Selection Panel.png|alt=Bow Selection Panel Location.|center|thumb|600x600px|Bow Selection Panel Location.]]The upper left of the panel is for assigning weights to the three methods for selecting a bow color: DS Favorite Color, DS MAC Address, or a custom block of code. Note that these weights &#039;&#039;&#039;must be integers&#039;&#039;&#039; or the sheet will generate invalid code. For convenience, the percent chance of each option is computed by the sheet, based on the weights and total weight. The ExplorerScript input for the custom bow selection is on the right of this panel, and on the bottom left is the flavor-text for each bow color. &lt;br /&gt;
&lt;br /&gt;
== Variable Cleanup &amp;amp; End-Cap Generator: Nearly Finished! ==&lt;br /&gt;
This tab of the sheet aims to clean up the bevy of variables used by the quiz, and prep the game for actually running. Since QMT uses a majority of the script variables the game has to function, this tab resets them all back to what they should be at the beginning of a save file, now that the quiz no longer needs them. If some part of the quiz needs to be remembered, such as the color of the aura bow, whether the player has played Time/Darkness, or the winning Quiz personality pool, that needs to be preserved in this tab. In addition, this is the tab where the starters are officially initialized, which allows them to be nicknamed. Finally, the special process for actually assigning the starters, &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;, will wipe &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; clean, replacing it with what the real quiz determined your aura bow color to be. Because the real quiz never runs during QMT, this will always be zero. As a result, the aura bow color needs to be saved somewhere besides &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;, then returned afterwards.  &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
This tab ALSO has an upper panel! The number of pools to clear should ideally match the number of pools in use. &amp;quot;White Space&amp;quot; does the same thing it has up to this point, and the far right output cell is read elsewhere, and only exists for debug purposes.&lt;br /&gt;
[[File:Variable Cleanup &amp;amp; End-Cap Upper Panel.png|alt=Variable Cleanup &amp;amp; End-Cap Upper Panel Location.|center|thumb|600x600px|Variable Cleanup &amp;amp; End-Cap Upper Panel Location.]]&lt;br /&gt;
In the center of the panel are three new checkboxes. &amp;quot;Name Partner?&amp;quot; and &amp;quot;Name Hero?&amp;quot; should be somewhat intuitive, they enable/disable the ExplorerScript inputs for naming the hero and partner respectively, which will be elaborated on below. Finally, &amp;quot;Set $VERSION to 1?&amp;quot; sets the &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt; script variable to 1 at the very end of the script. Without ASM modification, saving the game with this variable as anything besides 1 results in a &amp;quot;corrupt&amp;quot; save file. In the absence of a strong reason otherwise, this box should remain checked.&lt;br /&gt;
&lt;br /&gt;
=== Hero Name, Partner Name, &amp;amp; Closing Remarks ===&lt;br /&gt;
These ExplorerScript Inputs are for... the code used for nicknaming the partner and hero respectively, as well as the last few lines of text before the quiz truly ends.[[File:Hero-Partner-Closing Remarks Input.png|alt=Location of ExplorerScript Code Inputs.|center|thumb|600x600px|Location of ExplorerScript Code Inputs.]]Note that &amp;lt;code&amp;gt;MENU_PARTNER_NAME&amp;lt;/code&amp;gt; will not function without the dedicated SkyPatch, in the QMT github repo (linked at the top). Additionally, the menus themselves will close any active text-box the instant they are done printing, which is why the hero monologue ends with a &amp;lt;code&amp;gt;[K]&amp;lt;/code&amp;gt;. A &amp;lt;code&amp;gt;message_Close();&amp;lt;/code&amp;gt; would also suffice. Finally, the closing remarks should actually fade out the BGM and screen as desired. Feel free to optimize the fades, there is probably a more efficient way to achieve the right effect. &lt;br /&gt;
&lt;br /&gt;
=== Script Variable Preservation Panel ===&lt;br /&gt;
The Script Variable Preservation Panel serves to determine what information should be preserved after the quiz. By default, only the variables storing the personality pool counts are actually being erased, though certain configurations may require some variables to be kept, and others to be wiped in addition.[[File:Script Variable Preservation Panel.png|alt=Script Variable Preservation Panel Location.|center|thumb|600x600px|Script Variable Preservation Panel Location.]]Beginning at the top, is the &amp;quot;Variable Erasure Blacklist&amp;quot;. Based on other interactions with the sheet, the &amp;quot;Automatic Variables&amp;quot; will fill up automatically, but any script variables specified in this row will be kept as they are at the end of the quiz, and not erased. An example of a manual blacklist example might be &amp;lt;code&amp;gt;$VERSION&amp;lt;/code&amp;gt;, which doesn&#039;t need a dedicated line of code for erasure if it will ALSO be set to 1 at the end. The next row, &amp;quot;Additional Variables to Erase&amp;quot;, will be added to the list of erased variables if they are not already present. The &amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL&amp;lt;/code&amp;gt; variables should be erased in addition, as the Driftblim Gondola will interpret these variables as valid station passes to enter. Below that, is the &amp;quot;Variable Transfer Table&amp;quot;. Prior to erasing anything, variables in the &amp;quot;Old Variable Name&amp;quot; column will be moved to the &amp;quot;New Variable Name&amp;quot;. The old variable will be slated for erasure, while the new one will be spared. For convenience, the &amp;quot;Variable Meaning&amp;quot; Tab on the left will autofill one or both of these columns depending on the option you select:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable Meaning&lt;br /&gt;
!Old Variable Name&lt;br /&gt;
!New Variable Name&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Preserve&lt;br /&gt;
|&amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;$LOCAL0&amp;lt;/code&amp;gt;&lt;br /&gt;
|If this Variable Meaning is present, &amp;lt;code&amp;gt;$CONFIG_COLOR_KIND&amp;lt;/code&amp;gt; will be restored in post. It&#039;s only purpose is to prevent the quiz from wiping the variable on running  &amp;lt;code&amp;gt;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Winning Pool&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB7&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the winning Pool ID from the quiz itself. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Winning Points&lt;br /&gt;
|&amp;lt;code&amp;gt;$SCENARIO_SUB6&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the number of points the winning Pool ID had after the tie-breaking process. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Fuwarante Bit X&lt;br /&gt;
|&amp;lt;code&amp;gt;$BIT_FUWARANTE_LOCAL[X]&amp;lt;/code&amp;gt;&lt;br /&gt;
|Any&lt;br /&gt;
|These correspond directly to the FUWARANTE blacklist, and in this example is used to pass forward the Time/Darkness question to &amp;lt;code&amp;gt;$PLAY_OLD_GAME&amp;lt;/code&amp;gt;, the variable responsible for the recruitment rate buff for playing Time/Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|Direct Script Variable&lt;br /&gt;
|Any&lt;br /&gt;
|Any&lt;br /&gt;
|This is an invitation to input whatever script variables are needed, and will adjust the coloration of the row to match. &lt;br /&gt;
|}&lt;br /&gt;
A full list of script variables with their appropriate descriptions will be provided in &amp;quot;Other Resources&amp;quot;, and might prove useful for more advanced tinkering in this panel.&lt;br /&gt;
&lt;br /&gt;
== Full Script Translation: EU ROM Superiority ==&lt;br /&gt;
This tab of the sheet is dedicated to translating all lines of dialogue into Spanish, French, German, and Italian, for an EU ROM. If the hack this is for doesn&#039;t need translation, this tab can be completely skipped. One of the most essential features of a translated quiz is the ability to pre-translate the vanilla text strings from the original quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
By default, the left-most checkbox of the upper panel will &amp;quot;activate&amp;quot; this sheet for translation. This may cause lag, and will cause more lag every time a change is made on one of the prior sheets, while enabled. Only begin translating once finished with the quiz, at least in the short term. [[File:Full Script Translation Upper Panel.png|alt=Location of the Full Script Translation Upper Panel.|center|thumb|600x600px|Location of the Full Script Translation Upper Panel.]]The &amp;quot;Auto-Translate Vanilla Strings&amp;quot; check-box will automatically search for and translate exact matches to vanilla Quiz strings. Additional translations can be added in &amp;quot;Vanilla Translation Strings&amp;quot; as needed. If no exact match is found, the translation will be left blank for manual translation. &amp;quot;Auto-Translate Pokemon&amp;quot; similarly will attempt to translate exact matches for dialogue specific to the final species. For example, the English string &amp;lt;code&amp;gt;[R][CN]Will be a [CS:K]Magnemite[CR]![W:60]&amp;lt;/code&amp;gt; will be automatically translated to &amp;lt;code&amp;gt;[R][CN]wird ein [CS:K]Magnetilo[CR]![W:60&amp;lt;/code&amp;gt;] (German), based on Magnemite&#039;s German name and the phrase &amp;quot;wird ein ___!&amp;quot;. This will only occur if the checkbox is enabled, and only for Pokemon names present in &amp;quot;Vanilla Translation Strings&amp;quot;. Finally, the &amp;quot;Trim [S:0] Before Translation&amp;quot; checkbox will remove all &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; text tags from the dialogue before searching for a match, ensuring that the various &amp;quot;Yes.&amp;quot;, &amp;quot;No.&amp;quot;. &amp;quot;Of Course!&amp;quot;, and &amp;quot;Open it!&amp;quot; are not translated automatically, per their vanilla quiz questions. Regardless of whether this checkbox is enabled, the final script output will not contain the &amp;lt;code&amp;gt;[S:0]&amp;lt;/code&amp;gt; tags. &lt;br /&gt;
&lt;br /&gt;
=== String Translation Panel ===&lt;br /&gt;
The string translation panel, on the right of this tab, is where text string translation will actually occur. &lt;br /&gt;
[[File:String Translation Panel.png|alt=Location of String Translation Panel.|center|thumb|600x600px|Location of String Translation Panel.]]&lt;br /&gt;
On the left, are English lines of text extracted from other tabs of the sheet. each column corresponds to an EU language (Spanish, French, German, Italian). At the top of each column, is a count of how many untranslated lines of dialogue are left for that language, as well as a checkbox to enable/disable each language. In the above screenshot, French dialogue will not be added to the final script, because the checkbox is enabled. In the rows themselves, are pink cells (vanilla translated text), green cells (empty), and blue cells (manual translation). Simply review each pink cell, and manually translate the English for that row for green cells so they turn blue. If a pink cell needs editing, simply copy the cell, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; it on top of itself, and it will turn blue, which is safe to edit. &lt;br /&gt;
&lt;br /&gt;
== Vanilla Translation Strings: Future-Proofing The Sheet ==&lt;br /&gt;
This tab of the sheet is used to store vanilla strings from the base game, and official Pokemon translations. These can be amended and edited as desired, to include custom strings for auto-translation, or new Pokemon name translations. &lt;br /&gt;
[[File:Vanilla Translation Strings Dialogue.png|alt=Vanilla Translation Strings Dialogue|center|thumb|600x600px|Vanilla Translation Strings Dialogue]]&lt;br /&gt;
This area above contains all relevant vanilla strings, which can be added to or amended as desired, in the green cells in these 5 columns. If a need arises to make changes to the quiz after translation, it is best to move all manually translated lines to this tab, before making any changes. Additionally, the lookup table for Pokemon species names can be modified:&lt;br /&gt;
[[File:Vanilla Translation Strings Species.png|alt=Vanilla Translation Strings Species|center|thumb|452x452px|Vanilla Translation Strings Species]]&lt;br /&gt;
On the far right of the tab, are a list of every Pokemon through Scarlet &amp;amp; Violet, and the French/German translations for each species (Spanish and Italian use English species names). These can also be amended or added to as desired. &lt;br /&gt;
&lt;br /&gt;
== Full Script Compression: It&#039;s Finally Over? ==&lt;br /&gt;
Last but not least, is the Full Script Compression Tab. This tab compiles all of the information from the other tabs, and compresses it into a copy/pastable batch of scripts for SkyTemple. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
There are a handful of settings in this upper panel. &amp;quot;White Space&amp;quot; is as it has been for every prior tab, but that&#039;s the only returning input.&lt;br /&gt;
[[File:Full Script Compression Upper Panel.png|alt=Full Script Compression Upper Panel Location.|center|thumb|600x600px|Full Script Compression Upper Panel Location.]]&lt;br /&gt;
&amp;quot;Use Full MegaScript&amp;quot; will compile the entire quiz into one script. This is only possible for English-only quizzes, and is only advised for quizzes with few questions and fewer starter choices. &amp;quot;Use Translated Scripts?&amp;quot; will use the outputs from Full Script Translation, which will be empty if the sheet is not active. Disable this checkbox for English-only quizzes. &amp;quot;Generate Unionall CORO&amp;quot; will create the unionall code needed to run the quiz, for a copy and paste replacement for the existing &amp;lt;code&amp;gt;CORO EVENT_M00A_01&amp;lt;/code&amp;gt; coroutine. The &amp;quot;Script File LEVEL Name&amp;quot; should reflect the location of the map LEVEL &amp;quot;folder&amp;quot; that the script file will actually be under. The &amp;quot;Script File SCRIPT Name&amp;quot; should become the name of the acting script itself, and should be 8 alphanumerical characters or fewer (not case-sensitive). Finally, the &amp;quot;Sector Param.&amp;quot; is the sector parameter of the &amp;lt;code&amp;gt;supervision_ExecuteActingSub();&amp;lt;/code&amp;gt; [[List of Opcodes#0x12d - supervision ExecuteActingSub|Opcode]]. Generally this should be zero, though none of these scripts internally utilize the sector parameter, should it be of interest for customization.&lt;br /&gt;
&lt;br /&gt;
=== SkyTemple Script Outputs ===&lt;br /&gt;
This portion of the sheet consists of outputs to SkyTemple. Unlike most output cells thus far, these are actually intended for use!&lt;br /&gt;
[[File:SkyTemple Script Outputs.png|alt=SkyTemple Script Outputs Location.|center|thumb|600x600px|SkyTemple Script Outputs Location.]]&lt;br /&gt;
The intended places for each of these outputs will be described in &amp;quot;Importing The Scripts To SkyTemple&amp;quot;, but when copying a script, be sure to copy all cells in the box with text.&lt;br /&gt;
&lt;br /&gt;
== Importing The Scripts To SkyTemple ==&lt;br /&gt;
Now for the fun part! Actually applying everything to SkyTemple, and seeing the quiz actually play out. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Converting From StarterMenuTool ===&lt;br /&gt;
There are very few differences between starting fresh and converting from StarterMenuTool. The differences are as follows:&lt;br /&gt;
&lt;br /&gt;
* FixPartnerNameMenu is Applied: Since the SkyPatch is already applied, it does not need to be applied again. It can be reapplied without issue, though it already exists in the ROM.&lt;br /&gt;
* Existing Special Processes: Older versions of &amp;lt;code&amp;gt;starter_setter&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; were added via StarterMenuTool. These may function as intended for QMT, especially &amp;lt;code&amp;gt;set_frame_color&amp;lt;/code&amp;gt; which has seen zero change between the two tools, but it is recommended to update them by replacing them, or to use new slots for the QMT SPs.&lt;br /&gt;
* Existing Acting Script: StarterMenuTool takes the same approach as QMT in creating a new acting scene for the quiz itself. This existing script can be repurposed into one of the QMT acting scripts, though with SkyTemple alone it cannot be renamed, meaning the script name it will be used for in the Full Script Compression Upper Panel must be renamed.&lt;br /&gt;
* Edit to Vanilla Quiz: StarterMenuTool modifies the original quiz script m00a01a.ssb. While these changes have no net impact on QMT, it would impact the debug mode, as the code to create a team from the default starters has been removed. If this functionality needs to be restored, simply add the following line after &amp;quot;if ( debug ) {&amp;quot; in m00a01a.ssb:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;switch ( ProcessSpecial(PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ, 0, 0) ) { }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Existing Unionall Edit: StarterMenuTool also requires the modification of &amp;lt;code&amp;gt;coro EVENT_M00A_01&amp;lt;/code&amp;gt;. QuizMenuTool will require this coroutine to be edited to run m00a01a in debug mode, and the QMT scripts otherwise.&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
&lt;br /&gt;
=== QMT Script Variable Map ===&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=List_of_Opcodes&amp;diff=1184</id>
		<title>List of Opcodes</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=List_of_Opcodes&amp;diff=1184"/>
		<updated>2025-08-09T20:39:31Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* 0x12d - supervision_ExecuteActingSub */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The scripting engine used in Explorers of Sky has different opcodes. [[ExplorerScript]] translates most of them literally, preserving the same parameters and functionality. However, some opcodes are translated to [[ExplorerScript]] constructs, such as if statements.&lt;br /&gt;
&lt;br /&gt;
This article documents the different opcodes, their purpose and parameters. The purpose of unkX parameters is unknown.&lt;br /&gt;
&lt;br /&gt;
== What is an opcode? ==&lt;br /&gt;
An opcode is an instruction to the machine (it tells the machine to &#039;do&#039; something). In modern programming, it would be most similar to a [https://en.wikipedia.org/wiki/Function_(computer_programming) function]. For a more technical description, see [https://en.wikipedia.org/wiki/Opcode here].&lt;br /&gt;
&lt;br /&gt;
== Types of parameters ==&lt;br /&gt;
* uint: An unsigned integer (a number without decimals). It cannot be negative. It is possible that in the game&#039;s code, there are only signed integers and no unsigned integers, but not enough research has been done on the matter. For the most part, it shouldn&#039;t matter.&lt;br /&gt;
* sint: A signed integer (a number without decimals). It can be either positive or negative.&lt;br /&gt;
* bitfield: A bitfield is uint where each bits (0 or 1) are treated independantly. They are used to store multiple binary (boolean) values efficiently. Opcodes that use it usually come in the &amp;lt;code&amp;gt;Set&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Reset&amp;lt;/code&amp;gt; variant. The &amp;lt;code&amp;gt;Set&amp;lt;/code&amp;gt; variant define to true the values which are 1 in the input bitfield (while leaving the others untouched), and &amp;lt;code&amp;gt;Reset&amp;lt;/code&amp;gt; define to false the values which are 1 in the input bitfield (while also leaving the others untouched).&lt;br /&gt;
* String: Text (i.e dialogue). There should always be a quotation mark (&amp;quot;) at the beginning and end.&lt;br /&gt;
* ConstString: Same as String.&lt;br /&gt;
* Routine: Any of the 701 coroutines from [[Unionall]]. Always begins with &amp;quot;CORO_&amp;quot;&lt;br /&gt;
* Entity: An actor, performer. (not an object!)&lt;br /&gt;
* Object: An object in a scene. (not an actor or perfomer!)&lt;br /&gt;
* Level: Any level from the [[Script Engine|Level List]]. Will always begin with &amp;quot;LEVEL_&amp;quot;.&lt;br /&gt;
* Bgm: Any music in the game. Will always begin with &amp;quot;BGM_&amp;quot;. (example: BGM_CRAGGY_COAST)&lt;br /&gt;
* PositionMark: A position. Will be written as &amp;quot;Position&amp;lt;&#039;MarkName&#039;, x, y&amp;gt;&amp;quot;. Once a position mark is written in a script, SkyTemple will show an option to place it visually in the scene.&lt;br /&gt;
* Face: A portrait expression. Will always begin with &amp;quot;FACE_&amp;quot;. (examples: FACE_NORMAL, FACE_HAPPY, FACE_PAIN)&lt;br /&gt;
* FaceMode: A portrait position. Will always begin with &amp;quot;FACE_MODE_&amp;quot;.&lt;br /&gt;
* Direction: A direction for an entity to move in or turn to. Will always begin with &amp;quot;DIR_&amp;quot;. (examples: DIR_UP, DIR_RIGHT)&lt;br /&gt;
* ProcessSpecial: One of the games special processes. Can be referred to by its number, or name.&lt;br /&gt;
* Effect: A graphical effect.&lt;br /&gt;
* GameVar: Any of the game&#039;s [[List of Script Variables|Script Variables]]. Will always begin with &amp;quot;$&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Relevant Opcodes ==&lt;br /&gt;
These opcodes can be directly called from ExplorerScript.&lt;br /&gt;
&lt;br /&gt;
=== 0x0 - Null ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x1 - back_ChangeGround ===&lt;br /&gt;
Sets the Map Background from a Level without changing the chunks from the currently loaded Map Background. Entities such as actors, objects, and performers will not be deleted when this opcode is executed. &lt;br /&gt;
&lt;br /&gt;
This has very few uses in the game—a notable use is how Wigglytuff&#039;s Chamber has its door open, as seen via LEVEL_G01P04A and LEVEL_G01P04A2. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List. This opcode will pull from the Level&#039;s Map Background.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2 - back_SetBackEffect ===&lt;br /&gt;
Performs various effects related to the currently loaded Animation Palettes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|effect&lt;br /&gt;
|&lt;br /&gt;
# The default state of the Animation Palette.&lt;br /&gt;
# Plays the Animation Palette in a loop.&lt;br /&gt;
# Plays the Animation Palette once.&lt;br /&gt;
# Freezes the Animation Palette at its current frame.&lt;br /&gt;
# Resumes the Animation Palette.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3 - back_SetBackScrollOffset ===&lt;br /&gt;
Shifts the background by a certain number of pixels, without affecting entities such as actors, objects, or performers. Backgrounds used with this opcode will display a &amp;quot;loop&amp;quot; effect, i.e., it has the appearance of scrolling forever.&lt;br /&gt;
&lt;br /&gt;
This opcode seems to only work for only a few Levels, such as LEVEL_P13P01A, LEVEL_S13P06A, and LEVEL_V03P11A.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|offset0&lt;br /&gt;
|The number of pixels to shift either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 X-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 1 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level is hardcoded.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|offset1&lt;br /&gt;
|The number of pixels to shift either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 Y-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 2 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level is hardcoded.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x4 - back_SetBackScrollSpeed ===&lt;br /&gt;
Continuously scrolls the background at a certain speed, without affecting entities such as actors, objects, or performers. Backgrounds used with this opcode will display a &amp;quot;loop&amp;quot; effect, i.e., it has the appearance of scrolling forever.&lt;br /&gt;
&lt;br /&gt;
This opcode seems to only work for only a few Levels, such as LEVEL_P13P01A, LEVEL_S13P06A, and LEVEL_V03P11A.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint16&lt;br /&gt;
|speed0&lt;br /&gt;
|The speed to scroll either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 X-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 1 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint16&lt;br /&gt;
|speed1&lt;br /&gt;
|The speed to scroll either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 Y-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 2 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5 - back_SetBanner ===&lt;br /&gt;
Displays broken text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|chapter_number&lt;br /&gt;
|The chapter number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6 - back_SetBanner2 ===&lt;br /&gt;
Displays text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode is typically used for chapter introductions, which includes chapter text and a subtitle displayed over a Map Background. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|An entry in the Level List. This opcode will pull from the Level&#039;s Map Background.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown. Typically, the game uses 0 for this parameter, but it seems to have no effect.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position the camera will center the Map Background on its X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position the camera will center the Map Background on its Y-axis.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|sint&lt;br /&gt;
|chapter_number&lt;br /&gt;
|The chapter number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title of the chapter, e.g., &amp;quot;A Storm At Sea&amp;quot; for Chapter 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7 - back_SetEffect ===&lt;br /&gt;
Performs various effects related to the current Map Background&#039;s layers across a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|effect&lt;br /&gt;
|&lt;br /&gt;
* Transitions from Layer 2 to Layer 1.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Transitions from Layer 2 to Layer 1.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Transitions from Layer 1 to Layer 2.&lt;br /&gt;
* Fades out Layer 1 to total darkness.&lt;br /&gt;
* Merges Layer 1 onto Layer 2, but fades in Layer 1 from total darkness.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Merges Layer onto Layer 2, but fades out Layer 1 to total darkness.&lt;br /&gt;
* Fades out Layer 1 to total darkness.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to play a given effect.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8 - back_SetDungeonBanner ===&lt;br /&gt;
Displays a specific string using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. The text chosen is defined in Dungeons tab as a dungeon&#039;s &amp;lt;code&amp;gt;back_SetDungeonBanner&amp;lt;/code&amp;gt; string. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|dungeon_id&lt;br /&gt;
|The ID of a dungeon, as listed in the Dungeons tab of SkyTemple.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown. Does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9 - back_SetGround ===&lt;br /&gt;
Sets the Map Background from a Level. Upon using this opcode, the variable &amp;lt;code&amp;gt;$GROUND_MAP&amp;lt;/code&amp;gt; will be updated to match the ID of the chosen Level. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List. This opcode will pull from the Level&#039;s Map Background.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa - back_SetSpecialEpisodeBanner ===&lt;br /&gt;
Displays text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode is used for Special Episodes 1-3. This opcode plays a short animation of a green line shooting across the screen, followed by text scrolling across the screen horizontally from opposite directions. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|episode_number&lt;br /&gt;
|The episode number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title of the episode, e.g., &amp;quot;Bidoof&#039;s Wish&amp;quot; for Special Episode 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb - back_SetSpecialEpisodeBanner2 ===&lt;br /&gt;
Displays text using the &amp;lt;code&amp;gt;FONT/banner_c.bin:FONT/b_pal_r.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode is only used for Special Episode 4. This opcode features an elaborate animation featuring hearts and sparkles, along with text scrolling across the screen horizontally from opposite directions. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|episode_number&lt;br /&gt;
|The episode number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title of the episode, e.g., &amp;quot;Bidoof&#039;s Wish&amp;quot; for Special Episode 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc - back_SetSpecialEpisodeBanner3 ===&lt;br /&gt;
Displays text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode is only used for Special Episode 5. This opcode features no animation, but the end result is similar to the opcode &amp;lt;code&amp;gt;back_SetSpecialEpisodeBanner&amp;lt;/code&amp;gt;. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|episode_number&lt;br /&gt;
|The episode number displayed for the banner. A value of -1 will be &amp;quot;Final Chapter&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title of the episode, e.g., &amp;quot;Bidoof&#039;s Wish&amp;quot; for Special Episode 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd - back_SetTitleBanner ===&lt;br /&gt;
Displays user-defined text using the &amp;lt;code&amp;gt;FONT/banner.bin:FONT/b_pal.bin&amp;lt;/code&amp;gt; font, editable in the Misc. Graphics tab of SkyTemple. This opcode will delete any actors, objects, and performers that are currently loaded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The Y-axis pixel position of the title.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|title&lt;br /&gt;
|The title displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe - back_SetWeather ===&lt;br /&gt;
Displays a weather effect that overlays the current Map Background.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|weather_id&lt;br /&gt;
|Values of 0 and below mean no weather effect is to be displayed.&lt;br /&gt;
&lt;br /&gt;
# Dark, unmoving clouds.&lt;br /&gt;
# Dark, unmoving clouds.&lt;br /&gt;
# Clouds.&lt;br /&gt;
# No weather.&lt;br /&gt;
# Clouds.&lt;br /&gt;
# Unknown; seems to either softlock the game or drastically change the current Map Background.&lt;br /&gt;
# Fog.&lt;br /&gt;
# No weather.&lt;br /&gt;
# Unknown; does not seem to have a visible effect, but it loads something into memory.&lt;br /&gt;
# Unknown; seems to either softlock the game or drastically change the current Map Background.&lt;br /&gt;
# Purple smog.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf - back_SetWeatherEffect ===&lt;br /&gt;
Currently unknown. The only values this opcode accepts seems to be 1, 2, and 3. Its only known use is in V00P02/m01a04a.ssb, which is a test script used by the developers.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10 - back_SetWeatherScrollOffset ===&lt;br /&gt;
Currently unknown. This opcode is not used in the base game.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11 - back_SetWeatherScrollSpeed ===&lt;br /&gt;
Currently unknown. This opcode is not used in the base game.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x12 - back2_SetBackEffect ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetBackEffect&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|effect_id&lt;br /&gt;
|&lt;br /&gt;
# The default state of the Animation Palette.&lt;br /&gt;
# Plays the Animation Palette in a loop.&lt;br /&gt;
# Plays the Animation Palette once.&lt;br /&gt;
# Freezes the Animation Palette at its current frame.&lt;br /&gt;
# Resumes the Animation Palette.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x13 - back2_SetBackScrollOffset ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetBackScrollOffset&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|offset0&lt;br /&gt;
|The number of pixels to shift either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 X-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 1 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|offset1&lt;br /&gt;
|The number of pixels to shift either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 Y-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 2 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x14 - back2_SetBackScrollSpeed ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetBackScrollSpeed&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|speed0&lt;br /&gt;
|The speed to scroll either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 X-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 1 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|speed1&lt;br /&gt;
|The speed to scroll either:&lt;br /&gt;
&lt;br /&gt;
* The Map Background&#039;s Layer 1 and Layer 2 Y-axis.&lt;br /&gt;
* The Map Background&#039;s Layer 2 X-axis.&lt;br /&gt;
&lt;br /&gt;
Which one the game performs for a given Level seems to be hardcoded.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x15 - back2_SetData ===&lt;br /&gt;
Currently unknown. This opcode is not used in the base game.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x16 - back2_SetEffect ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetEffect&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|effect&lt;br /&gt;
|&lt;br /&gt;
* Transitions from Layer 2 to Layer 1.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Transitions from Layer 2 to Layer 1.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Transitions from Layer 1 to Layer 2.&lt;br /&gt;
* Fades out Layer 1 to total darkness.&lt;br /&gt;
* Merges Layer 1 onto Layer 2, but fades in Layer 1 from total darkness.&lt;br /&gt;
* Fades in Layer 1 from total darkness.&lt;br /&gt;
* Merges Layer onto Layer 2, but fades out Layer 1 to total darkness.&lt;br /&gt;
* Fades out Layer 1 to total darkness.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to play a given effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17 - back2_SetGround ===&lt;br /&gt;
Mostly the same as &amp;lt;code&amp;gt;back_SetGround&amp;lt;/code&amp;gt;, but for the Top Screen. This opcode only works if &amp;lt;code&amp;gt;back2_SetMode(4);&amp;lt;/code&amp;gt; is used prior to this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List. This opcode will pull from the Level&#039;s Map Background.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x18 - back2_SetMode ===&lt;br /&gt;
Determines a hardcoded status of the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|mode&lt;br /&gt;
|A value of 0 is no mode. A negative value seems to set the Top Screen to the overworld&#039;s current Top Screen setting.&lt;br /&gt;
&lt;br /&gt;
# Fades out the Top Screen.&lt;br /&gt;
# Team Stats.&lt;br /&gt;
# The Map Background S01P01A with the hero idling on a World Map Marker.&lt;br /&gt;
# Allows for the Top Screen to display a Map Background from a Level using the &amp;lt;code&amp;gt;back2_SetGround&amp;lt;/code&amp;gt; opcode.&lt;br /&gt;
# Splits the Map Background used in the Level defined by &amp;lt;code&amp;gt;back_SetGround&amp;lt;/code&amp;gt; equally between the Top and Touch Screen.&lt;br /&gt;
#Splits the Map Background used in the Level defined by &amp;lt;code&amp;gt;back_SetGround&amp;lt;/code&amp;gt; between the Top and Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x19 - back2_SetSpecialActing ===&lt;br /&gt;
Currently unknown.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1a - back2_SetWeather ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;back_SetWeather&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|weather_id&lt;br /&gt;
|Values of 0 and below mean no weather effect is to be displayed.&lt;br /&gt;
&lt;br /&gt;
# Dark, unmoving clouds.&lt;br /&gt;
# Dark, unmoving clouds.&lt;br /&gt;
# Clouds.&lt;br /&gt;
# No weather.&lt;br /&gt;
# Clouds.&lt;br /&gt;
# Unknown; seems to either softlock the game or drastically change the current Map Background.&lt;br /&gt;
# Fog.&lt;br /&gt;
# No weather.&lt;br /&gt;
# Unknown; does not seem to have a visible effect, but it loads something into memory.&lt;br /&gt;
# Unknown; seems to either softlock the game or drastically change the current Map Background.&lt;br /&gt;
# Purple smog.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x1b - back2_SetWeatherEffect ===&lt;br /&gt;
Currently unknown. Potentially has similar functionality as &amp;lt;code&amp;gt;back_SetWeatherEffect&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1c - back2_SetWeatherScrollOffset ===&lt;br /&gt;
Currently unknown. Potentially has similar functionality as &amp;lt;code&amp;gt;back_SetWeatherScrollOffset&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1d - back2_SetWeatherScrollSpeed ===&lt;br /&gt;
Currently unknown. Potentially has similar functionality as &amp;lt;code&amp;gt;back_SetWeatherScrollSpeed&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1e - bgm_FadeOut ===&lt;br /&gt;
Fades out the BGM that is currently playing over a certain period of time on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out and silence a given BGM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x1f - bgm_Play ===&lt;br /&gt;
Instantly plays a BGM on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A music track defined in SOUND/BGM of the ROM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x20 - bgm_PlayFadeIn ===&lt;br /&gt;
Starts playing a BGM over a certain period of time and at a certain volume on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A music track defined in SOUND/BGM of the ROM.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade in the BGM.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x21 - bgm_Stop ===&lt;br /&gt;
Instantly stops the BGM that is currently playing on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x22 - bgm_ChangeVolume ===&lt;br /&gt;
Changes the volume of the BGM that is currently playing on the first BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the BGM&#039;s volume.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x23 - bgm2_FadeOut ===&lt;br /&gt;
Fades out the BGM that is currently playing over a certain period of time on the second BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out and silence a given BGM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x24 - bgm2_Play ===&lt;br /&gt;
Instantly plays a BGM on the second BGM track.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A music track defined in SOUND/BGM of the ROM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x25 - bgm2_PlayFadeIn ===&lt;br /&gt;
Starts playing a BGM over a certain period of time and at a certain volume on the second BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A music track defined in SOUND/BGM of the ROM.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade in the BGM.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x26 - bgm2_Stop ===&lt;br /&gt;
Instantly stops the BGM that is currently playing on the second BGM track.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x27 - bgm2_ChangeVolume ===&lt;br /&gt;
Changes the volume of the BGM that is currently playing on the second BGM track.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames to change the BGM&#039;s volume.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the BGM will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x38 - CallCommon ===&lt;br /&gt;
Jumps to the specified Unionall Coroutine, runs its code, and returns to the line of code in which this opcode was used (only if &amp;lt;code&amp;gt;return;&amp;lt;/code&amp;gt; was used in the Coroutine). This opcode can be used in any script, no matter the type (Common, Enter, Acting, or Sub).&lt;br /&gt;
&lt;br /&gt;
If used in the context of an actor/object/performer, this should not be used in with-statements.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|One of the 701 possible Unionall Coroutines.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x39 - camera_Move2Default ===&lt;br /&gt;
Moves the camera toward an active Type 1 actor (e.g., ACTOR_PLAYER) without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3a - camera_Move2MyPosition ===&lt;br /&gt;
Moves the camera toward a specific entity&#039;s position (i.e., an actor, object, or performer) without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3b - camera_Move2Myself ===&lt;br /&gt;
Moves the camera toward a specific entity (i.e., an actor, object, or performer) without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3c - camera_Move2PositionMark ===&lt;br /&gt;
Moves the camera to one or more Position Marks without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3d - camera_Move2PositionMark ===&lt;br /&gt;
Moves the camera to a Position Mark without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3e - camera_Move3Default ===&lt;br /&gt;
Moves the camera toward an active Type 1 actor (e.g., ACTOR_PLAYER) in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x3f - camera_Move3MyPosition ===&lt;br /&gt;
Moves the camera toward a specific entity&#039;s position (i.e., an actor, object, or performer) in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x40 - camera_Move3Myself ===&lt;br /&gt;
Moves the camera toward a specific entity (i.e., an actor, object, or performer) in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x41 - camera_Move3PositionMark ===&lt;br /&gt;
Moves the camera to one or more Position Marks in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x42 - camera_Move3PositionMark ===&lt;br /&gt;
Moves the camera to a Position Mark without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x43 - camera_MoveDefault ===&lt;br /&gt;
Moves the camera toward an active Type 1 actor (e.g., ACTOR_PLAYER) while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x44 - camera_MoveMyPosition ===&lt;br /&gt;
Moves the camera toward a specific entity&#039;s position (i.e., an actor, object, or performer) while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x45 - camera_MoveMyself ===&lt;br /&gt;
Moves the camera toward a specific entity (i.e., an actor, object, or performer) while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x46 - camera_MovePositionMark ===&lt;br /&gt;
Moves the camera to one or more Position Marks while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x47 - camera_MovePositionMark ===&lt;br /&gt;
Moves the camera to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x48 - camera_SetDefault ===&lt;br /&gt;
Instantly sets the camera to a Type 1 actor (e.g., ACTOR_PLAYER).&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x49 - camera_SetEffect ===&lt;br /&gt;
Continuously shakes the camera at specified intensities. Entities will be affected by the camera shaking, but not textboxes and portraits. The camera will continue to shake even if it is moved using another opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Values of 0 or 3+ mean the camera will not shake.&lt;br /&gt;
&lt;br /&gt;
# Erratic, jerky shaking.&lt;br /&gt;
# Subdued, smoother shaking.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|intensity&lt;br /&gt;
|The intensity of the shake. Higher values will result in a more intense shake.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a slower speed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x4a - camera_SetMyPosition ===&lt;br /&gt;
Instantly sets the camera toward a specific entity&#039;s position (i.e., an actor, object, or performer).&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x4b - camera_SetMyself ===&lt;br /&gt;
Instantly sets the camera to a specific entity (i.e., an actor, object, or performer). Once performed, the camera will now follow the entity wherever it moves.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x4c - camera_SetPositionMark ===&lt;br /&gt;
Instantly sets the camera to a Position Mark.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x4d - camera2_Move2Default ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2Default&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x4e - camera2_Move2MyPosition ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2MyPosition&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x4f - camera2_Move2Myself ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2Myself&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x50 - camera2_Move2PositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2PositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x51 - camera2_Move2PositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move2PositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x52 - camera2_Move3Default ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3Default&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x53 - camera2_Move3MyPosition ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3MyPosition&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x54 - camera2_Move3Myself ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3Myself&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x55 - camera2_Move3PositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3PositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x56 - camera2_Move3PositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_Move3PositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Supposedly movement speed based off of similar opcodes, but does not seem to affect much.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x57 - camera2_MoveDefault ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MoveDefault&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x58 - camera2_MoveMyPosition ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MoveMyPosition&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x59 - camera2_MoveMyself ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MoveMyself&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5a - camera2_MovePositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MovePositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5b - camera2_MovePositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_MovePositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5c - camera2_SetDefault ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetDefault&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x5d - camera2_SetEffect ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetEffect&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Values of 0 or 3+ mean the camera will not shake.&lt;br /&gt;
&lt;br /&gt;
# Erratic, jerky shaking.&lt;br /&gt;
# Subdued, smoother shaking.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|intensity&lt;br /&gt;
|The intensity of the shake. Higher values will result in a more intense shake.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a slower speed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x5e - camera2_SetMyPosition ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetMyPosition&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x5f - camera2_SetMyself ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetMyself&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x60 - camera2_SetPositionMark ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;camera_SetPositionMark&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x61 - CancelCut ===&lt;br /&gt;
Reverses the effects of the opcode &amp;lt;code&amp;gt;CancelRecoverCommon&amp;lt;/code&amp;gt;, i.e., disallows the game from reloading Unionall at a Coroutine by pressing the Start button.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x62 - CancelRecoverCommon ===&lt;br /&gt;
Allows reloading Unionall at a specified Coroutine by pressing the Start button. This can be done in a cutscene and the overworld.&lt;br /&gt;
&lt;br /&gt;
Once the Start button is pressed, the game will stop the current script, fade out the entire screen, and reload Unionall and begin running code at the specified Coroutine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|One of the 701 possible Unionall Coroutines.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6a - debug_Assert ===&lt;br /&gt;
Does nothing in the final game.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6b - debug_Print ===&lt;br /&gt;
Does nothing in the final game.&lt;br /&gt;
&lt;br /&gt;
If the script is running using SkyTemple&#039;s debugger and the &amp;quot;Script Debug&amp;quot; checkbox is ticked, the specified string will be printed to the Debug Log.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ConstString&lt;br /&gt;
|txt&lt;br /&gt;
|A string to be printed to the Debug Log.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6c - debug_PrintFlag ===&lt;br /&gt;
Does nothing in the final game.&lt;br /&gt;
&lt;br /&gt;
If the script is running using SkyTemple&#039;s debugger and the &amp;quot;Script Debug&amp;quot; checkbox is ticked, the specified string will be printed to the Debug Log, along with the value of the specified script variable.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|One of the 115 possible script variables. Indexed variables are not encouraged to use, since the Debug Log will only read from the first index.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|txt&lt;br /&gt;
|A string to be printed to the Debug Log.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6d - debug_PrintScenario ===&lt;br /&gt;
If the script is running using SkyTemple&#039;s debugger and the &amp;quot;Script Debug&amp;quot; checkbox is ticked, the specified string will be printed to the Debug Log, along with two indices of the specified script variable.&lt;br /&gt;
&lt;br /&gt;
This opcode&#039;s Debug Log implementation currently seems broken, as it prints the first index of the specified variable twice.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|One of the 115 possible script variables. A two-indexed variable (e.g., &amp;lt;code&amp;gt;$SCENARIO_MAIN&amp;lt;/code&amp;gt;) is encouraged to use.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|txt&lt;br /&gt;
|A string to be printed to the Debug Log.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6f - Destroy ===&lt;br /&gt;
Instantly removes an active entity (i.e., an actor, object, or performer) from memory.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x71 - EndAnimation ===&lt;br /&gt;
Stops an actor or object&#039;s looping animation once it reaches the end of its animation frames.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x72 - ExecuteActing ===&lt;br /&gt;
Currently unknown.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x73 - ExecuteCommon ===&lt;br /&gt;
Jumps to a Unionall Coroutine, runs its code, and returns to the line in which this opcode was called. This opcode should be called if the specified Coroutine ends with &amp;lt;code&amp;gt;hold;&amp;lt;/code&amp;gt;. Typically, the base game uses this command with Coroutines whose names end with &amp;quot;FUNC_SERIES&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|One of the 701 possible Unionall Coroutines.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x81 - Flash ===&lt;br /&gt;
Zeroes-out the return address used by the &amp;lt;code&amp;gt;Return&amp;lt;/code&amp;gt; opcode. This opcode is not used in the base game.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x83 - item_GetVariable ===&lt;br /&gt;
Saves the value in a specific item slot (set by &amp;lt;code&amp;gt;item_Set&amp;lt;/code&amp;gt;) to a script variable.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|slot&lt;br /&gt;
|An item slot used by many &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|One of the indexed variables. Non-indexed values causes the IndexError.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x84 - item_Set ===&lt;br /&gt;
Sets an item into an item slot, which can be used by other various &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
&lt;br /&gt;
Items in slot 0 may also be added to the player&#039;s bag and storage with hardcoded menus, such as &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM);&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM2);&amp;lt;/code&amp;gt;, respectively. Additionally, the text tag &amp;lt;code&amp;gt;[s_item:X]&amp;lt;/code&amp;gt; will display the item&#039;s name, where X is the item slot number.&lt;br /&gt;
&lt;br /&gt;
Item slots 0-3 are safe to use, but item slots 4 and beyond will begin to overwrite other memory!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|slot&lt;br /&gt;
|An item slot used by many &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|item_id&lt;br /&gt;
|The ID of the item, where all are listed in the Items tab of SkyTemple. &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|item_stack&lt;br /&gt;
|The stack count of an item, if it belongs to a Thrown category. Treasure Boxes will also use this as the item earned when opening the box at Xatu&#039;s Appraisal.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x85 - item_SetTableData ===&lt;br /&gt;
Sets a random item from predefined tables into an item slot, which can be used by other various &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes. This opcode is used mainly in Spinda&#039;s Cafe, for redeeming a random Recycle Shop prize and for receiving items from Treasure Town NPCs after giving them Sky Gifts.&lt;br /&gt;
&lt;br /&gt;
Items in slot 0 may also be added to the player&#039;s bag and storage with hardcoded menus, such as &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM);&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM2);&amp;lt;/code&amp;gt;, respectively. Additionally, the text tag &amp;lt;code&amp;gt;[s_item:X]&amp;lt;/code&amp;gt; will display the item&#039;s name, where X is the item slot number.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|slot&lt;br /&gt;
|An item slot used by many &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|table_ID&lt;br /&gt;
|Some item tables related to Spinda&#039;s Cafe.&lt;br /&gt;
|}&lt;br /&gt;
The table IDs themselves are as follows. Values above 15 are currently unknown and untested. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!#&lt;br /&gt;
!Description&lt;br /&gt;
!#&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Sky Gift Item Pool&lt;br /&gt;
|8&lt;br /&gt;
|Silver Ticket Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Numel &amp;quot;Give&amp;quot; Item Pool&lt;br /&gt;
|9&lt;br /&gt;
|Silver Ticket Big Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Numel &amp;quot;Recieve&amp;quot; Item Pool&lt;br /&gt;
|10&lt;br /&gt;
|Gold Ticket Loss Pool&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Happiny Lost Item Pool&lt;br /&gt;
|11&lt;br /&gt;
|Gold Ticket Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Prize Ticket Loss Pool&lt;br /&gt;
|12&lt;br /&gt;
|Gold Ticket Big Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Prize Ticket Win Pool&lt;br /&gt;
|13&lt;br /&gt;
|Prism Ticket Loss Pool&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Prize Ticket Big Win Pool&lt;br /&gt;
|14&lt;br /&gt;
|Prism Ticket Win Pool&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Silver Ticket Loss Pool&lt;br /&gt;
|15&lt;br /&gt;
|Prism Ticket Big Win Pool&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x86 - item_SetVariable ===&lt;br /&gt;
Saves the value of a script variable to an item slot. Items in slot 0 may also be added to the player&#039;s bag and storage with hardcoded menus, such as &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM);&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;message_Menu(MENU_GIVE_ITEM2);&amp;lt;/code&amp;gt;, respectively. Additionally, the text tag &amp;lt;code&amp;gt;[s_item:X]&amp;lt;/code&amp;gt; will display the item&#039;s name, where X is the item slot number.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|slot&lt;br /&gt;
|An item slot used by many &amp;lt;code&amp;gt;item_&amp;lt;/code&amp;gt; opcodes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|One of the 115 possible script variables.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x88 - JumpCommon ===&lt;br /&gt;
Jumps to the specified Unionall Coroutine and runs its code, without returning to the line in which this opcode was first used. This opcode can be used in any script, no matter the type (Common, Enter, Acting, or Sub), but is mostly used by the base game in Unionall.&lt;br /&gt;
&lt;br /&gt;
If attempting to execute a Unionall Coroutine from inside an Enter, Acting, or Sub script to play Acting scripts, use &amp;lt;code&amp;gt;supervision_ExecuteCommon&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|One of the 701 possible Unionall Coroutines.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8a - LoadPosition ===&lt;br /&gt;
Sets various attributes of an entity (i.e., an actor, object, or performer) to the values of all indexed &amp;lt;code&amp;gt;$POSITION_&amp;lt;/code&amp;gt; script variables. These include changing the entity&#039;s X and Y coordinates, height, and direction.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|Index used by all &amp;lt;code&amp;gt;$POSITION_&amp;lt;/code&amp;gt; script variables, ranged from 0-2 (inclusive).&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8b - Lock ===&lt;br /&gt;
Suspends the current routine until the opcode &amp;lt;code&amp;gt;Unlock&amp;lt;/code&amp;gt; is called with the same &#039;&#039;lock_id&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|The ID of a Lock, ranged from 0-19 (inclusive).&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8c - main_EnterAdventure ===&lt;br /&gt;
Performs various functions related to entering a dungeon using the crossroads menu.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|mode&lt;br /&gt;
|Most modes are not known, but:&lt;br /&gt;
&lt;br /&gt;
* 32767 opens the dungeon selection menu.&lt;br /&gt;
* 251 stops the current script to reload Unionall starting from the Coroutine CORO_MOVE_WORLD_MAP.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8d - main_EnterDungeon ===&lt;br /&gt;
Attempts to exit ground mode and begins dungeon mode at a specific dungeon.&lt;br /&gt;
&lt;br /&gt;
If attempting to run this opcode before selecting any option from the Top Menu, the game will not enter any dungeon and instead attempt to load a DEMO Unionall coroutine or the Top Menu.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|dungeon_id&lt;br /&gt;
|The dungeon ID to enter, which are all listed in the Dungeons tab of SkyTemple. A value of -1 actually enters dungeon mode—it is insufficient to use this opcode a single time to enter a specific dungeon.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out the screens.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8e - main_EnterGround ===&lt;br /&gt;
Stops the current script to reload Unionall starting from the Coroutine CORO_EVENT_DIVIDE. This opcode also updates the following script variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt;: This opcode&#039;s &#039;&#039;level_id_enter&#039;&#039; parameter.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER_LINK&amp;lt;/code&amp;gt;: Set to 0.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_GETOUT&amp;lt;/code&amp;gt;: The value of &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt; prior to using this opcode.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_MAP&amp;lt;/code&amp;gt;: The Level ID used to display the Map Background.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_PLACE&amp;lt;/code&amp;gt;: The World Map Marker ID that determines where the player appears on the Top Screen when selecting &amp;quot;Map and team&amp;quot; in the overworld.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_START_MODE&amp;lt;/code&amp;gt;: Set to 3.&lt;br /&gt;
&lt;br /&gt;
In the base game, using this opcode allows for transitioning between Levels in the Overworld, as the game will eventually run the &amp;lt;code&amp;gt;supervision_ExecuteEnter&amp;lt;/code&amp;gt; opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List. Ideally, this opcode would load the specified Level&#039;s Enter00 script.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out the screens.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x8f - main_EnterGroundMulti ===&lt;br /&gt;
Stops the current script to reload Unionall starting from the Coroutine CORO_EVENT_DIVIDE. This opcode also updates the following script variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt;: This opcode&#039;s &#039;&#039;level_id_enter&#039;&#039; parameter.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER_LINK&amp;lt;/code&amp;gt;: This opcode&#039;s &#039;&#039;level_id_link&#039;&#039; parameter.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_GETOUT&amp;lt;/code&amp;gt;: The value of &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt; prior to using this opcode.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_MAP&amp;lt;/code&amp;gt;: The Level ID used to display the Map Background.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_PLACE&amp;lt;/code&amp;gt;: The World Map Marker ID that determines where the player appears on the Top Screen when selecting &amp;quot;Map and team&amp;quot; in the overworld.&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_START_MODE&amp;lt;/code&amp;gt;: Set to 3.&lt;br /&gt;
&lt;br /&gt;
In the base game, using this opcode allows for transitioning between Levels in the Overworld, as the game will eventually run the &amp;lt;code&amp;gt;supervision_ExecuteEnter&amp;lt;/code&amp;gt; opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id_enter&lt;br /&gt;
|An entry in the Level List. Ideally, this opcode would load the specified Level&#039;s Enter00 script.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out the screens.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Level&lt;br /&gt;
|level_id_link&lt;br /&gt;
|An entry in the Level List. Used to update &amp;lt;code&amp;gt;$GROUND_ENTER_LINK&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x90 - main_EnterRescueUser ===&lt;br /&gt;
Exits ground mode and begins dungeon mode while taking an SOS Mail. Dungeon selection seems to be determined by the SOS Mail chosen via &amp;lt;code&amp;gt;message_Menu(MENU_S_O_S_MAIL_PICKER);&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out the screens.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x91 - main_EnterTraining ===&lt;br /&gt;
Performs various functions related to entering a dungeon using Marowak Dojo.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Most modes are not known, but:&lt;br /&gt;
&lt;br /&gt;
* 32767 opens the generic dojo selection menu&lt;br /&gt;
* 251 goes to the Coroutine CORO_GOTO_TRAINING_DUNGEON, which later stops the current script to reload Unionall starting from the Coroutine CORO_ENTER_TRAINING_DUNGEON.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x92 - main_EnterTraining2 ===&lt;br /&gt;
Performs various functions related to entering a dungeon using Marowak Dojo&#039;s Final Maze.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Most modes are not known, but:&lt;br /&gt;
&lt;br /&gt;
* 32767 opens a dojo selection menu that only involves Final Maze.&lt;br /&gt;
* 251 goes to the Coroutine CORO_GOTO_TRAINING_DUNGEON, which later stops the current script to reload Unionall starting from the Coroutine CORO_ENTER_TRAINING_DUNGEON.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x93 - main_SetGround ===&lt;br /&gt;
Updates the following variables&#039; values to be this opcode&#039;s &#039;&#039;level_id&#039;&#039; parameter:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_ENTER&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;$GROUND_GETOUT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x94 - me_Play ===&lt;br /&gt;
Instantly plays a special [[sound effect]] that can seamlessly interrupt any BGM tracks that are currently playing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|me_id&lt;br /&gt;
|A sound effect defined in SOUND/ME of the ROM.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x95 - me_Stop ===&lt;br /&gt;
Instantly stops the currently-playing special [[sound effect]] called with &amp;lt;code&amp;gt;me_Play&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x96 - message_Close ===&lt;br /&gt;
Suspends the current routine and allows for closing an active textbox (and portrait, if active) set by one of the following opcodes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message_ImitationSound&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Mail&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Notice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_SpecialTalk&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By pressing the A Button, B Button, or tapping the textbox via the Touch Screen. Once the textbox is closed, the current routine resumes.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x97 - message_CloseEnforce ===&lt;br /&gt;
Instantly closes an active textbox (and portrait, if active) once the game finishes displaying a string set by one of the following opcodes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message_ImitationSound&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Mail&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Notice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_SpecialTalk&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x98 - message_Explanation ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter centered in the middle of the Touch Screen. The string will appear without any frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple). This opcode does not need &amp;lt;code&amp;gt;message_Close&amp;lt;/code&amp;gt; to suspend the routine.&lt;br /&gt;
&lt;br /&gt;
This opcode does not support displaying a portrait. No sound will emit from the text scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x99 - message_FacePositionOffset ===&lt;br /&gt;
Offsets the active portrait in pixels by multiples of 8.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|The offset to shift the portrait box across the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|The offset to shift the portrait box across the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9a - message_ImitationSound ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple).&lt;br /&gt;
&lt;br /&gt;
This opcode does not support displaying a portrait. No sound will emit from the text scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9b - message_KeyWait ===&lt;br /&gt;
If an active textbox has finished displaying its string and was created by one of the following opcodes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;message_ImitationSound&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Mail&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Notice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_SpecialTalk&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This opcode suspends the current routine until the A Button, B Button or textbox is pressed (via the Touch Screen). Once done so, the textbox will not close, but the current routine will resume.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x9c - message_Mail ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple).&lt;br /&gt;
&lt;br /&gt;
This opcode does not support displaying a portrait. No sound will emit from the text scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9d - message_Menu ===&lt;br /&gt;
Executes various hardcoded &amp;quot;menu&amp;quot; functionalities given a certain ID. Some IDs result in an actual menu, while others simply perform a silent task.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Menu&lt;br /&gt;
|menu_id&lt;br /&gt;
|The ID of a menu, the list of which can be seen by typing &amp;lt;code&amp;gt;MENU_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9e - message_Monologue ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple).&lt;br /&gt;
&lt;br /&gt;
This opcode supports displaying a portrait. No sound will emit from the text scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x9f - message_Narration ===&lt;br /&gt;
Fades in the screen and instantly displays the string defined in the &#039;&#039;txt&#039;&#039; parameter centered in the middle of the Touch Screen. The string will appear without any frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple). This opcode does not need &amp;lt;code&amp;gt;message_Close&amp;lt;/code&amp;gt; to suspend the routine. Once the routine is resumed (by pressing the A Button, B Button, or text via the Touch Screen), the screen will fade out, including the string.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade in/out the Touch Screen.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa0 - message_Notice ===&lt;br /&gt;
Instantly displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple).&lt;br /&gt;
&lt;br /&gt;
This opcode does not support displaying a portrait.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa1 - message_EmptyActor ===&lt;br /&gt;
Disallows a portrait from appearing alongside a textbox, along with disallowing a name to appear in the textbox if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0xa2 - message_ResetActor ===&lt;br /&gt;
Disallows a portrait from appearing alongside a textbox, along with setting a speech bubble (the text tag [M:T1]) to the start of next script string if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0xa3 - message_SetActor ===&lt;br /&gt;
Sets the specified actor&#039;s name to the start of the next script string if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa4 - message_SetFace ===&lt;br /&gt;
Sets the specified actor&#039;s name to the start of the next script string if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode. Will also display a portrait of the actor&#039;s species at a specified position if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt; follow this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Face&lt;br /&gt;
|face_id&lt;br /&gt;
|The ID of a portrait, the list of which can be seen by typing FACE_ in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|FaceMode&lt;br /&gt;
|face_mode&lt;br /&gt;
|The position of a portrait, the list of which can be seen by typing &amp;lt;code&amp;gt;FACE_POS_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa5 - message_SetFaceEmpty ===&lt;br /&gt;
Displays a portrait of the actor&#039;s species at a specified position if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt; follow this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Face&lt;br /&gt;
|face_id&lt;br /&gt;
|The ID of a portrait, the list of which can be seen by typing FACE_ in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|FaceMode&lt;br /&gt;
|face_mode&lt;br /&gt;
|The position of a portrait, the list of which can be seen by typing &amp;lt;code&amp;gt;FACE_POS_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa6 - message_SetFaceOnly ===&lt;br /&gt;
Sets a speech bubble (the text tag [M:T1]) to the start of the next script string if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; follows this opcode. Will also display a portrait of the actor&#039;s species at a specified position if &amp;lt;code&amp;gt;message_Talk&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;message_Monologue&amp;lt;/code&amp;gt; follow this opcode.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Face&lt;br /&gt;
|face_id&lt;br /&gt;
|The ID of a portrait, the list of which can be seen by typing FACE_ in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|FaceMode&lt;br /&gt;
|face_mode&lt;br /&gt;
|The position of a portrait, the list of which can be seen by typing &amp;lt;code&amp;gt;FACE_POS_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa7 - message_SetFacePosition ===&lt;br /&gt;
Re-positions an actor&#039;s portrait.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|FaceMode&lt;br /&gt;
|face_mode&lt;br /&gt;
|The position of a portrait, the list of which can be seen by typing &amp;lt;code&amp;gt;FACE_POS_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa8 - message_SetWaitMode ===&lt;br /&gt;
Makes strings displayed with a &amp;lt;code&amp;gt;message_&amp;lt;/code&amp;gt; opcode auto-scroll. For both parameters, a value of -1 means the auto-scroll will stop.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|duration0&lt;br /&gt;
|Sets the frame count for a textbox auto-advancing, once the end of the string has been displayed and the following opcode is &amp;lt;code&amp;gt;message_KeyWait();&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|duration1&lt;br /&gt;
|Sets the frame count for text tags such as [K] auto-advancing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xa9 - message_SpecialTalk ===&lt;br /&gt;
Displays a random Text String based off of the actor ACTOR_TALK_SUB&#039;s Talk Group.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|category&lt;br /&gt;
|A category of Text String.&lt;br /&gt;
&lt;br /&gt;
* 0 seems to use Text Strings while not in a dungeon (e.g., teammates waiting at Spinda&#039;s Cafe).&lt;br /&gt;
* 1 seems to be use Text Strings while mid-dungeon (e.g., teammates at Amp Plains).&lt;br /&gt;
|}&lt;br /&gt;
=== 0xae - message_Talk ===&lt;br /&gt;
Displays the string defined in the &#039;&#039;txt&#039;&#039; parameter at the bottom of the Touch Screen. The string will appear surrounded by a player-chosen frame defined in &amp;lt;code&amp;gt;FONT/frameX.wte&amp;lt;/code&amp;gt; (as seen in the Misc. Graphics tab of SkyTemple). &lt;br /&gt;
&lt;br /&gt;
This opcode supports displaying a portrait. The [[sound effect]] 16133 will emit from the each character scrolling in the text.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|Text to be displayed on the Touch Screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xaf - Move2Position ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a specific pixel position without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position on the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position on the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb0 - Move2PositionLives ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb1 - Move2PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to one or more Position Marks without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0xb2 - Move2PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb3 - Move2PositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x, y&lt;br /&gt;
|The pixel offset to shift the entity across the X or Y-axis.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb4 - Move2PositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel offset to shift the entity across the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel offset to shift the entity across the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb5 - Move2PositionOffsetRandom ===&lt;br /&gt;
Continuously and randomly offsets an entity (i.e., an actor, object, or performer) from its current position across both axes without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|Determines something about the random pixel value chosen to apply to the X-axis; somewhat unknown.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|Determines something about the random pixel value chosen to apply to the Y-axis; somewhat unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb6 - Move3Position ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a specific pixel position in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position on the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position on the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb7 - Move3PositionLives ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb8 - Move3PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xb9 - Move3PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xba - Move3PositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x, y&lt;br /&gt;
|The pixel offset to shift the entity across the X or Y-axis.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbb - Move3PositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel offset to shift the entity across the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel offset to shift the entity across the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbc - Move3PositionOffsetRandom ===&lt;br /&gt;
Continuously and randomly offsets an entity (i.e., an actor, object, or performer) from its current position across both axes in a rapid, strange motion.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|Determines something about the random pixel value chosen to apply to the X-axis; somewhat unknown.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|Determines something about the random pixel value chosen to apply to the Y-axis; somewhat unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbd - MoveDirection ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) by a certain number of pixels based on a given direction. Movement is performed while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|offset&lt;br /&gt;
|The pixel offset to shift the entity relative to the entity&#039;s direction.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|The type of direction, the list of which can be seen by typing &amp;lt;code&amp;gt;DIR_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbe - MoveHeight ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a certain pixel height, displacing it from its shadow. When used, the entity&#039;s animation and direction will not change.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|height&lt;br /&gt;
|The pixel height to set the entity relative to their shadow.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xbf - MovePosition ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a specific pixel position while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position on the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position on the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc0 - MovePositionLives ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc1 - MovePositionLivesTime ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor while restricting movement by eight angles—as if movement was performed using the D-Pad. Movement will end once either the entity reaches the actor or after a certain number of frames have passed—whichever comes first.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to move the entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc2 - MovePositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc3 - MovePositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc4 - MovePositionMarkTime ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad. Movement will end once either the entity reaches the Position Mark or after a certain number of frames have passed—whichever comes first.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to move the entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc5 - MovePositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x, y&lt;br /&gt;
|The pixel offset to shift the entity across the X or Y-axis.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc6 - MovePositionOffset ===&lt;br /&gt;
Offsets an entity (i.e., an actor, object, or performer) from its current position across both axes while restricting movement by eight angles—as if movement was performed using the D-Pad.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel offset to shift the entity across the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel offset to shift the entity across the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc7 - MoveSpecial ===&lt;br /&gt;
Currently unknown. Seems to move an entity (i.e., an actor, object, or performer) based on some hardcoded behaviors.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|Determines the kind of action.&lt;br /&gt;
&lt;br /&gt;
# Spin and move in a circular motion.&lt;br /&gt;
# Spin and move in a circular motion.&lt;br /&gt;
# Currently unknown.&lt;br /&gt;
# Currently unknown.&lt;br /&gt;
# Currently unknown. Seems to be the most commonly-used value, as a part of the Unionall Coroutine CORO_LIVES_REPLY_NOMRAL.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Currently unknown. Seems to affect how far the entity will move?&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc8 - MoveTurn ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) based on a certain pattern. Unlike other &amp;lt;code&amp;gt;Move&amp;lt;/code&amp;gt; opcodes, this opcode will make the entity interact with the currently loaded Map Background&#039;s collision (i.e., the entity stops when hitting a wall).&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|distance&lt;br /&gt;
|How far the entity will move. Higher values result in greater distance being covered.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
&lt;br /&gt;
This parameter also seems to affect the distance traveled.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|pattern&lt;br /&gt;
|A hardcoded pattern to move in.&lt;br /&gt;
&lt;br /&gt;
# Moves in a circle clockwise.&lt;br /&gt;
# Moves in a circle counterclockwise.&lt;br /&gt;
# Moves in a square clockwise.&lt;br /&gt;
# Moves in a square counterclockwise.&lt;br /&gt;
# Zig-zags back and forth.&lt;br /&gt;
&lt;br /&gt;
Values 6 and above seem to be variations of random movement.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xca - PauseEffect ===&lt;br /&gt;
Instantly pauses the current graphical effect of an entity (i.e., an actor, object, or performer). The effect will freeze mid-frame.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Effect&lt;br /&gt;
|effect_id&lt;br /&gt;
|A graphical effect to display relative to an entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xcc - ProcessSpecial ===&lt;br /&gt;
Executes one of the game&#039;s Special Processes. The return value of a Special Process can be checked by encasing this opcode in a &amp;lt;code&amp;gt;switch&amp;lt;/code&amp;gt; statement. A negative return value is not acceptable and will cause the game to suspend indefinitely.&lt;br /&gt;
&lt;br /&gt;
This opcode cannot be used in targeted routines.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ProcessSpecial&lt;br /&gt;
|process_id&lt;br /&gt;
|One of the game&#039;s Special Processes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|process_param1&lt;br /&gt;
|The first parameter used by the Special Process.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|process_param2&lt;br /&gt;
|The first parameter used by the Special Process.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xcd - PursueTurnLives ===&lt;br /&gt;
Causes an entity (i.e., an actor, object, or performer) to continuously turn toward an actor for a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to make the entity turn. A value of 0 will make the entity turn forever.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Turning speed. Higher values result in a slower speed.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|The actor to turn toward.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|rotation&lt;br /&gt;
|&lt;br /&gt;
# Clockwise.&lt;br /&gt;
# Counterclockwise.&lt;br /&gt;
&lt;br /&gt;
A value of 10 will make the entity choose the nearest rotation.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xce - PursueTurnLives2 ===&lt;br /&gt;
Causes an entity (i.e., an actor, object, or performer) to continuously turn toward an actor for a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
This opcode must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to make the entity turn. A value of 0 will make the entity turn forever.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Turning speed. Higher values result in a slower speed.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|The actor to turn toward.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|rotation&lt;br /&gt;
|&lt;br /&gt;
# Clockwise.&lt;br /&gt;
# Counterclockwise.&lt;br /&gt;
&lt;br /&gt;
A value of 10 will make the entity choose the nearest rotation.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xcf - ResetAttribute ===&lt;br /&gt;
Currently unknown. Seems to get ignored when parsed in the scripting engine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Currently unknown.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd0 - ResetFunctionAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;function&amp;quot; attribute to 0.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|function_bitfield&lt;br /&gt;
|Most bits&#039; purposes are unknown. Bit 1 appears to be the bit used for allowing an entity to follow a Type 1 actor, like the actor ACTOR_ATTENDANT1 in the overworld.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd1 - ResetHitAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;hit&amp;quot; attribute to 0.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|hit_bitfield&lt;br /&gt;
|Most bits&#039; purposes are unknown.&lt;br /&gt;
&lt;br /&gt;
* 2: Entity collision.&lt;br /&gt;
* 6: Talk Script upon collision.&lt;br /&gt;
* 7: Talk Script upon pressing the A Button near the entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd2 - ResetOutputAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;output&amp;quot; attribute to 0.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|output_bitfield&lt;br /&gt;
|&lt;br /&gt;
# Underlay below entities.&lt;br /&gt;
# Overlay above entities.&lt;br /&gt;
# Overlay above the current Map Background&#039;s Layer 2.&lt;br /&gt;
# Overlay above the game&#039;s canvas system, which includes the textbox, portrait, and some &amp;lt;code&amp;gt;screen_&amp;lt;/code&amp;gt; commands that do not end in &amp;lt;code&amp;gt;All&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Flicker.&lt;br /&gt;
# Transparency.&lt;br /&gt;
# Invisibility.&lt;br /&gt;
# Displays shadow.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd3 - ResetReplyAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;reply&amp;quot; attribute to 0.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|reply_bitfield&lt;br /&gt;
|Most bits&#039; purposes are unknown.&lt;br /&gt;
&lt;br /&gt;
* 1: Talk Script upon collision.&lt;br /&gt;
* 2: Talk Script upon pressing the A Button near the entity.&lt;br /&gt;
* 6: Underlay below entities.&lt;br /&gt;
* 7: Overlay above entities.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd4 - ResumeEffect ===&lt;br /&gt;
Resumes the current graphical effect of an entity (i.e., an actor, object, or performer) that has been paused with &amp;lt;code&amp;gt;PauseEffect&amp;lt;/code&amp;gt; prior to using this opcode.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Effect&lt;br /&gt;
|effect_id&lt;br /&gt;
|A graphical effect to display relative to an entity.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd6 - SavePosition ===&lt;br /&gt;
Saves various attributes of an entity (i.e., an actor, object, or performer) to the following script variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$POSITION_X&amp;lt;/code&amp;gt;: The pixel position of the entity on the X-axis multiplied by 256.&lt;br /&gt;
* &amp;lt;code&amp;gt;$POSITION_Y&amp;lt;/code&amp;gt;: The pixel position of the entity on the Y-axis multiplied by 256.&lt;br /&gt;
* &amp;lt;code&amp;gt;$POSITION_HEIGHT&amp;lt;/code&amp;gt;: The pixel height (i.e., displacement of the entity from their shadow) of the entity multiplied by 256.&lt;br /&gt;
* &amp;lt;code&amp;gt;$POSITION_DIRECTION&amp;lt;/code&amp;gt;: The direction the entity is facing.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|Index used by all &amp;lt;code&amp;gt;$POSITION_&amp;lt;/code&amp;gt; script variables, ranged from 0-2 (inclusive).&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd7 - screen_FadeChange ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and 1 is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd8 - screen_FadeChangeAll ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd9 - screen_FadeIn ===&lt;br /&gt;
Changes the brightness of the screen to its default state across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xda - screen_FadeInAll ===&lt;br /&gt;
Changes the brightness of the screen to its default state across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xdb - screen_FadeOut ===&lt;br /&gt;
Changes the brightness of the screen to its minimum (i.e., a black screen) across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xdc - screen_FadeOutAll ===&lt;br /&gt;
Changes the brightness of the screen to its minimum (i.e., a black screen) across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xdd - screen_FlushChange ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|unk4&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|unk5&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|uint&lt;br /&gt;
|unk6&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|uint&lt;br /&gt;
|unk7&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0xde - screen_FlushIn ===&lt;br /&gt;
Changes the color of the screen from a specific state (given by the opcode&#039;s parameters, which affect the Touch Screen instantly) to its default state across a certain number of frames. This opcode will affect all entities (i.e., actors, objects, and performers) on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s color.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|&lt;br /&gt;
# Completely darkens the Touch Screen.&lt;br /&gt;
# Completely turns the Touch Screen to a certain color.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with a certain color.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: 144, 144, and 255.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: 255, 192, and 128.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.&lt;br /&gt;
# Instantly overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|r&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|g&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|b&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xdf - screen_FlushOut ===&lt;br /&gt;
Changes the color of the screen across a certain number of frames. This opcode will affect all entities (i.e., actors, objects, and performers) on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s color.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|&lt;br /&gt;
# Completely darkens the Touch Screen.&lt;br /&gt;
# Completely turns the Touch Screen to a certain color.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with a certain color.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: 144, 144, and 255.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: 255, 192, and 128.&lt;br /&gt;
# Instantly darkens the Touch Screen?&lt;br /&gt;
# Overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.&lt;br /&gt;
# Instantly overlays the Touch Screen with hardcoded color bytes: All 255. The Touch Screen is not turned completely white.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|r&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|g&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|b&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe0 - screen_WhiteChange ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and 1 is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe1 - screen_WhiteChangeAll ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe2 - screen_WhiteIn ===&lt;br /&gt;
Does nothing. Do not be deceived by this opcode&#039;s name: After using &amp;lt;code&amp;gt;screen_WhiteOut&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;screen_FadeIn&amp;lt;/code&amp;gt; to restore the Touch Screen&#039;s brightness level!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe3 - screen_WhiteInAll ===&lt;br /&gt;
Does nothing. Do not be deceived by this opcode&#039;s name: After using &amp;lt;code&amp;gt;screen_WhiteOutAll&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;screen_FadeInAll&amp;lt;/code&amp;gt; to restore the Touch Screen&#039;s brightness level!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe4 - screen_WhiteOut ===&lt;br /&gt;
Changes the brightness of the screen to its maximum (i.e., a white screen) across a certain number of frames. This opcode will not affect:&lt;br /&gt;
&lt;br /&gt;
* Entities who have had their 4th &amp;quot;output&amp;quot; bit set to 1 (e.g., by using &amp;lt;code&amp;gt;SetOutputAttribute(16);&amp;lt;/code&amp;gt; with them).&lt;br /&gt;
* Portraits.&lt;br /&gt;
* Textboxes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe5 - screen_WhiteOutAll ===&lt;br /&gt;
Changes the brightness of the screen to its maximum (i.e., a white screen) across a certain number of frames. This opcode will affect everything on the Touch Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Touch Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe6 - screen2_FadeChange ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and 1 is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a black screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a white screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe7 - screen2_FadeChangeAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe8 - screen2_FadeIn ===&lt;br /&gt;
Changes the brightness of the screen to its default state across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xe9 - screen2_FadeInAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xea - screen2_FadeOut ===&lt;br /&gt;
Changes the brightness of the screen to its minimum (i.e., a black screen) across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xeb - screen2_FadeOutAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xec - screen2_FlushChange ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|unk4&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|unk5&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|uint&lt;br /&gt;
|unk6&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|uint&lt;br /&gt;
|unk7&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xed - screen2_FlushIn ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;screen_FlushIn&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s color.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|&lt;br /&gt;
# Completely darkens the Top Screen.&lt;br /&gt;
# Completely turns the Top Screen to a certain color.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with a certain color.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: 144, 144, and 255.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: 255, 192, and 128.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: All 255. The Top Screen is not turned completely white.&lt;br /&gt;
# Instantly overlays the Top Screen with hardcoded color bytes: All 255. The Top Screen is not turned completely white.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|r&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|g&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|b&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xee - screen2_FlushOut ===&lt;br /&gt;
The same as &amp;lt;code&amp;gt;screen_FlushOut&amp;lt;/code&amp;gt;, but for the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s color.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|mode&lt;br /&gt;
|&lt;br /&gt;
# Completely darkens the Top Screen.&lt;br /&gt;
# Completely turns the Top Screen to a certain color.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with a certain color.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: 144, 144, and 255.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: 255, 192, and 128.&lt;br /&gt;
# Instantly darkens the Top Screen?&lt;br /&gt;
# Overlays the Top Screen with hardcoded color bytes: All 255. The Top Screen is not turned completely white.&lt;br /&gt;
# Instantly overlays the Top Screen with hardcoded color bytes: All 255. The Top Screen is not turned completely white.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|r&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color red. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|g&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color green. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|b&lt;br /&gt;
|Unused if &#039;&#039;mode&#039;&#039; is not 2 or 4. Byte used for the color blue. Has a minimum of 0 and a maximium of 255.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xef - screen2_WhiteChange ===&lt;br /&gt;
Changes the brightness of the screen across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|start_brightness&lt;br /&gt;
|The brightness level the opcode will begin at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|end_brightness&lt;br /&gt;
|The brightness level the opcode will end at.&lt;br /&gt;
&lt;br /&gt;
* The minimum brightness is 0, which results in a white screen.&lt;br /&gt;
* The default brightness is 256.&lt;br /&gt;
* The maximum brightness is 512, which results in a black screen.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf0 - screen2_WhiteChangeAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf1 - screen2_WhiteIn ===&lt;br /&gt;
Does nothing. Do not be deceived by this opcode&#039;s name: After using &amp;lt;code&amp;gt;screen2_WhiteOut&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;screen2_FadeIn&amp;lt;/code&amp;gt; to restore the Top Screen&#039;s brightness level!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf2 - screen2_WhiteInAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf3 - screen2_WhiteOut ===&lt;br /&gt;
Changes the brightness of the screen to its maximum (i.e., a white screen) across a certain number of frames. This opcode will affect everything on the Top Screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|suspension_flag&lt;br /&gt;
|Determines whether the script will suspend until this opcode&#039;s operation is complete. 0 is false and anything else is true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the Top Screen&#039;s brightness.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf4 - screen2_WhiteOutAll ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf5 - se_ChangePan ===&lt;br /&gt;
Changes the panning of the currently-playing [[sound effect]] across a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the SE&#039;s panning.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|pan&lt;br /&gt;
|The panning of the SE. This parameter gets recalculated internally as  &amp;lt;code&amp;gt;((&#039;&#039;pan&#039;&#039; * 0x3f + ((&#039;&#039;pan&#039;&#039; * 0x3f &amp;gt;&amp;gt; 7) &amp;gt;&amp;gt; 0x18)) &amp;gt;&amp;gt; 8) + 0x40&amp;lt;/code&amp;gt;, which is eventually split up into two halfwords, then recalculated further into a signed byte.&lt;br /&gt;
What this means is that:&lt;br /&gt;
&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 260 will result in sound panning only to the right channel.&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 261 will result in sound panning only to the left channel.&lt;br /&gt;
&lt;br /&gt;
More research on this parameter may be needed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf6 - se_ChangeVolume ===&lt;br /&gt;
Changes the volume of the currently-playing [[sound effect]] across a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to change the SE&#039;s volume.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the SE will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf7 - se_FadeOut ===&lt;br /&gt;
Fades out the currently-playing [[sound effect]] across a certain number of frames.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames used to fade out and silence a given SE.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf8 - se_Play ===&lt;br /&gt;
Instantly plays a [[sound effect]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xf9 - se_PlayFull ===&lt;br /&gt;
Instantly plays a [[sound effect]] at a specified volume and panning.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the SE will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|pan&lt;br /&gt;
|The panning of the SE. This parameter gets recalculated internally as  &amp;lt;code&amp;gt;((&#039;&#039;pan&#039;&#039; * 0x3f + ((&#039;&#039;pan&#039;&#039; * 0x3f &amp;gt;&amp;gt; 7) &amp;gt;&amp;gt; 0x18)) &amp;gt;&amp;gt; 8) + 0x40&amp;lt;/code&amp;gt;, which is eventually split up into two halfwords, then recalculated further into a signed byte.&lt;br /&gt;
What this means is that:&lt;br /&gt;
&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 260 will result in sound panning only to the right channel.&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 261 will result in sound panning only to the left channel.&lt;br /&gt;
&lt;br /&gt;
More research on this parameter may be needed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfa - se_PlayPan ===&lt;br /&gt;
Instantly plays a [[sound effect]] at a specified panning.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|pan&lt;br /&gt;
|The panning of the SE. This parameter gets recalculated internally as  &amp;lt;code&amp;gt;((&#039;&#039;pan&#039;&#039; * 0x3f + ((&#039;&#039;pan&#039;&#039; * 0x3f &amp;gt;&amp;gt; 7) &amp;gt;&amp;gt; 0x18)) &amp;gt;&amp;gt; 8) + 0x40&amp;lt;/code&amp;gt;, which is eventually split up into two halfwords, then recalculated further into a signed byte.&lt;br /&gt;
What this means is that:&lt;br /&gt;
&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 260 will result in sound panning only to the right channel.&lt;br /&gt;
* A &#039;&#039;pan&#039;&#039; parameter of 261 will result in sound panning only to the left channel.&lt;br /&gt;
&lt;br /&gt;
More research on this parameter may be needed.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfb - se_PlayVolume ===&lt;br /&gt;
Instantly plays a [[sound effect]] at a specified volume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|volume&lt;br /&gt;
|The volume that the SE will play at. It has a maximum of 256 and a minimum of 0.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfc - se_Stop ===&lt;br /&gt;
Instantly stops a specified sound effect.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|A sound effect defined in SOUND/SE of the ROM. Actually encoded as &amp;lt;code&amp;gt;sound_bank_id &amp;lt;&amp;lt; 8 + sound_id&amp;lt;/code&amp;gt;, but it can also be represented as an integer.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfd - SetAnimation ===&lt;br /&gt;
Plays a sprite&#039;s animation, optionally changing its speed and animation flags.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|id&lt;br /&gt;
|Animation table index. Converted to an [[Animation ID]] for the current sprite using the [https://docs.google.com/spreadsheets/d/11xHv80Def5mtF60ZsfI1lF1eNX0dBE2It837Q08AlRk/htmlview SetAnimation table].&lt;br /&gt;
|}&lt;br /&gt;
=== 0xfe - SetAttribute ===&lt;br /&gt;
Does nothing.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
=== 0xff - SetBlink ===&lt;br /&gt;
Sets a specific entity (i.e., an actor, object, or performer) to continuously flicker in and out of view at a certain interval.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|visible_interval&lt;br /&gt;
|The number of frames to wait for while the entity is visible. &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|invisible_interval&lt;br /&gt;
|The number of frames to wait for while the entity is invisible. &lt;br /&gt;
|}&lt;br /&gt;
=== 0x100 - SetDirection ===&lt;br /&gt;
Instantly sets a specific entity (i.e., an actor, object, or performer) to a specified direction.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|The type of direction, the list of which can be seen by typing &amp;lt;code&amp;gt;DIR_&amp;lt;/code&amp;gt; in SkyTemple&#039;s Script Engine Debugger.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x101 - SetDirectionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x102 - SetEffect ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Effect&lt;br /&gt;
|effect_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|position_marker_id?&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x103 - SetFunctionAttribute ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x104 - SetHeight ===&lt;br /&gt;
Moves an actor &amp;quot;vertically&amp;quot; by distancing it from its shadow. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|number of pixels to move up or down by.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x105 - SetHitAttribute ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x106 - SetMoveRange ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|unk4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|uint&lt;br /&gt;
|unk5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x107 - SetOutputAttribute ===&lt;br /&gt;
Sets certain bits of an entity&#039;s (i.e., an actor, object, or performer) &amp;quot;output&amp;quot; attribute to 1.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|output_bitfield&lt;br /&gt;
|&lt;br /&gt;
# Underlay below entities.&lt;br /&gt;
# Overlay above entities.&lt;br /&gt;
# Overlay above the current Map Background&#039;s Layer 2.&lt;br /&gt;
# Overlay above the game&#039;s canvas system, which includes the textbox, portrait, and some &amp;lt;code&amp;gt;screen_&amp;lt;/code&amp;gt; commands that do not end in &amp;lt;code&amp;gt;All&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Flicker.&lt;br /&gt;
# Transparency.&lt;br /&gt;
# Invisibility.&lt;br /&gt;
# Displays shadow.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x108 - SetPosition ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x109 - SetPositionInitial ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x10a - SetPositionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10b - SetPositionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10c - SetPositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10d - SetPositionOffsetRandom ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10e - SetReplyAttribute ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|bitfield&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x10f - SetupOutputAttributeAndAnimation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x110 - Slide2Position ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a specific pixel position without animation. Must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|The pixel position on the X-axis.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|The pixel position on the Y-axis.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x111 - Slide2PositionLives ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to an actor without animation. Must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|actor_id&lt;br /&gt;
|The ID of the actor to move the entity to.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x112 - Slide2PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to one or more Position Marks without animation, and without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x113 - Slide2PositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark without animation, and without restricting the angles used.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed.  Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_mark&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x114 - Slide2PositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |These two parameters may be repeated multiple times&lt;br /&gt;
|-&lt;br /&gt;
|3+&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|}&lt;br /&gt;
=== 0x115 - Slide2PositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x116 - Slide2PositionOffsetRandom ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x117 - Slide3Position ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x118 - Slide3PositionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|actor_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x119 - Slide3PositionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|This parameter may be repeated multiple times&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11a - Slide3PositionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11b - Slide3PositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |These two parameters may be repeated multiple times&lt;br /&gt;
|-&lt;br /&gt;
|3+&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11c - Slide3PositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11d - Slide3PositionOffsetRandom ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11e - SlideHeight ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x11f - SlidePosition ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x120 - SlidePositionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x121 - SlidePositionLivesTime ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x122 - SlidePositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad. Unlike MovePositionMark, this will not turn the entity to face the direction they are moving in.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|The number of parameters to read from this opcode.&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
This parameter may be repeated multiple times.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x123 - SlidePositionMark ===&lt;br /&gt;
Moves an entity (i.e., an actor, object, or performer) to a Position Mark while restricting movement by eight angles—as if movement was performed using the D-Pad. Unlike MovePositionMark, this will not turn the entity to face the direction they are moving in.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|Movement speed. Higher values result in a faster speed. &lt;br /&gt;
Values starting at 32770 and above will be slower than a value of 1.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|A structure consisting of a name, X unit, and Y unit. Units are defined as 8 pixels.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x124 - SlidePositionMarkTime ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x125 - SlidePositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|num_parameters&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2+&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|This parameter may be repeated multiple times&lt;br /&gt;
|}&lt;br /&gt;
=== 0x126 - SlidePositionOffset ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|sint&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|sint&lt;br /&gt;
|y&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x127 - sound_FadeOut ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x128 - sound_Stop ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x129 - StopAnimation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x12a - supervision_Acting ===&lt;br /&gt;
Loads a sector of the Acting scene.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to load.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12b - supervision_ActingInvisible ===&lt;br /&gt;
Loads a sector of the Acting scene. Actors and objects in this sector will be invisible. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to load.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12c - supervision_ExecuteActing ===&lt;br /&gt;
Loads a specified Acting script from the specified level from within Enter/Acting/Sub scripts. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|Map LEVEL the script should be located in.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|Name of the script itself, only the first 8 characters are read.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|script_sector&lt;br /&gt;
|The &amp;quot;sector&amp;quot; of the script, and the value &amp;lt;code&amp;gt;switch(sector())&amp;lt;/code&amp;gt; will return in def 0. Often used to determine whether a cutscene should be played as a flashback or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12d - supervision_ExecuteActingSub ===&lt;br /&gt;
Loads a specified Acting script from the specified level from within Unionall.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|Map LEVEL the script should be located in.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|Name of the script itself, only the first 8 characters are read.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|script_sector&lt;br /&gt;
|The &amp;quot;sector&amp;quot; of the script, and the value &amp;lt;code&amp;gt;switch(sector())&amp;lt;/code&amp;gt; will return in def 0. Often used to determine whether a cutscene should be played as a flashback or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12e - supervision_ExecuteCommon ===&lt;br /&gt;
Loads a specified Unionall coroutine from within Enter/Acting/Sub scripts. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Routine&lt;br /&gt;
|coro_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x12f - supervision_ExecuteEnter ===&lt;br /&gt;
Loads an Enter script from the specified level. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|level_id&lt;br /&gt;
|An entry in the Level list. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x130 - supervision_ExecuteStation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x131 - supervision_ExecuteStationCommon ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x132 - supervision_ExecuteStationCommonSub ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x133 - supervision_ExecuteStationSub ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x134 - supervision_ExecuteExport ===&lt;br /&gt;
Loads a specified Acting scene of the level S00P01A&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x135 - supervision_ExecuteExportSub ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|ConstString&lt;br /&gt;
|const&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x136 - supervision_LoadStation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Level&lt;br /&gt;
|level&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|ConstString&lt;br /&gt;
|script_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x137 - supervision_Remove ===&lt;br /&gt;
Unloads a sector of the Sub scene.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to unload.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x138 - supervision_RemoveActing ===&lt;br /&gt;
Unloads a sector of the Acting scene. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to unload.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x139 - supervision_RemoveCommon ===&lt;br /&gt;
Unloads a sector of the Enter scene. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|layer_id&lt;br /&gt;
|The ID of the sector to unload.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13a - supervision_SpecialActing ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x13b - supervision_Station ===&lt;br /&gt;
Loads a sector of the Sub scene.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|station_id&lt;br /&gt;
|The ID of the sector to load.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13c - supervision_StationCommon ===&lt;br /&gt;
Loads a sector of the Enter scene.&lt;br /&gt;
&lt;br /&gt;
Can be used to call sectors of an enter scene within acting scenes!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|station_id&lt;br /&gt;
|The ID of the sector to load.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x13d - supervision_Suspend ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|sint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x13e - supervision2_SpecialActing ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x14c - Turn2Direction ===&lt;br /&gt;
Makes an actor rotate to a specified direction.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|How fast the actor turns. The higher the number, the slower the turn.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|rotationdirection&lt;br /&gt;
|The way that the actor will turn to face the specified direction. 1 = clockwise, 2 = counterclockwise, 10 = the most efficient direction to turn.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|The direction that the actor will turn to face.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x14d - Turn2DirectionLives ===&lt;br /&gt;
Makes an actor rotate to face another actor. Must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|How fast the actor turns. The higher the number, the slower the turn.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|rotationdirection&lt;br /&gt;
|The way that the actor will turn to face the specified direction. 1 = clockwise, 2 = counterclockwise, 10 = the most efficient direction to turn.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|The target actor that the actor will turn to face.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x14e - Turn2DirectionLives2 ===&lt;br /&gt;
Makes an actor rotate to face another actor. Must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|How fast the actor turns. The higher the number, the slower the turn.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|rotationdirection&lt;br /&gt;
|The way that the actor will turn to face the specified direction. 1 = clockwise, 2 = counterclockwise, 10 = the most efficient direction to turn.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|actor_id&lt;br /&gt;
|ID of the target actor from Level List that the actor will turn to face.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x14f - Turn2DirectionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|uint&lt;br /&gt;
|unk7&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x150 - Turn2DirectionTurn ===&lt;br /&gt;
Makes an actor turn at a certain angle. &lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|speed&lt;br /&gt;
|How fast the actor turns. The higher the number, the slower the turn.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|rotationdirection&lt;br /&gt;
|The way that the actor will turn to face the specified direction. 1 = clockwise, 2 = counterclockwise, 10 = the most efficient direction to turn.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|angle&lt;br /&gt;
|1: 45 degrees left, 2: 45 degrees right, 3: 90 degrees right, 4: 90 degrees left, 5: 180 degrees&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x151 - Turn3 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|unk3&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x152 - TurnDirection ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x153 - TurnDirectionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x154 - TurnDirectionLives2 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x155 - TurnDirectionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x156 - Unlock ===&lt;br /&gt;
Resumes the routine that was suspended when &amp;lt;code&amp;gt;Lock&amp;lt;/code&amp;gt; was called with the specified &#039;&#039;lock_id&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|The ID of a Lock, ranged from 0-19 (inclusive).&lt;br /&gt;
|}&lt;br /&gt;
=== 0x157 - Wait ===&lt;br /&gt;
Pauses the routine for a set number of frames. After the number of frames, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration&lt;br /&gt;
|The number of frames that the routine will wait for before resuming.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x158 - WaitAnimation ===&lt;br /&gt;
Pauses the routine until the specified actor has finished its animation. After the actor finishes its animation, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
=== 0x159 - WaitBackEffect ===&lt;br /&gt;
Pauses the current routine until [[List of Opcodes#0x2 - back SetBackEffect|back_SetBackEffect]] is called.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x15a - WaitBack2Effect ===&lt;br /&gt;
Pauses the current routine until [[List of Opcodes#0x12 - back2 SetBackEffect|back2_SetBackEffect]] is called.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x15b - WaitBgm ===&lt;br /&gt;
Pauses the current routine until the specified BGM on the first BGM track has ended. After the BGM ends, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A non-looped music track defined in SOUND/BGM of the ROM. Looped music tracks softlocks the game. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x15c - WaitBgm2 ===&lt;br /&gt;
Pauses the current routine until the specified BGM on the second BGM track has ended. After the BGM ends, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Bgm&lt;br /&gt;
|bgm_id&lt;br /&gt;
|A non-looped music track defined in SOUND/BGM of the ROM. Looped music tracks softlocks the game. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x15d - WaitBgmSignal ===&lt;br /&gt;
Pauses the routine until a DSE event with ID 0xF6 on the current BGM track is triggered. This can be used to sync certain parts of the scene to the background music.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x15e - WaitEffect ===&lt;br /&gt;
Pauses the routine until the effect on the specified actor/peformer has ended. After the effect ends, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
This opcode does not have a parameter for an entity, as it must be used in a with-statement or a targeted routine.&lt;br /&gt;
&lt;br /&gt;
=== 0x15f - WaitEndAnimation ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x160 - WaitExecuteLives ===&lt;br /&gt;
Pauses the routine until the specified actor has finished its action (Move2Position, Slide2Position, etc.). After the actor finishes its action, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|The actor that the routine will wait for.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x161 - WaitExecuteObject ===&lt;br /&gt;
Pauses the current routine until the specified object has finished its action (Move2Position, Slide2Position, etc.). After the object finishes its action, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Object&lt;br /&gt;
|object_id&lt;br /&gt;
|The ID of the object that the routine will wait for.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x162 - WaitExecutePerformer ===&lt;br /&gt;
Pauses the current routine until the specified performer has finished its current action (Move2Position, Slide2Position, etc.) After the performer has finished its action, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|performer_id&lt;br /&gt;
|The ID of the performer that the routine will wait for.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x163 - WaitFadeIn ===&lt;br /&gt;
Pauses the current routine and waits for the screen to fade in. After the screen fades in, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x164 - WaitLockLives ===&lt;br /&gt;
Pauses the current routine until a [[List of Opcodes#0x8b - Lock|Lock]] opcode with the specified &#039;&#039;lock_id&#039;&#039; is reached in the specified actor&#039;s targeted routine. After the lock is reached, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Entity&lt;br /&gt;
|actor&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x165 - WaitLockObject ===&lt;br /&gt;
Pauses the current routine until a [[List of Opcodes#0x8b - Lock|Lock]] opcode with the specified &#039;&#039;lock_id&#039;&#039; is reached in the specified object&#039;s targeted routine. After the lock is reached, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Object&lt;br /&gt;
|object&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x166 - WaitLockPerformer ===&lt;br /&gt;
Pauses the current routine until a [[List of Opcodes#0x8b - Lock|Lock]] opcode with the specified &#039;&#039;lock_id&#039;&#039; is reached in the specified performer&#039;s targeted routine. After the lock is reached, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|performer&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x167 - WaitLockSupervision ===&lt;br /&gt;
Pauses the current routine until a [[List of Opcodes#0x8b - Lock|Lock]] opcode with the specified &#039;&#039;lock_id&#039;&#039; is reached in &amp;lt;code&amp;gt;def 0&amp;lt;/code&amp;gt;. After the lock is reached, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|lock_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x168 - WaitMe ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x169 - WaitMoveCamera ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16a - WaitMoveCamera2 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16b - WaitRandom ===&lt;br /&gt;
Pauses the routine for a random number of frames. After the number of frames, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|duration_min&lt;br /&gt;
|Minimum number of frames that the routine will wait for before resuming.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|duration_max&lt;br /&gt;
|Maximum number of frames that the routine will wait for before resuming.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x16c - WaitScreenFade ===&lt;br /&gt;
Waits until screen_FadeIn finishes executing. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16d - WaitScreenFadeAll ===&lt;br /&gt;
Waits until screen_FadeInAll finishes executing. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16e - WaitScreen2Fade ===&lt;br /&gt;
Waits until screen2_FadeIn finishes executing. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x16f - WaitSe ===&lt;br /&gt;
Pauses the current routine until the specified sound effect has ended. After the sound effect ends, the routine will resume.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|se_id&lt;br /&gt;
|The ID of the sound to wait for the end of before resuming the routine.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x170 - WaitSpecialActing ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x171 - WaitSubScreen ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x172 - WaitSubSpecialActing ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x173 - worldmap_BlinkMark ===&lt;br /&gt;
Shows a blinking world map marker. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x174 - worldmap_ChangeLevel ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x175 - worldmap_DeleteArrow ===&lt;br /&gt;
Remove the yellow arrow from the world map. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x176 - worldmap_MoveCamera ===&lt;br /&gt;
Moves the camera to the specified world map marker. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x177 - worldmap_OffMessage ===&lt;br /&gt;
Removes a textbox with the world map marker&#039;s name from the Top Screen&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
&lt;br /&gt;
=== 0x178 - worldmap_SetArrow ===&lt;br /&gt;
Shows an arrow pointing to a specified world map marker&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x179 - worldmap_SetCamera ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17a - worldmap_SetLevel ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17b - worldmap_SetMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17c - worldmap_SetMessage ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x17d - worldmap_SetMessagePlace ===&lt;br /&gt;
Shows a textbox on the Top Screen with the specified world map marker&#039;s name. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|world_map_marker_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0x17e - worldmap_SetMode ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Opcodes ==&lt;br /&gt;
These opcodes cannot be directly called from ExplorerScript, since they are represented as higher-level constructs.&lt;br /&gt;
&lt;br /&gt;
=== 0x28 - Branch ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x29 - BranchBit ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2a - BranchDebug ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|param&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2b - BranchEdit ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|param&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2c - BranchExecuteSub ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2d - BranchPerformance ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2e - BranchScenarioNow ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x2f - BranchScenarioNowAfter ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x30 - BranchScenarioNowBefore ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x31 - BranchScenarioAfter ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x32 - BranchScenarioBefore ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x33 - BranchSum ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x34 - BranchValue ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x35 - BranchVariable ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|GameVar&lt;br /&gt;
|cmp_var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x36 - BranchVariation ===&lt;br /&gt;
Used for demo cutscenes.&lt;br /&gt;
&lt;br /&gt;
Jumps to the specified address if the first parameter is 0. On the demo version of the game, jumps if the first parameter is 3.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|param&lt;br /&gt;
|Unknown. Always 3.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|Address to jump to.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x37 - Call ===&lt;br /&gt;
Jumps to the specified address, runs code, and returns to the line of code in which this opcode was used (only if &amp;lt;code&amp;gt;return;&amp;lt;/code&amp;gt; was used in the routine this opcode calls). Only one call can be stored at a time!&lt;br /&gt;
&lt;br /&gt;
Use within macros is ill-advised, as using &amp;lt;code&amp;gt;return;&amp;lt;/code&amp;gt; within a macro will just end the macro!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|The address to call, e.g., &amp;lt;code&amp;gt;call @label_0;&amp;lt;/code&amp;gt; if &amp;lt;code&amp;gt;§label_0;&amp;lt;/code&amp;gt; is defined in the script.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x63 - Case ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x64 - CaseMenu ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|choice&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x65 - CaseMenu2 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint?&lt;br /&gt;
|choice?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x66 - CaseScenario ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x67 - CaseText ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|String&lt;br /&gt;
|display&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x68 - CaseValue ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x69 - CaseVariable ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x6e - DefaultText ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|String&lt;br /&gt;
|txt&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x70 - End ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x74 - flag_CalcBit ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x75 - flag_CalcValue ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|calc_operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x76 - flag_CalcVariable ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|calc_operator&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|GameVar&lt;br /&gt;
|var_to_set_from&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x77 - flag_Clear ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x78 - flag_Initial ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x79 - flag_Set ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7a - flag_ResetDungeonResult ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x7b - flag_ResetScenario ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7c - flag_SetAdventureLog ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7d - flag_SetDungeonMode ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|dungeon_id&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|DungeonMode&lt;br /&gt;
|dungen_mode&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7e - flag_SetDungeonResult ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x7f - flag_SetPerformance ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|index&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x80 - flag_SetScenario ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|scenario_value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|level_value&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x82 - Hold ===&lt;br /&gt;
Will stall a script forever.&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x87 - Jump ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|jump_address&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x89 - lives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0xaa - message_SwitchMenu ===&lt;br /&gt;
Enclose within a switch case, and generates a dialogue prompt with the options present in subsequent &amp;quot;case menu(&amp;quot;text&amp;quot;):&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|cancel&lt;br /&gt;
|If player can use the B button to back out of a menu. 0 for false, 1 for true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|init&lt;br /&gt;
|Entry number to start the cursor at, starting at 1&lt;br /&gt;
|}&lt;br /&gt;
=== 0xab - message_SwitchMenu2 ===&lt;br /&gt;
Same as message_SwitchMenu, but it also takes an argument for a bitfield, and will only display dialogue options for which the corresponding bit is enabled (set to 1).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|cancel&lt;br /&gt;
|If player can use the B button to back out of a menu. 0 for false, 1 for true.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|init&lt;br /&gt;
|Entry number to start the cursor at, starting at 1&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|Bitfield $VAR&lt;br /&gt;
|}&lt;br /&gt;
=== 0xac - message_SwitchMonologue ===&lt;br /&gt;
Structured similarly to a switch statement. Typically uses &amp;lt;code&amp;gt;$HERO_TALK_KIND&amp;lt;/code&amp;gt; as an argument, and uses multiple cases to display certain dialogue strings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 4:&amp;lt;/code&amp;gt; used when the player is male or genderless&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 5:&amp;lt;/code&amp;gt; used when the player is female&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;default:&amp;lt;/code&amp;gt; used when &amp;lt;code&amp;gt;$HERO_TALK_KIND&amp;lt;/code&amp;gt;&#039;s Talk Group has a value other than 4 or 5&lt;br /&gt;
&lt;br /&gt;
This opcode supports displaying a portrait. No sound effect is used when text is scrolling.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&amp;lt;code&amp;gt;$x_TALK_KIND&amp;lt;/code&amp;gt;, contains Talk Group number&lt;br /&gt;
|}&lt;br /&gt;
=== 0xad - message_SwitchTalk ===&lt;br /&gt;
Same as _SwitchMonologue, but typically uses &amp;lt;code&amp;gt;$PARTNER_TALK_KIND&amp;lt;/code&amp;gt; as an argument, and the cases used vary.&lt;br /&gt;
&lt;br /&gt;
Of the vanilla game partner options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 1:&amp;lt;/code&amp;gt; used if Squirtle, Tododile, Chimchar, Meowth, or Munchlax&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 2:&amp;lt;/code&amp;gt; used for all other male partners&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;case 3:&amp;lt;/code&amp;gt; used for all female partners&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;default:&amp;lt;/code&amp;gt; used when &amp;lt;code&amp;gt;$PARTNER_TALK_KIND&amp;lt;/code&amp;gt;&#039;s Talk Group has a value other than 1, 2, or 3&lt;br /&gt;
&lt;br /&gt;
This opcode supports displaying a portrait. The [[sound effect]] 16133 will emit from the each character scrolling in the text.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&amp;lt;code&amp;gt;$x_TALK_KIND&amp;lt;/code&amp;gt;, contains Talk Group number&lt;br /&gt;
|}&lt;br /&gt;
=== 0xc9 - object ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Object&lt;br /&gt;
|object_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0xcb - performer ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|performer_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0xd5 - Return ===&lt;br /&gt;
If run from within a macro, ends the macro.&lt;br /&gt;
&lt;br /&gt;
If run after the &amp;quot;call&amp;quot; opcode was used, will return to the address of the call opcode.&lt;br /&gt;
&lt;br /&gt;
If used within a script, ends the script. &lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x13f - Switch ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x140 - SwitchDirection ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Direction&lt;br /&gt;
|direction&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x141 - SwitchDirectionLives ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x142 - SwitchDirectionLives2 ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|unk0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x143 - SwitchDirectionMark ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PositionMark&lt;br /&gt;
|pos_marker&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x144 - SwitchDungeonMode ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|dungeon_id&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x145 - SwitchLives ===&lt;br /&gt;
If inside a Switch Case, take the case equal to the species ID of the specified Actor!&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Entity&lt;br /&gt;
|actor_id&lt;br /&gt;
|An entry in the Actor List.&lt;br /&gt;
|}&lt;br /&gt;
=== 0x146 - SwitchRandom ===&lt;br /&gt;
To be used in a switch statement. Will switch to a case of a random number below the specified integer.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|uint&lt;br /&gt;
|max_value&lt;br /&gt;
|Largest random output, plus 1&lt;br /&gt;
|}&lt;br /&gt;
=== 0x147 - SwitchScenario ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x148 - SwitchScenarioLevel ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x149 - SwitchSector ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No parameters.&lt;br /&gt;
=== 0x14a - SwitchValue ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
=== 0x14b - SwitchVariable ===&lt;br /&gt;
&amp;lt;TO DO: Opcode description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Parameters&lt;br /&gt;
|-&lt;br /&gt;
!#&lt;br /&gt;
!Type&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|GameVar&lt;br /&gt;
|var&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|uint&lt;br /&gt;
|unk1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|uint&lt;br /&gt;
|unk2&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{{NavScriptTerms}}&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=Talk:Frequently_Asked_Questions&amp;diff=1183</id>
		<title>Talk:Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=Talk:Frequently_Asked_Questions&amp;diff=1183"/>
		<updated>2025-08-09T20:25:47Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* Suggestions */ Reply&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Protection ==&lt;br /&gt;
&lt;br /&gt;
I personally don&#039;t think this page should be staff protected. Autoconfirmed protection should be enough. Are there any real concerns for vandalism here? Or do we want to set up some sort of approval process via this discussion page? @[[User:End45|End45]] [[User:Capypara|Capypara]] ([[User talk:Capypara|talk]]) 20:23, 22 August 2023 (UTC)&lt;br /&gt;
&lt;br /&gt;
:This page was carried over from the official SkyTemple FAQ in the tutorials channel. It&#039;s always been maintained by the mods, with suggestions for new questions being accepted from the community.&lt;br /&gt;
:I see it as the most basic resource to get a general idea of what SkyTemple can do and how to solve the most common problems, so I&#039;d like to ensure that it&#039;s kept tidy and organized.&lt;br /&gt;
:&amp;gt; do we want to set up some sort of approval process via this discussion page?&lt;br /&gt;
:That&#039;s the idea. As I wrote on the article itself: &amp;quot;This is a curated page maintained by staff members, and as such cannot be directly edited. You can use the Discussion page to propose new questions or changes.&amp;quot;&lt;br /&gt;
:I think that would make it easier to prevent the page from getting too bloated while allowing users to contribute. What do you think? [[User:End45|End45]] ([[User talk:End45|talk]]) 20:49, 22 August 2023 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Suggestions ==&lt;br /&gt;
&lt;br /&gt;
Suggestions for additions or modifications to the FAQ. [[User:Chesyon|Chesyon]] ([[User talk:Chesyon|talk]]) 16:25, 19 January 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
:A question should be added to the randomizer category about getting softlocked in the first dungeon with two legendaries, due to team size. There&#039;s been multiple instances of people picking two size 4 mons and then making a support thread because they get stuck. [[User:Chesyon|Chesyon]] ([[User talk:Chesyon|talk]]) 16:26, 19 January 2024 (UTC)&lt;br /&gt;
:We should have the current SkyTemple version in the answer to the very first question. (Maybe on the home page as well?) [[User:Chesyon|Chesyon]] ([[User talk:Chesyon|talk]]) 20:15, 23 January 2024 (UTC)&lt;br /&gt;
::Not sure if it&#039;s necessary. We would have to manually update it every time there&#039;s a new release, and the info would be incorrect until that happens. [[User:End45|End45]] ([[User talk:End45|talk]]) 21:50, 26 January 2024 (UTC)&lt;br /&gt;
:Add a question about adding shiny Pokémon to the game? [[User:Chesyon|Chesyon]] ([[User talk:Chesyon|talk]]) 18:13, 24 January 2024 (UTC)&lt;br /&gt;
:The answer to the question about custom music really needs a complete revision. Also, the SkySongBuilder link goes to GitHub and not the wiki page for some reason?? [[User:Chesyon|Chesyon]] ([[User talk:Chesyon|talk]]) 18:16, 24 January 2024 (UTC)&lt;br /&gt;
:&amp;quot;How do I edit the personality quiz?&amp;quot;&lt;br /&gt;
:Can we update this to link to the QuizMenuTool article? The tool specifically edits the &amp;quot;test logic&amp;quot;, &amp;quot;weights assigned to each answer&amp;quot;, and &amp;quot;other parts of [the quiz] such as the background or BGM.&amp;quot;  [[User:Happylappy|Happylappy]] ([[User talk:Happylappy|talk]]) 20:25, 9 August 2025 (UTC)&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1182</id>
		<title>QuizMenuTool Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1182"/>
		<updated>2025-08-09T05:21:55Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* What Is QuizMenuTool? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;{{SkyTempleIcon|icon=skytemple-dialog-error-symbolic}} This article is unfinished. You can help &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:{{PAGENAME}}|veaction=edit}} expanding it]&amp;lt;/span&amp;gt;.&#039;&#039;&amp;lt;hr&amp;gt;This guide explains how to use QuizMenuTool to create a custom Personality Quiz. The bulk of this guide will explain the use of the google sheets portion of the tool. A rudimentary understanding of SkyTemple scripting will be assumed, namely adding new acting scenes, and adding scenes to unionall.ssb. These topics have/will be covered in other wiki articles. &lt;br /&gt;
&lt;br /&gt;
== About QuizMenuTool ==&lt;br /&gt;
&lt;br /&gt;
=== What Is QuizMenuTool? ===&lt;br /&gt;
QuizMenuTool is a customizable ExplorerScript replica of the Explorers of Sky Personality Quiz and Starter Selection, with minimal hardcoded aspects. The original quiz was designed to consist mostly of message_Menu ASM, to make editing the personality quiz accessible without the need to learn ASM. &lt;br /&gt;
&lt;br /&gt;
=== What can QuizMenuTool do? ===&lt;br /&gt;
QuizMenuTool can modify the process of using the quiz to select a starter, expand/reduce the starter list, add/remove/modify questions from the quiz, and much more! In fact, the better question might be...&lt;br /&gt;
&lt;br /&gt;
=== What Limitations does QuizMenuTool have? ===&lt;br /&gt;
There are a few critical things QuizMenuTool was not designed to do, though many of these could be remedied in the future if enough demand exists. Here&#039;s a list of what QuizMenuTool fails to replicate from the vanilla quiz:&lt;br /&gt;
&lt;br /&gt;
* Hero/Partner Type Exclusion: In the vanilla quiz, the hero and partner are prevented from sharing a type, to encourage team balance. No   option for such a restriction has been implemented yet, though such a thing would be possible in the future, or be scripted manually for a specific hack. &lt;br /&gt;
* SwitchMenu Portraits: In the vanilla quiz, scrolling to a partner choice displays a portrait of that partner, which gradually changes in expression. This feature would require significant custom code to emulate, and is unlikely to be available for QuizMenuTool.&lt;br /&gt;
* Third Party Starter Tweaks: The original starter list is &#039;&#039;&#039;completely unused&#039;&#039;&#039; by QuizMenuTool. Changing it has no impact on the quiz. Players of a hack using QuizMenuTool will have difficulty adding their own starters to the game, though this could potentially be remedied with a special process checking the starter list against what it is expected to be, and assigning the desired starter if a mismatch is found?&lt;br /&gt;
* Incompatibility with Japanese ROMs: Currently, QuizMenuTool is designed to only work for NA and EU ROMs. while in theory a Japanese Quiz could be designed, the Special Processes are not Japanese-compatible. This could be remedied with little effort, but the tool is designed for EU/NA ROMs.&lt;br /&gt;
&lt;br /&gt;
== Who QuizMenuTool is for ==&lt;br /&gt;
If either of the below points do not apply to you, you do not need QuizMenuTool.&lt;br /&gt;
* You would like to expand (or shrink) the list of starter options in the game.&lt;br /&gt;
* You would like to keep the personality quiz in the game, or edit the quiz directly.&lt;br /&gt;
If you only want to change the size of the starter list, and do not want the personality quiz (as if the [[SkipQuiz]] patch is applied), you should instead use [https://github.com/Chesyon/StarterMenuTool StarterMenuTool], which is less powerful but requires much less work to set up.&lt;br /&gt;
&lt;br /&gt;
== Programs and Files ==&lt;br /&gt;
&lt;br /&gt;
=== Required Programs and Files ===&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1snwIq3-GHntcPTBwH-TJ5Ctk0a8l4pwXTZYwCs53dwo/edit?usp=sharing Explorers of Sky Personality Quiz Assembling Sheet]&lt;br /&gt;
* [https://github.com/HappyLappy1/EOS-QuizGenerationTool-ASM Necessary Special Processes and SkyPatches]&lt;br /&gt;
* [[SkyTemple]] &lt;br /&gt;
&lt;br /&gt;
== General Spreadsheet Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Making a Copy of the Sheet ===&lt;br /&gt;
The above link does NOT grant edit access. In order to use the sheet, a copy will need to be made as follows:&lt;br /&gt;
[[File:Copying a Spreadsheet.png|thumb|750x750px|Location of the &amp;quot;File&amp;quot; and &amp;quot;Make a Copy&amp;quot; buttons. |center]]&lt;br /&gt;
First click the &amp;quot;File&amp;quot; button on the top left. Next, &amp;quot;Make a Copy&amp;quot; of the sheet. Finally, name the copy as desired. &lt;br /&gt;
&lt;br /&gt;
=== Cell Color-Coding ===&lt;br /&gt;
Throughout the spreadsheet, most cells are color-coded. Here&#039;s a brief explanation of each color present in the sheet: &lt;br /&gt;
&lt;br /&gt;
* Green Cells are for user input. If a cell is green, it is intended to contain input data.&lt;br /&gt;
* Grey Cells contain formulas. They will update automatically, and should not be edited.&lt;br /&gt;
* Orange Cells are for user outputs. If a cell is orange, it is intended to be exported elsewhere, such as to a SkyTemple script.&lt;br /&gt;
* Cells without a color or of an unspecified color are typically safe to edit. Always check for a formula first though!&lt;br /&gt;
&lt;br /&gt;
=== Paste Values Only ===&lt;br /&gt;
This tab is the first which will require the use of &amp;quot;Paste Values&amp;quot;. When this guide specifies that a copy/paste must &amp;quot;Paste Values&amp;quot;, this means that the copied text is a formula, and the pasted text should not be a formula. &lt;br /&gt;
[[File:How To Paste Values.png|alt=Depiction of the &amp;quot;Values Only&amp;quot; button in the menu|center|thumb|600x600px|Depiction of the &amp;quot;Values Only&amp;quot; button in the menu]]&lt;br /&gt;
There are two ways to paste values, either by right-clicking the paste location and selecting &amp;quot;Paste Special&amp;quot; then &amp;quot;Values Only&amp;quot;, or by holding shift as you paste. &lt;br /&gt;
&lt;br /&gt;
== Quiz Preamble Generator: A Good First Impression! ==&lt;br /&gt;
The Quiz Preamble Generator Tab as a whole exists to create the very beginning of the quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
Most tabs in the sheet contain an upper panel of some kind, with various simple inputs and feedback on them:&lt;br /&gt;
[[File:Preamble Upper Panel.png|alt=Location of the Quiz Preamble Generator&#039;s Upper Panel.|center|thumb|750x750px|Location of the Quiz Preamble Generator&#039;s Upper Panel.]]&lt;br /&gt;
The &amp;quot;Bottom Screen&amp;quot; and &amp;quot;Top Screen&amp;quot; inputs are the map ID that should be used for that screen&#039;s background. Similarly, the Background Music Name/ID is a BGM name (or number) of the BGM that should play throughout the quiz. The &amp;quot;White Space?&amp;quot; checkbox will attempt to add indents to the output ExplorerScript lines, making the output script more human-readable.&lt;br /&gt;
&lt;br /&gt;
=== Preamble Text ===&lt;br /&gt;
This is the first of many direct inputs for ExplorerScript code. Due to the way spreadsheets store cell data, &amp;quot; &amp;quot; behave weirdly when present in the final script. Please use &#039; &#039; instead. This input is for the first set of dialogue before the questions actually begin. &lt;br /&gt;
[[File:Quiz Preamble Location.png|alt=Location of the Quiz Preamble Inputs|center|thumb|600x600px|Location of the Quiz Preamble Inputs]]&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
The orange output cell on this sheet is largely unimportant, but is present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Starter Selection Generator: Actually Adding the Starters... ==&lt;br /&gt;
This tab of the sheet is primarily for inputting data about the starters, or the personality pools they belong to. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
[[File:Starter Selection Upper Panel.png|alt=The Upper Panel for the &amp;quot;Starter Selection Generator&amp;quot; Tab|thumb|750x750px|Location of the &amp;quot;Upper Panel&amp;quot; for the &amp;quot;Starter Selection Generator&amp;quot; Tab|center]]This upper panel contains 4 inputs, 3 of which are for Special Processes pertaining to starter selection. If other Special Processes have already been added, these Special Process IDs will need to be changed to free slots. The &amp;quot;White Space?&amp;quot; checkbox is the same as before, except for this tab of the sheet. The 4 grey cells are useful statistics about the input starters: how many different pools are used by the starters, how many species are present, and how many options there are for the hero and partner. &lt;br /&gt;
&lt;br /&gt;
=== Personality Pool Input ===&lt;br /&gt;
Next, on the lower right is the nature &amp;quot;Pool&amp;quot; input. These contain the pool name, and the text that should be displayed if that pool is selected by the quiz. &lt;br /&gt;
[[File:Personality Pools Input.png|alt=Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names and descriptions go.|center|thumb|450x450px|Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names/descriptions go.]]&lt;br /&gt;
The &amp;quot;Pool Name&amp;quot; field is only used by the Question Generator Tab, and will not show up anywhere in the final script. Modify these as desired as soon as possible, as it will be difficult to do so after designing the quiz questions. &#039;&#039;&#039;For best results, ensure all pool names are unique!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Starter Species Data ===&lt;br /&gt;
The bottom left segment of the sheet is the &amp;quot;Starter Species Data&amp;quot; input. This is part of a wider table, but each segment will be discussed individually. &lt;br /&gt;
[[File:Starter Species Data Location.png|alt=Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.|center|thumb|750x750px|Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.]]&lt;br /&gt;
While some of these fields should be intuitive, A brief description of each column is as follows:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Species Name:&#039;&#039;&#039; The name of the species as you want it shown in the quiz. If the cell turns purple on entering a species name, this means the Pokémon could not be found in &#039;&#039;&#039;Vanilla Translation Strings&#039;&#039;&#039;. French and German Translations will need to be added by hand, or all strings involving the Pokémon will need to be translated manually.&lt;br /&gt;
* &#039;&#039;&#039;Species ID:&#039;&#039;&#039; The ID in SkyTemple of the Pokémon. &#039;&#039;&#039;[TODO: Explain how this is affected by ExpandPokeList]&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Gender:&#039;&#039;&#039; The gender of the Pokémon, used to set the frame color, and to add &amp;quot;♂&amp;quot; and &amp;quot;♀&amp;quot; to the hero/partner selection list. 0 is Male, 1 is Female, and 2 is Genderless.&lt;br /&gt;
* &#039;&#039;&#039;Pool ID:&#039;&#039;&#039; The number of the Pool the Pokémon should be categorized under. Each Pool that could be chosen by the Quiz should have at least one valid Pokémon, or Bulbasaur will be selected as a failsafe. &#039;&#039;&#039;If the species are not sorted by Pool ID, cells will turn red. The sheet will produce invalid labels if this table is not sorted by Pool ID!&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Start w/ Vowel:&#039;&#039;&#039; If the Pokémon should be referred to as &amp;quot;...an [Pokémon]&amp;quot;, check this box.&lt;br /&gt;
&lt;br /&gt;
=== Talk Group &amp;amp; Role Exclusion ===&lt;br /&gt;
Continuing along the table, the next two subsections are for &amp;quot;Talk Groups&amp;quot; and &amp;quot;Role Exclusion&amp;quot;. Both of these segments relate to either the hero, or the partner.&lt;br /&gt;
[[File:Talk Groups and Role Exclusion.png|alt=Location of Talk Group and Role Exclusion Inputs|center|thumb|300x300px|Location of Talk Group and Role Exclusion Inputs]]&lt;br /&gt;
In the vanilla game, the hero and partner have differing dialogue depending on their species-specific &amp;quot;Talk Group&amp;quot;. These columns are dedicated to assigning the talk group for the hero or partner if that row&#039;s species is chosen. While it handles pronouns for dialogue, especially in gendered languages, it also affects the way the partner&#039;s dialogue is written. It does the same for the hero&#039;s dialogue, but in the English localization it only affects 2 lines in the entire game (&amp;quot;Whoa&amp;quot; &amp;lt;-&amp;gt; &amp;quot;Wah&amp;quot;, &amp;quot;All right&amp;quot; &amp;lt;-&amp;gt; &amp;quot;OK&amp;quot;). This is how they are used in vanilla:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Explorers of Sky Talk Groups&lt;br /&gt;
!#&lt;br /&gt;
!Used By&lt;br /&gt;
!Notable Species&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Partner&lt;br /&gt;
|Male Squirtle/Totodile/Chimchar/Meowth/Munchlax&lt;br /&gt;
|More Masculine/&amp;quot;Rural&amp;quot; Dialogue. (Refers to self as &amp;quot;Oira&amp;quot; in Japanese) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Partner&lt;br /&gt;
|All other Male Pokémon&lt;br /&gt;
|More Masculine/&amp;quot;Boyish&amp;quot; Dialogue. (Refers to self as &amp;quot;Boku&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Partner&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|More Feminine Dialogue. (Refers to self as &amp;quot;Watashi&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Hero&lt;br /&gt;
|All Male/Genderless Pokémon&lt;br /&gt;
|Uses Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Hero&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|Uses Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;Role Exclusion&amp;quot; checkboxes blacklist the row from being an option as a hero or as a partner respectively. Certain Pokémon, particularly Meowth and Munchlax, are unable to be heroes in the vanilla game. This section is how to replicate that feature of the original quiz.&lt;br /&gt;
&lt;br /&gt;
=== Fuwarante Blacklist ===&lt;br /&gt;
Finally, on the far end of the table, is the Fuwarante Blacklist inputs. These are perhaps the most complicated portion of this tab of the sheet.[[File:Fuwarante Blacklist.png|alt=Location of the Fuwarante Blacklist|center|thumb|300x300px|Location of the Fuwarante Blacklist]]Each column corresponds to a bit of the script variable $BIT_FUWARANTE_LOCAL. If the matching flag is on, the starter in that row &#039;&#039;&#039;cannot&#039;&#039;&#039; be chosen. This will be elaborated on further in the &amp;quot;Question Loop Generator&amp;quot;, but this is a brief explanation of what the bits represent by default:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Bit&lt;br /&gt;
!Description/Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|If enabled, $PLAY_OLD_GAME will be true, meaning the player answered that they have played Time/Darkness before.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|If enabled, the player has played EoS before, according to a custom starting question.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|If enabled, the player has participated in a Mystery Mail event before, according toa custom ending question.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|If enabled, the player claimed to be female in the final gender question. Enable for &#039;&#039;&#039;male&#039;&#039;&#039; starters.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|If enabled, the player claimed to be male in the final gender question. Enable for &#039;&#039;&#039;female&#039;&#039;&#039; starters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
Once again, the orange output cells on the far right of this sheet are largely unimportant, but are present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Question Loop Generator: Before, After, and For How Long? ==&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The upper panel of this sheet mostly consists of inputs, though the single output is a reminder of how many unique pools are used by the Starter Selection Generator. The input directly left of it is for telling the Question Loop Generator how many pools are in use, and should be changed to match the display. On the upper left of the panel, there are inputs for how many questions the game should ask the player, and how many questions will be written for the quiz to randomly choose from. In vanilla, there are 64 possible questions, and 8 will be given to the player.&lt;br /&gt;
[[File:Question Loop Generator Upper Panel.png|alt=Location of the Upper Panel of the Question Loop Generator|center|thumb|750x750px|Location of the Upper Panel of the Question Loop Generator]]&lt;br /&gt;
The bottom row consists of checkboxes to enable/disable the Custom/Standard First and Last Questions, such as the Gender Question and the Time/Darkness Question, which boosts recruit rates for certain species if you answer yes, and adds points to certain pools containing sky-exclusive Pokémon. &lt;br /&gt;
&lt;br /&gt;
=== ExplorerScript Pre/Post Quiz Questions ===&lt;br /&gt;
Room for an additional question before and after the quiz has also been made, which along with the Gender and Time/Darkness questions can be modified in the below ExplorerScript inputs:&lt;br /&gt;
[[File:Question Loop Generator ExplorerScript Inputs.png|alt=Location of the ExplorerScript Inputs|center|thumb|600x600px|Location of the ExplorerScript Inputs]]&lt;br /&gt;
These are the primary use-cases for the Fuwarante Blacklist described above. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;[S:0]&amp;quot; text tag will be explained in further detail below. &lt;br /&gt;
&lt;br /&gt;
== Question Generator: Multiple Choice Monotony ==&lt;br /&gt;
Note: The &amp;quot;Yes.&amp;quot; and &amp;quot;No.&amp;quot; options have the &amp;quot;[S:0]&amp;quot; text tag after them. This does functionally nothing, and exists primarily to aid in automatic string translation, as the localization teams translated the same English responses for questions differently based on context. This will be elaborated on further in &amp;quot;Full Script Translation&amp;quot;. If there are no plans to use the sheet&#039;s translation features, it is safe to remove any variants of &amp;quot;[S:0]&amp;quot;. (instructions to do so in SkyTemple directly are present below).&lt;br /&gt;
&lt;br /&gt;
=== About Question Templates ===&lt;br /&gt;
This tab of the sheet is dedicated to the design and storage of the individual random questions in the quiz. The way this sheet works revolves   around &amp;quot;Question Templates&amp;quot; that store the question text, question number, answer text, pool ID, and points for that pool ID. Below is an example of a Question Template, and how it translates to question data: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Do you prefer to be busy or have\na lot of free time?^35 |Being busy.^11^4^8^2|Free time!^9^4|In between.^12^4&lt;br /&gt;
!Question Text&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; |Question #&lt;br /&gt;
|-&lt;br /&gt;
|Do you prefer to be busy or to have a lot of free time?&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; |35&lt;br /&gt;
|-&lt;br /&gt;
!Answer Text&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
|-&lt;br /&gt;
|Being busy.&lt;br /&gt;
|11&lt;br /&gt;
|4&lt;br /&gt;
|8&lt;br /&gt;
|2&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Free time!&lt;br /&gt;
|9&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|In between.&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Question Template Input ===&lt;br /&gt;
&lt;br /&gt;
On the far left, is an input for an existing Question Template.[[File:Question Template Input.png|alt=Question Template Input Location|center|thumb|600x600px|Question Template Input Location]]The &amp;quot;Use Question Template Input&amp;quot; checkbox tells the sheet whether or not to use the Question Template provided. When writing questions entirely from scratch, disable this checkbox. When modifying existing questions, enable the checkbox, and paste in the Question Template. This will subsequently auto-fill the Question Data Inputs with the data within the template. If the auto-filled data itself needs to be altered, you will need to copy and &#039;&#039;&#039;paste values&#039;&#039;&#039; the data, then disable the checkbox.&lt;br /&gt;
&lt;br /&gt;
=== Question Data Inputs ===&lt;br /&gt;
[[File:Question Data Inputs.png|alt=Location of the Question Data Inputs Area|center|thumb|750x750px|Location of the Question Data Inputs Area]]&lt;br /&gt;
The Question Data Inputs Area should seem relatively intuitive. The question text is at the top, the answers are beneath, and up to 4 Personality Pools can gain points from each answer choice. The White Space checkbox is identical to the previous tab, and the question index is just the internal &amp;quot;ID&amp;quot; of the question. It should be incremented for each new question created, and will translate to the ID of the switch case in the final code. Note that the drop-down for the Pool Names is sourced from the Pool Names column of the Starter Selection Generator, and any changes to that list after creating the questions may lead to problems. With the current setup of the sheet, each question is limited to a maximum of 26 answer choices, but this limit is arbitrary, and can be circumvented by editing the question template manually, and pasting it in the Template List. In the event that a single question requires more than 26 choices, please ping happylappy in a support thread.&lt;br /&gt;
&lt;br /&gt;
=== Question Template Output &amp;amp; Template List ===&lt;br /&gt;
Finally, once the question is complete, a template for the question will be created in &amp;quot;Question Template Output&amp;quot;. &lt;br /&gt;
[[File:Question Template Output &amp;amp; Template List.png|alt=Location of Question Template Output &amp;amp; Template List|center|thumb|750x750px|Location of Question Template Output &amp;amp; Template List]]&lt;br /&gt;
Before moving onto the next question, copy the template output, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; in the corresponding slot on the &amp;quot;Question Template List&amp;quot;.   By default, templates for each vanilla question are already in the Question Template List, ready to be edited or modified by copying and pasting into the Question Template Input. The Script Output Column is again for debug purposes, and is read automatically by another tab of the sheet. &lt;br /&gt;
&lt;br /&gt;
== Personality Pool Selection Generator: Gerrymandering and Tie-Breaking ==&lt;br /&gt;
Once the quiz itself is completed, the points need to be tallied, so that a winning pool can be selected. The exact way that this happens in vanilla is a tad complicated, especially when it comes to breaking ties. Here are the steps that occur in vanilla:&lt;br /&gt;
&lt;br /&gt;
# Points are added to pools containing Sky-Exclusive Starters if the player has played Time/Darkness.&lt;br /&gt;
#* If Male is chosen for the gender question, +4 Points are added to Relaxed, Hasty, and Sassy. (Phanpy, Shinx, and Riolu)&lt;br /&gt;
#* If Female is chosen for the gender question, +4 Points are added to Relaxed and Jolly. (Vulpix and Eevee)&lt;br /&gt;
# The highest pool is found, and chosen.&lt;br /&gt;
#* If there is a tie, it is broken by adding a random number (0-19) to each, and rescoring the points.&lt;br /&gt;
#* If there is STILL a tie, it chooses the smallest pool it can.&lt;br /&gt;
This tab of the sheet serves to implement these two features in a customizable way.&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
About half of the upper panel is actually new this time. The &amp;quot;White Space&amp;quot; and &amp;quot;Number/# of Pools In Use&amp;quot; are unchanged, except they apply to this sheet.[[File:Pool Selection Generator Upper Panel.png|alt=Location of Pool Selection Generator Upper Panel|center|thumb|600x600px|Location of Pool Selection Generator Upper Panel]]The checkbox for &amp;quot;Do Pool Tinkering&amp;quot; enables/disables the Pool Tinkering portion of this sheet, while the &amp;quot;Maximum Tiebreaker Points&amp;quot; input determines the random value added to tied pools to decide a victor. Larger numbers result in less chance of a secondary tie, but could result in overflow for certain pools. &lt;br /&gt;
&lt;br /&gt;
=== Pool Tinkering ===&lt;br /&gt;
As stated above, the vanilla quiz favors pools with Sky-Exclusive Starters for the specified gender if they&#039;ve played Time/Darkness. Through checking the BIT_FUWARANTE_LOCAL flags from the &amp;quot;Question Loop Generator&amp;quot;, we can mimic this effect.&lt;br /&gt;
[[File:Pool Tinkering.png|alt=Location of Pool Tinkering Portion.|center|thumb|600x600px|Location of Pool Tinkering Portion.]]&lt;br /&gt;
On the far left, are the IDs of the two flags that should be checked (without modification, this could be 0 for &amp;quot;Time/Darkness&amp;quot;, and 3/4 for &amp;quot;Male/Female&amp;quot;). Depending on if the 1st and 2nd flags are true (1), or false (0), the selected pools (as many as needed) will gain the specified number of points. In order to accommodate for the &amp;quot;Surprise Me!&amp;quot; gender option, 2 points are given for male, 2 for &amp;quot;not male&amp;quot;, 2 for &amp;quot;female&amp;quot;, and 2 for &amp;quot;not female&amp;quot;, in order to influence every pool containing a sky-exclusive starter. (A similar process is done for the Time/Darkness exclusive starters I&#039;ve added to my example quiz, if the player has NOT played time/darkness). Up to 10 slots are present for pool tinkering, though more could be added if there is a pressing need. &lt;br /&gt;
&lt;br /&gt;
== Aura Bow Generator: Fortune Telling and Color Theory ==&lt;br /&gt;
The Aura Bow Generator serves to emulate the cinematics of the vanilla aura bow portion of the quiz. In addition to simply detecting when and for how long the player is touching the Aura Bow, the actual bow color needs to be determined! For the vanilla quiz, the process is as follows:&lt;br /&gt;
&lt;br /&gt;
* Use DS Favorite Color (75% Chance): If the DS Favorite Color is selected, the user&#039;s favorite color will match the color of the bow.&lt;br /&gt;
* Use DS Mac Address (25% Chance): If the Mac Address is selected, then &amp;quot;mac_address &amp;amp; 0xF&amp;quot; determines the color of the bow.&lt;br /&gt;
&lt;br /&gt;
This functionality can be replicated by QuizMenuTool, and the chances can even be altered!&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The Aura Bow Generator&#039;s Upper Panel is one of the largest of every tab, though many of these inputs are similar to prior tabs of the sheet. The top left input boxes are Special Process IDs for the 4 Special Processes needed to emulate the Aura Bow portion of the quiz, and the &amp;quot;White Space?&amp;quot; Checkbox is the same as always. The &amp;quot;Aura Bow Output&amp;quot; on the top right is the final script output for this tab, unnecessary outside of debug purposes.&lt;br /&gt;
[[File:Aura Bow Generator Upper Panel.png|alt=Location of the Aura Bow Generator Upper Panel.|center|thumb|600x600px|Location of the Aura Bow Generator Upper Panel.]]&lt;br /&gt;
Beginning with the bottom left of the panel, there are 4 map LEVEL names. &amp;quot;Bottom 1&amp;quot; is for the background while touching the Aura bow, Bottom Screen 2 is for the presentation of the colored Aura Bow, and the Bottom/Top Screen 3 is the backgrounds that the script should end with, when transitioning to the starter reveal. Finally, on the bottom right of the upper panel is the &amp;quot;Touch Screen Aura Bow Object Name&amp;quot;. Per the name, this is the name or ID of the object that should be present on the bottom screen, that will animate when the player touches it. The last three digits of the object seem to vary depending on unknown factors, so be sure to verify that yours matches by inspecting this object in M00A01A with SkyTemple.&lt;br /&gt;
[[File:Aura Bow Touch Object Name.png|alt=Where to check the Aura Bow Touch Object Name in SkyTemple|center|thumb|600x600px|Where to check the Aura Bow Touch Object Name in SkyTemple]]&lt;br /&gt;
&lt;br /&gt;
=== Aura Reading Panel ===&lt;br /&gt;
Beginning on the lower left of the tab, the Aura Reading Panel consists of 3 ExplorerScript code segments, which play before the blank aura bow fades in, after the aura bow fades in, and if the player lets go of the touch screen too quickly. &lt;br /&gt;
[[File:Aura Reading Panel.png|alt=Location of the Aura Reading Panel.|center|thumb|600x600px|Location of the Aura Reading Panel.]]&lt;br /&gt;
At the very bottom of this panel, there are inputs for dialogue in all 5 languages that will play during the aura reading process. Unlike most text in the quiz, &#039;&#039;&#039;this string must be translated here&#039;&#039;&#039;, as every localization takes a different amount of time to print the dialogue. The length of time the touch screen should have been held for is calculated for each [W:X] text tag, and compared against the actual length of time the touch screen was held. Customizing this text string is possible in the box, so these calculations must be done by the sheet. If your hack is for a US ROM, or will be english-only, disable the &amp;quot;Use EU Strings&amp;quot; Checkbox. &amp;quot;Expected Text Speed (# of chars per frame)&amp;quot; should be the speed your dialogue prints at in SkyTemple. This will ensure that the actual length of the text is properly accounted for in the calculation. &amp;quot;Touch Screen Frame Tolerance&amp;quot; is a grace period for letting go of the bow. This is necessary for certain emulators, damaged touch-screens, failure to account for the dialogue box opening/closing, etc. Feel free to adjust as desired, such that the quiz is possible to complete. &lt;br /&gt;
&lt;br /&gt;
=== Bow Selection Panel ===&lt;br /&gt;
Finally, the Bow Selection Panel handles the actual selection and presentation of the Aura Bow. [[File:Bow Selection Panel.png|alt=Bow Selection Panel Location.|center|thumb|600x600px|Bow Selection Panel Location.]]The upper left of the panel is for assigning weights to the three methods for selecting a bow color: DS Favorite Color, DS MAC Address, or a custom block of code. Note that these weights &#039;&#039;&#039;must be integers&#039;&#039;&#039; or the sheet will generate invalid code. For convenience, the percent chance of each option is computed by the sheet, based on the weights and total weight. The ExplorerScript input for the custom bow selection is on the right of this panel, and on the bottom left is the flavor-text for each bow color. &lt;br /&gt;
&lt;br /&gt;
== Variable Cleanup &amp;amp; End-Cap Generator: Nearly Finished! ==&lt;br /&gt;
This tab of the sheet aims to clean up the bevy of variables used by the quiz, and prep the game for actually running. Since QMT uses a majority of the script variables the game has to function, this tab resets them all back to what they should be at the beginning of a save file, now that the quiz no longer needs them. If some part of the quiz needs to be remembered, such as the color of the aura bow, whether the player has played Time/Darkness, or the winning Quiz personality pool, that needs to be preserved in this tab. In addition, this is the tab where the starters are officially initialized, which allows them to be nicknamed. Finally, the special process for actually assigning the starters, PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ, will wipe $CONFIG_COLOR_KIND clean, replacing it with what the real quiz determined your aura bow color to be. Because the real quiz never runs during QMT, this will always be zero. As a result, the aura bow color needs to be saved somewhere besides $CONFIG_COLOR_KIND, then returned afterwards.  &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
This tab ALSO has an upper panel! The number of pools to clear should ideally match the number of pools in use. &amp;quot;White Space&amp;quot; does the same thing it has up to this point, and the far right output cell is read elsewhere, and only exists for debug purposes.&lt;br /&gt;
[[File:Variable Cleanup &amp;amp; End-Cap Upper Panel.png|alt=Variable Cleanup &amp;amp; End-Cap Upper Panel Location.|center|thumb|600x600px|Variable Cleanup &amp;amp; End-Cap Upper Panel Location.]]&lt;br /&gt;
In the center of the panel are three new checkboxes. &amp;quot;Name Partner?&amp;quot; and &amp;quot;Name Hero?&amp;quot; should be somewhat intuitive, they enable/disable the ExplorerScript inputs for naming the hero and partner respectively, which will be elaborated on below. Finally, &amp;quot;Set $VERSION to 1?&amp;quot; sets the &amp;quot;$VERSION&amp;quot; script variable to 1 at the very end of the script. Without ASM modification, saving the game with this variable as anything besides 1 results in a &amp;quot;corrupt&amp;quot; save file. In the absence of a strong reason otherwise, this box should remain checked.&lt;br /&gt;
&lt;br /&gt;
=== Hero Name, Partner Name, &amp;amp; Closing Remarks ===&lt;br /&gt;
These ExplorerScript Inputs are for... the code used for nicknaming the partner and hero respectively, as well as the last few lines of text before the quiz truly ends.[[File:Hero-Partner-Closing Remarks Input.png|alt=Location of ExplorerScript Code Inputs.|center|thumb|600x600px|Location of ExplorerScript Code Inputs.]]Note that MENU_PARTNER_NAME will not function without the dedicated SkyPatch, in the QMT github repo (linked at the top). Additionally, the menus themselves will close any active text-box the instant they are done printing, which is why the hero monologue ends with a [K]. A message_Close(); would also suffice. Finally, the closing remarks should actually fade out the bgm and screen as desired. Feel free to optimize the fades, there is probably a more efficient way to achieve the right effect. &lt;br /&gt;
&lt;br /&gt;
=== Script Variable Preservation Panel ===&lt;br /&gt;
The Script Variable Preservation Panel serves to determine what information should be preserved after the quiz. By default, only the variables storing the personality pool counts are actually being erased, though certain configurations may require some variables to be kept, and others to be wiped in addition.[[File:Script Variable Preservation Panel.png|alt=Script Variable Preservation Panel Location.|center|thumb|600x600px|Script Variable Preservation Panel Location.]]Beginning at the top, is the &amp;quot;Variable Erasure Blacklist&amp;quot;. Based on other interactions with the sheet, the &amp;quot;Automatic Variables&amp;quot; will fill up automatically, but any script variables specified in this row will be kept as they are at the end of the quiz, and not erased. An example of a manual blacklist example might be $VERSION, which doesn&#039;t need a dedicated line of code for erasure if it will ALSO be set to 1 at the end. The next row, &amp;quot;Additional Variables to Erase&amp;quot;, will be added to the list of erased variables if they are not already present. The $BIT_FUWARANTE_LOCAL variables should be erased in addition, as the Driftblim Gondola will interpret these variables as valid station passes to enter. Below that, is the &amp;quot;Variable Transfer Table&amp;quot;. Prior to erasing anything, variables in the &amp;quot;Old Variable Name&amp;quot; column will be moved to the &amp;quot;New Variable Name&amp;quot;. The old variable will be slated for erasure, while the new one will be spared. For convenience, the &amp;quot;Variable Meaning&amp;quot; Tab on the left will autofill one or both of these columns depending on the option you select:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable Meaning&lt;br /&gt;
!Old Variable Name&lt;br /&gt;
!New Variable Name&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Preserve&lt;br /&gt;
|$CONFIG_COLOR_KIND&lt;br /&gt;
|$LOCAL0&lt;br /&gt;
|If this Variable Meaning is present, $CONFIG_COLOR_KIND will be restored in post. It&#039;s only purpose is to prevent the quiz from wiping the variable on running  &amp;quot;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|Winning Pool&lt;br /&gt;
|$SCENARIO_SUB7&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the winning Pool ID from the quiz itself. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Winning Points&lt;br /&gt;
|$SCENARIO_SUB6&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the number of points the winning Pool ID had after the tie-breaking process. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Fuwarante Bit X&lt;br /&gt;
|$BIT_FUWARANTE_LOCAL[X]&lt;br /&gt;
|Any&lt;br /&gt;
|These correspond directly to the FUWARANTE blacklist, and in this example is used to pass forward the Time/Darkness question to $PLAY_OLD_GAME, the variable responsible for the recruitment rate buff for playing Time/Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|Direct Script Variable&lt;br /&gt;
|Any&lt;br /&gt;
|Any&lt;br /&gt;
|This is an invitation to input whatever script variables are needed, and will adjust the coloration of the row to match. &lt;br /&gt;
|}&lt;br /&gt;
A full list of script variables with their appropriate descriptions will be provided in &amp;quot;Other Resources&amp;quot;, and might prove useful for more advanced tinkering in this panel.&lt;br /&gt;
&lt;br /&gt;
== Full Script Translation: EU ROM Superiority ==&lt;br /&gt;
This tab of the sheet is dedicated to translating all lines of dialogue into Spanish, French, German, and Italian, for an EU ROM. If the hack this is for doesn&#039;t need translation, this tab can be completely skipped. One of the most essential features of a translated quiz is the ability to pre-translate the vanilla text strings from the original quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
By default, the left-most checkbox of the upper panel will &amp;quot;activate&amp;quot; this sheet for translation. This may cause lag, and will cause more lag every time a change is made on one of the prior sheets, while enabled. Only begin translating once finished with the quiz, at least in the short term. [[File:Full Script Translation Upper Panel.png|alt=Location of the Full Script Translation Upper Panel.|center|thumb|600x600px|Location of the Full Script Translation Upper Panel.]]The &amp;quot;Auto-Translate Vanilla Strings&amp;quot; check-box will automatically search for and translate exact matches to vanilla Quiz strings. Additional translations can be added in &amp;quot;Vanilla Translation Strings&amp;quot; as needed. If no exact match is found, the translation will be left blank for manual translation. &amp;quot;Auto-Translate Pokemon&amp;quot; similarly will attempt to translate exact matches for dialogue specific to the final species. For example, &amp;quot;[R][CN]Will be a [CS:K]Magnemite[CR]![W:60]&amp;quot; will be automatically translated to &amp;quot;[R][CN]wird ein [CS:K]Magnetilo[CR]![W:60]&amp;quot; (German), based on Magnemite&#039;s German name and the phrase &amp;quot;wird ein ___!&amp;quot;. This will only occur if the checkbox is enabled, and only for Pokemon names present in &amp;quot;Vanilla Translation Strings&amp;quot;. Finally, the &amp;quot;Trim [S:0] Before Translation&amp;quot; checkbox will remove all &amp;quot;[S:0]&amp;quot; text tags from the dialogue before searching for a match, ensuring that the various &amp;quot;Yes.&amp;quot;, &amp;quot;No.&amp;quot;. &amp;quot;Of Course!&amp;quot;, and &amp;quot;Open it!&amp;quot; are not translated automatically, per their vanilla quiz questions. Regardless of whether this checkbox is enabled, the final script output will not contain the &amp;quot;[S:0]&amp;quot; tags. &lt;br /&gt;
&lt;br /&gt;
=== String Translation Panel ===&lt;br /&gt;
The string translation panel, on the right of this tab, is where text string translation will actually occur. &lt;br /&gt;
[[File:String Translation Panel.png|alt=Location of String Translation Panel.|center|thumb|600x600px|Location of String Translation Panel.]]&lt;br /&gt;
On the left, are English lines of text extracted from other tabs of the sheet. each column corresponds to an EU language (Spanish, French, German, Italian). At the top of each column, is a count of how many untranslated lines of dialogue are left for that language, as well as a checkbox to enable/disable each language. In the above screenshot, French dialogue will not be added to the final script, because the checkbox is enabled. In the rows themselves, are pink cells (vanilla translated text), green cells (empty), and blue cells (manual translation). Simply review each pink cell, and manually translate the English for that row for green cells so they turn blue. If a pink cell needs editing, simply copy the cell, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; it on top of itself, and it will turn blue, which is safe to edit. &lt;br /&gt;
&lt;br /&gt;
== Vanilla Translation Strings: Future-Proofing The Sheet ==&lt;br /&gt;
This tab of the sheet is used to store vanilla strings from the base game, and official Pokemon translations. These can be amended and edited as desired, to include custom strings for auto-translation, or new Pokemon name translations. &lt;br /&gt;
[[File:Vanilla Translation Strings Dialogue.png|alt=Vanilla Translation Strings Dialogue|center|thumb|600x600px|Vanilla Translation Strings Dialogue]]&lt;br /&gt;
This area above contains all relevant vanilla strings, which can be added to or amended as desired, in the green cells in these 5 columns. If a need arises to make changes to the quiz after translation, it is best to move all manually translated lines to this tab, before making any changes. Additionally, the lookup table for Pokemon species names can be modified:&lt;br /&gt;
[[File:Vanilla Translation Strings Species.png|alt=Vanilla Translation Strings Species|center|thumb|452x452px|Vanilla Translation Strings Species]]&lt;br /&gt;
On the far right of the tab, are a list of every Pokemon through Scarlet &amp;amp; Violet, and the French/German translations for each species (Spanish and Italian use English species names). These can also be amended or added to as desired. &lt;br /&gt;
&lt;br /&gt;
== Full Script Compression: It&#039;s Finally Over? ==&lt;br /&gt;
Last but not least, is the Full Script Compression Tab. This tab compiles all of the information from the other tabs, and compresses it into a copy/pastable batch of scripts for SkyTemple. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
There are a handful of settings in this upper panel. &amp;quot;White Space&amp;quot; is as it has been for every prior tab, but that&#039;s the only returning input.&lt;br /&gt;
[[File:Full Script Compression Upper Panel.png|alt=Full Script Compression Upper Panel Location.|center|thumb|600x600px|Full Script Compression Upper Panel Location.]]&lt;br /&gt;
&amp;quot;Use Full MegaScript&amp;quot; will compile the entire quiz into one script. This is only possible for English-only quizzes, and is only advised for quizzes with few questions and fewer starter choices. &amp;quot;Use Translated Scripts?&amp;quot; will use the outputs from Full Script Translation, which will be empty if the sheet is not active. Disable this checkbox for English-only quizzes. &amp;quot;Generate Unionall CORO&amp;quot; will create the unionall code needed to run the quiz, for a copy and paste replacement for the existing &#039;&#039;&#039;CORO EVENT_M00A_01&#039;&#039;&#039; coroutine. The &amp;quot;Script File LEVEL Name&amp;quot; should reflect the location of the map LEVEL &amp;quot;folder&amp;quot; that the script file will actually be under. The &amp;quot;Script File SCRIPT Name&amp;quot; should become the name of the acting script itself, and should be 8 alphanumerical characters or fewer (not case-sensitive). Finally, the &amp;quot;Sector Param.&amp;quot; is the sector parameter of the supervision_ActingSub() Opcode. Generally this should be zero, though none of these scripts internally utilize the sector parameter, should it be of interest for customization.&lt;br /&gt;
&lt;br /&gt;
=== SkyTemple Script Outputs ===&lt;br /&gt;
This portion of the sheet consists of outputs to SkyTemple. Unlike most output cells thus far, these are actually intended for use!&lt;br /&gt;
[[File:SkyTemple Script Outputs.png|alt=SkyTemple Script Outputs Location.|center|thumb|600x600px|SkyTemple Script Outputs Location.]]&lt;br /&gt;
The intended places for each of these outputs will be described in &amp;quot;Importing The Scripts To SkyTemple&amp;quot;, but when copying a script, be sure to copy all cells in the box with text.&lt;br /&gt;
&lt;br /&gt;
== Importing The Scripts To SkyTemple ==&lt;br /&gt;
&lt;br /&gt;
=== Converting From StarterMenuTool ===&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
&lt;br /&gt;
=== QMT Script Variable Map ===&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1181</id>
		<title>QuizMenuTool Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1181"/>
		<updated>2025-08-09T01:57:31Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* What Limitations does QuizMenuTool have? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;{{SkyTempleIcon|icon=skytemple-dialog-error-symbolic}} This article is unfinished. You can help &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:{{PAGENAME}}|veaction=edit}} expanding it]&amp;lt;/span&amp;gt;.&#039;&#039;&amp;lt;hr&amp;gt;This guide explains how to use QuizMenuTool to create a custom Personality Quiz. The bulk of this guide will explain the use of the google sheets portion of the tool. A rudimentary understanding of SkyTemple scripting will be assumed, namely adding new acting scenes, and adding scenes to unionall.ssb. These topics have/will be covered in other wiki articles. &lt;br /&gt;
&lt;br /&gt;
== About QuizMenuTool ==&lt;br /&gt;
&lt;br /&gt;
=== What Is QuizMenuTool? ===&lt;br /&gt;
QuizMenuTool is a customizable ExplorerScript replica of the Explorers of Sky Personality Quiz and Starter Selection, with minimal hardcoded aspects. The original quiz was designed to consist mostly of message_Menu ASM, and this serves to &lt;br /&gt;
&lt;br /&gt;
=== What can QuizMenuTool do? ===&lt;br /&gt;
QuizMenuTool can modify the process of using the quiz to select a starter, expand/reduce the starter list, add/remove/modify questions from the quiz, and much more! In fact, the better question might be...&lt;br /&gt;
&lt;br /&gt;
=== What Limitations does QuizMenuTool have? ===&lt;br /&gt;
There are a few critical things QuizMenuTool was not designed to do, though many of these could be remedied in the future if enough demand exists. Here&#039;s a list of what QuizMenuTool fails to replicate from the vanilla quiz:&lt;br /&gt;
&lt;br /&gt;
* Hero/Partner Type Exclusion: In the vanilla quiz, the hero and partner are prevented from sharing a type, to encourage team balance. No   option for such a restriction has been implemented yet, though such a thing would be possible in the future, or be scripted manually for a specific hack. &lt;br /&gt;
* SwitchMenu Portraits: In the vanilla quiz, scrolling to a partner choice displays a portrait of that partner, which gradually changes in expression. This feature would require significant custom code to emulate, and is unlikely to be available for QuizMenuTool.&lt;br /&gt;
* Third Party Starter Tweaks: The original starter list is &#039;&#039;&#039;completely unused&#039;&#039;&#039; by QuizMenuTool. Changing it has no impact on the quiz. Players of a hack using QuizMenuTool will have difficulty adding their own starters to the game, though this could potentially be remedied with a special process checking the starter list against what it is expected to be, and assigning the desired starter if a mismatch is found?&lt;br /&gt;
* Incompatibility with Japanese ROMs: Currently, QuizMenuTool is designed to only work for NA and EU ROMs. while in theory a Japanese Quiz could be designed, the Special Processes are not Japanese-compatible. This could be remedied with little effort, but the tool is designed for EU/NA ROMs.&lt;br /&gt;
&lt;br /&gt;
== Who QuizMenuTool is for ==&lt;br /&gt;
If either of the below points do not apply to you, you do not need QuizMenuTool.&lt;br /&gt;
* You would like to expand (or shrink) the list of starter options in the game.&lt;br /&gt;
* You would like to keep the personality quiz in the game, or edit the quiz directly.&lt;br /&gt;
If you only want to change the size of the starter list, and do not want the personality quiz (as if the [[SkipQuiz]] patch is applied), you should instead use [https://github.com/Chesyon/StarterMenuTool StarterMenuTool], which is less powerful but requires much less work to set up.&lt;br /&gt;
&lt;br /&gt;
== Programs and Files ==&lt;br /&gt;
&lt;br /&gt;
=== Required Programs and Files ===&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1snwIq3-GHntcPTBwH-TJ5Ctk0a8l4pwXTZYwCs53dwo/edit?usp=sharing Explorers of Sky Personality Quiz Assembling Sheet]&lt;br /&gt;
* [https://github.com/HappyLappy1/EOS-QuizGenerationTool-ASM Necessary Special Processes and SkyPatches]&lt;br /&gt;
* [[SkyTemple]] &lt;br /&gt;
&lt;br /&gt;
== General Spreadsheet Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Making a Copy of the Sheet ===&lt;br /&gt;
The above link does NOT grant edit access. In order to use the sheet, a copy will need to be made as follows:&lt;br /&gt;
[[File:Copying a Spreadsheet.png|thumb|750x750px|Location of the &amp;quot;File&amp;quot; and &amp;quot;Make a Copy&amp;quot; buttons. |center]]&lt;br /&gt;
First click the &amp;quot;File&amp;quot; button on the top left. Next, &amp;quot;Make a Copy&amp;quot; of the sheet. Finally, name the copy as desired. &lt;br /&gt;
&lt;br /&gt;
=== Cell Color-Coding ===&lt;br /&gt;
Throughout the spreadsheet, most cells are color-coded. Here&#039;s a brief explanation of each color present in the sheet: &lt;br /&gt;
&lt;br /&gt;
* Green Cells are for user input. If a cell is green, it is intended to contain input data.&lt;br /&gt;
* Grey Cells contain formulas. They will update automatically, and should not be edited.&lt;br /&gt;
* Orange Cells are for user outputs. If a cell is orange, it is intended to be exported elsewhere, such as to a SkyTemple script.&lt;br /&gt;
* Cells without a color or of an unspecified color are typically safe to edit. Always check for a formula first though!&lt;br /&gt;
&lt;br /&gt;
=== Paste Values Only ===&lt;br /&gt;
This tab is the first which will require the use of &amp;quot;Paste Values&amp;quot;. When this guide specifies that a copy/paste must &amp;quot;Paste Values&amp;quot;, this means that the copied text is a formula, and the pasted text should not be a formula. &lt;br /&gt;
[[File:How To Paste Values.png|alt=Depiction of the &amp;quot;Values Only&amp;quot; button in the menu|center|thumb|600x600px|Depiction of the &amp;quot;Values Only&amp;quot; button in the menu]]&lt;br /&gt;
There are two ways to paste values, either by right-clicking the paste location and selecting &amp;quot;Paste Special&amp;quot; then &amp;quot;Values Only&amp;quot;, or by holding shift as you paste. &lt;br /&gt;
&lt;br /&gt;
== Quiz Preamble Generator: A Good First Impression! ==&lt;br /&gt;
The Quiz Preamble Generator Tab as a whole exists to create the very beginning of the quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
Most tabs in the sheet contain an upper panel of some kind, with various simple inputs and feedback on them:&lt;br /&gt;
[[File:Preamble Upper Panel.png|alt=Location of the Quiz Preamble Generator&#039;s Upper Panel.|center|thumb|750x750px|Location of the Quiz Preamble Generator&#039;s Upper Panel.]]&lt;br /&gt;
The &amp;quot;Bottom Screen&amp;quot; and &amp;quot;Top Screen&amp;quot; inputs are the map ID that should be used for that screen&#039;s background. Similarly, the Background Music Name/ID is a BGM name (or number) of the BGM that should play throughout the quiz. The &amp;quot;White Space?&amp;quot; checkbox will attempt to add indents to the output ExplorerScript lines, making the output script more human-readable.&lt;br /&gt;
&lt;br /&gt;
=== Preamble Text ===&lt;br /&gt;
This is the first of many direct inputs for ExplorerScript code. Due to the way spreadsheets store cell data, &amp;quot; &amp;quot; behave weirdly when present in the final script. Please use &#039; &#039; instead. This input is for the first set of dialogue before the questions actually begin. &lt;br /&gt;
[[File:Quiz Preamble Location.png|alt=Location of the Quiz Preamble Inputs|center|thumb|600x600px|Location of the Quiz Preamble Inputs]]&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
The orange output cell on this sheet is largely unimportant, but is present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Starter Selection Generator: Actually Adding the Starters... ==&lt;br /&gt;
This tab of the sheet is primarily for inputting data about the starters, or the personality pools they belong to. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
[[File:Starter Selection Upper Panel.png|alt=The Upper Panel for the &amp;quot;Starter Selection Generator&amp;quot; Tab|thumb|750x750px|Location of the &amp;quot;Upper Panel&amp;quot; for the &amp;quot;Starter Selection Generator&amp;quot; Tab|center]]This upper panel contains 4 inputs, 3 of which are for Special Processes pertaining to starter selection. If other Special Processes have already been added, these Special Process IDs will need to be changed to free slots. The &amp;quot;White Space?&amp;quot; checkbox is the same as before, except for this tab of the sheet. The 4 grey cells are useful statistics about the input starters: how many different pools are used by the starters, how many species are present, and how many options there are for the hero and partner. &lt;br /&gt;
&lt;br /&gt;
=== Personality Pool Input ===&lt;br /&gt;
Next, on the lower right is the nature &amp;quot;Pool&amp;quot; input. These contain the pool name, and the text that should be displayed if that pool is selected by the quiz. &lt;br /&gt;
[[File:Personality Pools Input.png|alt=Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names and descriptions go.|center|thumb|450x450px|Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names/descriptions go.]]&lt;br /&gt;
The &amp;quot;Pool Name&amp;quot; field is only used by the Question Generator Tab, and will not show up anywhere in the final script. Modify these as desired as soon as possible, as it will be difficult to do so after designing the quiz questions. &#039;&#039;&#039;For best results, ensure all pool names are unique!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Starter Species Data ===&lt;br /&gt;
The bottom left segment of the sheet is the &amp;quot;Starter Species Data&amp;quot; input. This is part of a wider table, but each segment will be discussed individually. &lt;br /&gt;
[[File:Starter Species Data Location.png|alt=Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.|center|thumb|750x750px|Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.]]&lt;br /&gt;
While some of these fields should be intuitive, A brief description of each column is as follows:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Species Name:&#039;&#039;&#039; The name of the species as you want it shown in the quiz. If the cell turns purple on entering a species name, this means the Pokémon could not be found in &#039;&#039;&#039;Vanilla Translation Strings&#039;&#039;&#039;. French and German Translations will need to be added by hand, or all strings involving the Pokémon will need to be translated manually.&lt;br /&gt;
* &#039;&#039;&#039;Species ID:&#039;&#039;&#039; The ID in SkyTemple of the Pokémon. &#039;&#039;&#039;[TODO: Explain how this is affected by ExpandPokeList]&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Gender:&#039;&#039;&#039; The gender of the Pokémon, used to set the frame color, and to add &amp;quot;♂&amp;quot; and &amp;quot;♀&amp;quot; to the hero/partner selection list. 0 is Male, 1 is Female, and 2 is Genderless.&lt;br /&gt;
* &#039;&#039;&#039;Pool ID:&#039;&#039;&#039; The number of the Pool the Pokémon should be categorized under. Each Pool that could be chosen by the Quiz should have at least one valid Pokémon, or Bulbasaur will be selected as a failsafe. &#039;&#039;&#039;If the species are not sorted by Pool ID, cells will turn red. The sheet will produce invalid labels if this table is not sorted by Pool ID!&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Start w/ Vowel:&#039;&#039;&#039; If the Pokémon should be referred to as &amp;quot;...an [Pokémon]&amp;quot;, check this box.&lt;br /&gt;
&lt;br /&gt;
=== Talk Group &amp;amp; Role Exclusion ===&lt;br /&gt;
Continuing along the table, the next two subsections are for &amp;quot;Talk Groups&amp;quot; and &amp;quot;Role Exclusion&amp;quot;. Both of these segments relate to either the hero, or the partner.&lt;br /&gt;
[[File:Talk Groups and Role Exclusion.png|alt=Location of Talk Group and Role Exclusion Inputs|center|thumb|300x300px|Location of Talk Group and Role Exclusion Inputs]]&lt;br /&gt;
In the vanilla game, the hero and partner have differing dialogue depending on their species-specific &amp;quot;Talk Group&amp;quot;. These columns are dedicated to assigning the talk group for the hero or partner if that row&#039;s species is chosen. While it handles pronouns for dialogue, especially in gendered languages, it also affects the way the partner&#039;s dialogue is written. It does the same for the hero&#039;s dialogue, but in the English localization it only affects 2 lines in the entire game (&amp;quot;Whoa&amp;quot; &amp;lt;-&amp;gt; &amp;quot;Wah&amp;quot;, &amp;quot;All right&amp;quot; &amp;lt;-&amp;gt; &amp;quot;OK&amp;quot;). This is how they are used in vanilla:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Explorers of Sky Talk Groups&lt;br /&gt;
!#&lt;br /&gt;
!Used By&lt;br /&gt;
!Notable Species&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Partner&lt;br /&gt;
|Male Squirtle/Totodile/Chimchar/Meowth/Munchlax&lt;br /&gt;
|More Masculine/&amp;quot;Rural&amp;quot; Dialogue. (Refers to self as &amp;quot;Oira&amp;quot; in Japanese) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Partner&lt;br /&gt;
|All other Male Pokémon&lt;br /&gt;
|More Masculine/&amp;quot;Boyish&amp;quot; Dialogue. (Refers to self as &amp;quot;Boku&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Partner&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|More Feminine Dialogue. (Refers to self as &amp;quot;Watashi&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Hero&lt;br /&gt;
|All Male/Genderless Pokémon&lt;br /&gt;
|Uses Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Hero&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|Uses Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;Role Exclusion&amp;quot; checkboxes blacklist the row from being an option as a hero or as a partner respectively. Certain Pokémon, particularly Meowth and Munchlax, are unable to be heroes in the vanilla game. This section is how to replicate that feature of the original quiz.&lt;br /&gt;
&lt;br /&gt;
=== Fuwarante Blacklist ===&lt;br /&gt;
Finally, on the far end of the table, is the Fuwarante Blacklist inputs. These are perhaps the most complicated portion of this tab of the sheet.[[File:Fuwarante Blacklist.png|alt=Location of the Fuwarante Blacklist|center|thumb|300x300px|Location of the Fuwarante Blacklist]]Each column corresponds to a bit of the script variable $BIT_FUWARANTE_LOCAL. If the matching flag is on, the starter in that row &#039;&#039;&#039;cannot&#039;&#039;&#039; be chosen. This will be elaborated on further in the &amp;quot;Question Loop Generator&amp;quot;, but this is a brief explanation of what the bits represent by default:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Bit&lt;br /&gt;
!Description/Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|If enabled, $PLAY_OLD_GAME will be true, meaning the player answered that they have played Time/Darkness before.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|If enabled, the player has played EoS before, according to a custom starting question.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|If enabled, the player has participated in a Mystery Mail event before, according toa custom ending question.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|If enabled, the player claimed to be female in the final gender question. Enable for &#039;&#039;&#039;male&#039;&#039;&#039; starters.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|If enabled, the player claimed to be male in the final gender question. Enable for &#039;&#039;&#039;female&#039;&#039;&#039; starters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
Once again, the orange output cells on the far right of this sheet are largely unimportant, but are present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Question Loop Generator: Before, After, and For How Long? ==&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The upper panel of this sheet mostly consists of inputs, though the single output is a reminder of how many unique pools are used by the Starter Selection Generator. The input directly left of it is for telling the Question Loop Generator how many pools are in use, and should be changed to match the display. On the upper left of the panel, there are inputs for how many questions the game should ask the player, and how many questions will be written for the quiz to randomly choose from. In vanilla, there are 64 possible questions, and 8 will be given to the player.&lt;br /&gt;
[[File:Question Loop Generator Upper Panel.png|alt=Location of the Upper Panel of the Question Loop Generator|center|thumb|750x750px|Location of the Upper Panel of the Question Loop Generator]]&lt;br /&gt;
The bottom row consists of checkboxes to enable/disable the Custom/Standard First and Last Questions, such as the Gender Question and the Time/Darkness Question, which boosts recruit rates for certain species if you answer yes, and adds points to certain pools containing sky-exclusive Pokémon. &lt;br /&gt;
&lt;br /&gt;
=== ExplorerScript Pre/Post Quiz Questions ===&lt;br /&gt;
Room for an additional question before and after the quiz has also been made, which along with the Gender and Time/Darkness questions can be modified in the below ExplorerScript inputs:&lt;br /&gt;
[[File:Question Loop Generator ExplorerScript Inputs.png|alt=Location of the ExplorerScript Inputs|center|thumb|600x600px|Location of the ExplorerScript Inputs]]&lt;br /&gt;
These are the primary use-cases for the Fuwarante Blacklist described above. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;[S:0]&amp;quot; text tag will be explained in further detail below. &lt;br /&gt;
&lt;br /&gt;
== Question Generator: Multiple Choice Monotony ==&lt;br /&gt;
Note: The &amp;quot;Yes.&amp;quot; and &amp;quot;No.&amp;quot; options have the &amp;quot;[S:0]&amp;quot; text tag after them. This does functionally nothing, and exists primarily to aid in automatic string translation, as the localization teams translated the same English responses for questions differently based on context. This will be elaborated on further in &amp;quot;Full Script Translation&amp;quot;. If there are no plans to use the sheet&#039;s translation features, it is safe to remove any variants of &amp;quot;[S:0]&amp;quot;. (instructions to do so in SkyTemple directly are present below).&lt;br /&gt;
&lt;br /&gt;
=== About Question Templates ===&lt;br /&gt;
This tab of the sheet is dedicated to the design and storage of the individual random questions in the quiz. The way this sheet works revolves   around &amp;quot;Question Templates&amp;quot; that store the question text, question number, answer text, pool ID, and points for that pool ID. Below is an example of a Question Template, and how it translates to question data: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Do you prefer to be busy or have\na lot of free time?^35 |Being busy.^11^4^8^2|Free time!^9^4|In between.^12^4&lt;br /&gt;
!Question Text&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; |Question #&lt;br /&gt;
|-&lt;br /&gt;
|Do you prefer to be busy or to have a lot of free time?&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; |35&lt;br /&gt;
|-&lt;br /&gt;
!Answer Text&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
|-&lt;br /&gt;
|Being busy.&lt;br /&gt;
|11&lt;br /&gt;
|4&lt;br /&gt;
|8&lt;br /&gt;
|2&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Free time!&lt;br /&gt;
|9&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|In between.&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Question Template Input ===&lt;br /&gt;
&lt;br /&gt;
On the far left, is an input for an existing Question Template.[[File:Question Template Input.png|alt=Question Template Input Location|center|thumb|600x600px|Question Template Input Location]]The &amp;quot;Use Question Template Input&amp;quot; checkbox tells the sheet whether or not to use the Question Template provided. When writing questions entirely from scratch, disable this checkbox. When modifying existing questions, enable the checkbox, and paste in the Question Template. This will subsequently auto-fill the Question Data Inputs with the data within the template. If the auto-filled data itself needs to be altered, you will need to copy and &#039;&#039;&#039;paste values&#039;&#039;&#039; the data, then disable the checkbox.&lt;br /&gt;
&lt;br /&gt;
=== Question Data Inputs ===&lt;br /&gt;
[[File:Question Data Inputs.png|alt=Location of the Question Data Inputs Area|center|thumb|750x750px|Location of the Question Data Inputs Area]]&lt;br /&gt;
The Question Data Inputs Area should seem relatively intuitive. The question text is at the top, the answers are beneath, and up to 4 Personality Pools can gain points from each answer choice. The White Space checkbox is identical to the previous tab, and the question index is just the internal &amp;quot;ID&amp;quot; of the question. It should be incremented for each new question created, and will translate to the ID of the switch case in the final code. Note that the drop-down for the Pool Names is sourced from the Pool Names column of the Starter Selection Generator, and any changes to that list after creating the questions may lead to problems. With the current setup of the sheet, each question is limited to a maximum of 26 answer choices, but this limit is arbitrary, and can be circumvented by editing the question template manually, and pasting it in the Template List. In the event that a single question requires more than 26 choices, please ping happylappy in a support thread.&lt;br /&gt;
&lt;br /&gt;
=== Question Template Output &amp;amp; Template List ===&lt;br /&gt;
Finally, once the question is complete, a template for the question will be created in &amp;quot;Question Template Output&amp;quot;. &lt;br /&gt;
[[File:Question Template Output &amp;amp; Template List.png|alt=Location of Question Template Output &amp;amp; Template List|center|thumb|750x750px|Location of Question Template Output &amp;amp; Template List]]&lt;br /&gt;
Before moving onto the next question, copy the template output, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; in the corresponding slot on the &amp;quot;Question Template List&amp;quot;.   By default, templates for each vanilla question are already in the Question Template List, ready to be edited or modified by copying and pasting into the Question Template Input. The Script Output Column is again for debug purposes, and is read automatically by another tab of the sheet. &lt;br /&gt;
&lt;br /&gt;
== Personality Pool Selection Generator: Gerrymandering and Tie-Breaking ==&lt;br /&gt;
Once the quiz itself is completed, the points need to be tallied, so that a winning pool can be selected. The exact way that this happens in vanilla is a tad complicated, especially when it comes to breaking ties. Here are the steps that occur in vanilla:&lt;br /&gt;
&lt;br /&gt;
# Points are added to pools containing Sky-Exclusive Starters if the player has played Time/Darkness.&lt;br /&gt;
#* If Male is chosen for the gender question, +4 Points are added to Relaxed, Hasty, and Sassy. (Phanpy, Shinx, and Riolu)&lt;br /&gt;
#* If Female is chosen for the gender question, +4 Points are added to Relaxed and Jolly. (Vulpix and Eevee)&lt;br /&gt;
# The highest pool is found, and chosen.&lt;br /&gt;
#* If there is a tie, it is broken by adding a random number (0-19) to each, and rescoring the points.&lt;br /&gt;
#* If there is STILL a tie, it chooses the smallest pool it can.&lt;br /&gt;
This tab of the sheet serves to implement these two features in a customizable way.&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
About half of the upper panel is actually new this time. The &amp;quot;White Space&amp;quot; and &amp;quot;Number/# of Pools In Use&amp;quot; are unchanged, except they apply to this sheet.[[File:Pool Selection Generator Upper Panel.png|alt=Location of Pool Selection Generator Upper Panel|center|thumb|600x600px|Location of Pool Selection Generator Upper Panel]]The checkbox for &amp;quot;Do Pool Tinkering&amp;quot; enables/disables the Pool Tinkering portion of this sheet, while the &amp;quot;Maximum Tiebreaker Points&amp;quot; input determines the random value added to tied pools to decide a victor. Larger numbers result in less chance of a secondary tie, but could result in overflow for certain pools. &lt;br /&gt;
&lt;br /&gt;
=== Pool Tinkering ===&lt;br /&gt;
As stated above, the vanilla quiz favors pools with Sky-Exclusive Starters for the specified gender if they&#039;ve played Time/Darkness. Through checking the BIT_FUWARANTE_LOCAL flags from the &amp;quot;Question Loop Generator&amp;quot;, we can mimic this effect.&lt;br /&gt;
[[File:Pool Tinkering.png|alt=Location of Pool Tinkering Portion.|center|thumb|600x600px|Location of Pool Tinkering Portion.]]&lt;br /&gt;
On the far left, are the IDs of the two flags that should be checked (without modification, this could be 0 for &amp;quot;Time/Darkness&amp;quot;, and 3/4 for &amp;quot;Male/Female&amp;quot;). Depending on if the 1st and 2nd flags are true (1), or false (0), the selected pools (as many as needed) will gain the specified number of points. In order to accommodate for the &amp;quot;Surprise Me!&amp;quot; gender option, 2 points are given for male, 2 for &amp;quot;not male&amp;quot;, 2 for &amp;quot;female&amp;quot;, and 2 for &amp;quot;not female&amp;quot;, in order to influence every pool containing a sky-exclusive starter. (A similar process is done for the Time/Darkness exclusive starters I&#039;ve added to my example quiz, if the player has NOT played time/darkness). Up to 10 slots are present for pool tinkering, though more could be added if there is a pressing need. &lt;br /&gt;
&lt;br /&gt;
== Aura Bow Generator: Fortune Telling and Color Theory ==&lt;br /&gt;
The Aura Bow Generator serves to emulate the cinematics of the vanilla aura bow portion of the quiz. In addition to simply detecting when and for how long the player is touching the Aura Bow, the actual bow color needs to be determined! For the vanilla quiz, the process is as follows:&lt;br /&gt;
&lt;br /&gt;
* Use DS Favorite Color (75% Chance): If the DS Favorite Color is selected, the user&#039;s favorite color will match the color of the bow.&lt;br /&gt;
* Use DS Mac Address (25% Chance): If the Mac Address is selected, then &amp;quot;mac_address &amp;amp; 0xF&amp;quot; determines the color of the bow.&lt;br /&gt;
&lt;br /&gt;
This functionality can be replicated by QuizMenuTool, and the chances can even be altered!&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The Aura Bow Generator&#039;s Upper Panel is one of the largest of every tab, though many of these inputs are similar to prior tabs of the sheet. The top left input boxes are Special Process IDs for the 4 Special Processes needed to emulate the Aura Bow portion of the quiz, and the &amp;quot;White Space?&amp;quot; Checkbox is the same as always. The &amp;quot;Aura Bow Output&amp;quot; on the top right is the final script output for this tab, unnecessary outside of debug purposes.&lt;br /&gt;
[[File:Aura Bow Generator Upper Panel.png|alt=Location of the Aura Bow Generator Upper Panel.|center|thumb|600x600px|Location of the Aura Bow Generator Upper Panel.]]&lt;br /&gt;
Beginning with the bottom left of the panel, there are 4 map LEVEL names. &amp;quot;Bottom 1&amp;quot; is for the background while touching the Aura bow, Bottom Screen 2 is for the presentation of the colored Aura Bow, and the Bottom/Top Screen 3 is the backgrounds that the script should end with, when transitioning to the starter reveal. Finally, on the bottom right of the upper panel is the &amp;quot;Touch Screen Aura Bow Object Name&amp;quot;. Per the name, this is the name or ID of the object that should be present on the bottom screen, that will animate when the player touches it. The last three digits of the object seem to vary depending on unknown factors, so be sure to verify that yours matches by inspecting this object in M00A01A with SkyTemple.&lt;br /&gt;
[[File:Aura Bow Touch Object Name.png|alt=Where to check the Aura Bow Touch Object Name in SkyTemple|center|thumb|600x600px|Where to check the Aura Bow Touch Object Name in SkyTemple]]&lt;br /&gt;
&lt;br /&gt;
=== Aura Reading Panel ===&lt;br /&gt;
Beginning on the lower left of the tab, the Aura Reading Panel consists of 3 ExplorerScript code segments, which play before the blank aura bow fades in, after the aura bow fades in, and if the player lets go of the touch screen too quickly. &lt;br /&gt;
[[File:Aura Reading Panel.png|alt=Location of the Aura Reading Panel.|center|thumb|600x600px|Location of the Aura Reading Panel.]]&lt;br /&gt;
At the very bottom of this panel, there are inputs for dialogue in all 5 languages that will play during the aura reading process. Unlike most text in the quiz, &#039;&#039;&#039;this string must be translated here&#039;&#039;&#039;, as every localization takes a different amount of time to print the dialogue. The length of time the touch screen should have been held for is calculated for each [W:X] text tag, and compared against the actual length of time the touch screen was held. Customizing this text string is possible in the box, so these calculations must be done by the sheet. If your hack is for a US ROM, or will be english-only, disable the &amp;quot;Use EU Strings&amp;quot; Checkbox. &amp;quot;Expected Text Speed (# of chars per frame)&amp;quot; should be the speed your dialogue prints at in SkyTemple. This will ensure that the actual length of the text is properly accounted for in the calculation. &amp;quot;Touch Screen Frame Tolerance&amp;quot; is a grace period for letting go of the bow. This is necessary for certain emulators, damaged touch-screens, failure to account for the dialogue box opening/closing, etc. Feel free to adjust as desired, such that the quiz is possible to complete. &lt;br /&gt;
&lt;br /&gt;
=== Bow Selection Panel ===&lt;br /&gt;
Finally, the Bow Selection Panel handles the actual selection and presentation of the Aura Bow. [[File:Bow Selection Panel.png|alt=Bow Selection Panel Location.|center|thumb|600x600px|Bow Selection Panel Location.]]The upper left of the panel is for assigning weights to the three methods for selecting a bow color: DS Favorite Color, DS MAC Address, or a custom block of code. Note that these weights &#039;&#039;&#039;must be integers&#039;&#039;&#039; or the sheet will generate invalid code. For convenience, the percent chance of each option is computed by the sheet, based on the weights and total weight. The ExplorerScript input for the custom bow selection is on the right of this panel, and on the bottom left is the flavor-text for each bow color. &lt;br /&gt;
&lt;br /&gt;
== Variable Cleanup &amp;amp; End-Cap Generator: Nearly Finished! ==&lt;br /&gt;
This tab of the sheet aims to clean up the bevy of variables used by the quiz, and prep the game for actually running. Since QMT uses a majority of the script variables the game has to function, this tab resets them all back to what they should be at the beginning of a save file, now that the quiz no longer needs them. If some part of the quiz needs to be remembered, such as the color of the aura bow, whether the player has played Time/Darkness, or the winning Quiz personality pool, that needs to be preserved in this tab. In addition, this is the tab where the starters are officially initialized, which allows them to be nicknamed. Finally, the special process for actually assigning the starters, PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ, will wipe $CONFIG_COLOR_KIND clean, replacing it with what the real quiz determined your aura bow color to be. Because the real quiz never runs during QMT, this will always be zero. As a result, the aura bow color needs to be saved somewhere besides $CONFIG_COLOR_KIND, then returned afterwards.  &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
This tab ALSO has an upper panel! The number of pools to clear should ideally match the number of pools in use. &amp;quot;White Space&amp;quot; does the same thing it has up to this point, and the far right output cell is read elsewhere, and only exists for debug purposes.&lt;br /&gt;
[[File:Variable Cleanup &amp;amp; End-Cap Upper Panel.png|alt=Variable Cleanup &amp;amp; End-Cap Upper Panel Location.|center|thumb|600x600px|Variable Cleanup &amp;amp; End-Cap Upper Panel Location.]]&lt;br /&gt;
In the center of the panel are three new checkboxes. &amp;quot;Name Partner?&amp;quot; and &amp;quot;Name Hero?&amp;quot; should be somewhat intuitive, they enable/disable the ExplorerScript inputs for naming the hero and partner respectively, which will be elaborated on below. Finally, &amp;quot;Set $VERSION to 1?&amp;quot; sets the &amp;quot;$VERSION&amp;quot; script variable to 1 at the very end of the script. Without ASM modification, saving the game with this variable as anything besides 1 results in a &amp;quot;corrupt&amp;quot; save file. In the absence of a strong reason otherwise, this box should remain checked.&lt;br /&gt;
&lt;br /&gt;
=== Hero Name, Partner Name, &amp;amp; Closing Remarks ===&lt;br /&gt;
These ExplorerScript Inputs are for... the code used for nicknaming the partner and hero respectively, as well as the last few lines of text before the quiz truly ends.[[File:Hero-Partner-Closing Remarks Input.png|alt=Location of ExplorerScript Code Inputs.|center|thumb|600x600px|Location of ExplorerScript Code Inputs.]]Note that MENU_PARTNER_NAME will not function without the dedicated SkyPatch, in the QMT github repo (linked at the top). Additionally, the menus themselves will close any active text-box the instant they are done printing, which is why the hero monologue ends with a [K]. A message_Close(); would also suffice. Finally, the closing remarks should actually fade out the bgm and screen as desired. Feel free to optimize the fades, there is probably a more efficient way to achieve the right effect. &lt;br /&gt;
&lt;br /&gt;
=== Script Variable Preservation Panel ===&lt;br /&gt;
The Script Variable Preservation Panel serves to determine what information should be preserved after the quiz. By default, only the variables storing the personality pool counts are actually being erased, though certain configurations may require some variables to be kept, and others to be wiped in addition.[[File:Script Variable Preservation Panel.png|alt=Script Variable Preservation Panel Location.|center|thumb|600x600px|Script Variable Preservation Panel Location.]]Beginning at the top, is the &amp;quot;Variable Erasure Blacklist&amp;quot;. Based on other interactions with the sheet, the &amp;quot;Automatic Variables&amp;quot; will fill up automatically, but any script variables specified in this row will be kept as they are at the end of the quiz, and not erased. An example of a manual blacklist example might be $VERSION, which doesn&#039;t need a dedicated line of code for erasure if it will ALSO be set to 1 at the end. The next row, &amp;quot;Additional Variables to Erase&amp;quot;, will be added to the list of erased variables if they are not already present. The $BIT_FUWARANTE_LOCAL variables should be erased in addition, as the Driftblim Gondola will interpret these variables as valid station passes to enter. Below that, is the &amp;quot;Variable Transfer Table&amp;quot;. Prior to erasing anything, variables in the &amp;quot;Old Variable Name&amp;quot; column will be moved to the &amp;quot;New Variable Name&amp;quot;. The old variable will be slated for erasure, while the new one will be spared. For convenience, the &amp;quot;Variable Meaning&amp;quot; Tab on the left will autofill one or both of these columns depending on the option you select:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable Meaning&lt;br /&gt;
!Old Variable Name&lt;br /&gt;
!New Variable Name&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Preserve&lt;br /&gt;
|$CONFIG_COLOR_KIND&lt;br /&gt;
|$LOCAL0&lt;br /&gt;
|If this Variable Meaning is present, $CONFIG_COLOR_KIND will be restored in post. It&#039;s only purpose is to prevent the quiz from wiping the variable on running  &amp;quot;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|Winning Pool&lt;br /&gt;
|$SCENARIO_SUB7&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the winning Pool ID from the quiz itself. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Winning Points&lt;br /&gt;
|$SCENARIO_SUB6&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the number of points the winning Pool ID had after the tie-breaking process. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Fuwarante Bit X&lt;br /&gt;
|$BIT_FUWARANTE_LOCAL[X]&lt;br /&gt;
|Any&lt;br /&gt;
|These correspond directly to the FUWARANTE blacklist, and in this example is used to pass forward the Time/Darkness question to $PLAY_OLD_GAME, the variable responsible for the recruitment rate buff for playing Time/Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|Direct Script Variable&lt;br /&gt;
|Any&lt;br /&gt;
|Any&lt;br /&gt;
|This is an invitation to input whatever script variables are needed, and will adjust the coloration of the row to match. &lt;br /&gt;
|}&lt;br /&gt;
A full list of script variables with their appropriate descriptions will be provided in &amp;quot;Other Resources&amp;quot;, and might prove useful for more advanced tinkering in this panel.&lt;br /&gt;
&lt;br /&gt;
== Full Script Translation: EU ROM Superiority ==&lt;br /&gt;
This tab of the sheet is dedicated to translating all lines of dialogue into Spanish, French, German, and Italian, for an EU ROM. If the hack this is for doesn&#039;t need translation, this tab can be completely skipped. One of the most essential features of a translated quiz is the ability to pre-translate the vanilla text strings from the original quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
By default, the left-most checkbox of the upper panel will &amp;quot;activate&amp;quot; this sheet for translation. This may cause lag, and will cause more lag every time a change is made on one of the prior sheets, while enabled. Only begin translating once finished with the quiz, at least in the short term. [[File:Full Script Translation Upper Panel.png|alt=Location of the Full Script Translation Upper Panel.|center|thumb|600x600px|Location of the Full Script Translation Upper Panel.]]The &amp;quot;Auto-Translate Vanilla Strings&amp;quot; check-box will automatically search for and translate exact matches to vanilla Quiz strings. Additional translations can be added in &amp;quot;Vanilla Translation Strings&amp;quot; as needed. If no exact match is found, the translation will be left blank for manual translation. &amp;quot;Auto-Translate Pokemon&amp;quot; similarly will attempt to translate exact matches for dialogue specific to the final species. For example, &amp;quot;[R][CN]Will be a [CS:K]Magnemite[CR]![W:60]&amp;quot; will be automatically translated to &amp;quot;[R][CN]wird ein [CS:K]Magnetilo[CR]![W:60]&amp;quot; (German), based on Magnemite&#039;s German name and the phrase &amp;quot;wird ein ___!&amp;quot;. This will only occur if the checkbox is enabled, and only for Pokemon names present in &amp;quot;Vanilla Translation Strings&amp;quot;. Finally, the &amp;quot;Trim [S:0] Before Translation&amp;quot; checkbox will remove all &amp;quot;[S:0]&amp;quot; text tags from the dialogue before searching for a match, ensuring that the various &amp;quot;Yes.&amp;quot;, &amp;quot;No.&amp;quot;. &amp;quot;Of Course!&amp;quot;, and &amp;quot;Open it!&amp;quot; are not translated automatically, per their vanilla quiz questions. Regardless of whether this checkbox is enabled, the final script output will not contain the &amp;quot;[S:0]&amp;quot; tags. &lt;br /&gt;
&lt;br /&gt;
=== String Translation Panel ===&lt;br /&gt;
The string translation panel, on the right of this tab, is where text string translation will actually occur. &lt;br /&gt;
[[File:String Translation Panel.png|alt=Location of String Translation Panel.|center|thumb|600x600px|Location of String Translation Panel.]]&lt;br /&gt;
On the left, are English lines of text extracted from other tabs of the sheet. each column corresponds to an EU language (Spanish, French, German, Italian). At the top of each column, is a count of how many untranslated lines of dialogue are left for that language, as well as a checkbox to enable/disable each language. In the above screenshot, French dialogue will not be added to the final script, because the checkbox is enabled. In the rows themselves, are pink cells (vanilla translated text), green cells (empty), and blue cells (manual translation). Simply review each pink cell, and manually translate the English for that row for green cells so they turn blue. If a pink cell needs editing, simply copy the cell, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; it on top of itself, and it will turn blue, which is safe to edit. &lt;br /&gt;
&lt;br /&gt;
== Vanilla Translation Strings: Future-Proofing The Sheet ==&lt;br /&gt;
This tab of the sheet is used to store vanilla strings from the base game, and official Pokemon translations. These can be amended and edited as desired, to include custom strings for auto-translation, or new Pokemon name translations. &lt;br /&gt;
[[File:Vanilla Translation Strings Dialogue.png|alt=Vanilla Translation Strings Dialogue|center|thumb|600x600px|Vanilla Translation Strings Dialogue]]&lt;br /&gt;
This area above contains all relevant vanilla strings, which can be added to or amended as desired, in the green cells in these 5 columns. If a need arises to make changes to the quiz after translation, it is best to move all manually translated lines to this tab, before making any changes. Additionally, the lookup table for Pokemon species names can be modified:&lt;br /&gt;
[[File:Vanilla Translation Strings Species.png|alt=Vanilla Translation Strings Species|center|thumb|452x452px|Vanilla Translation Strings Species]]&lt;br /&gt;
On the far right of the tab, are a list of every Pokemon through Scarlet &amp;amp; Violet, and the French/German translations for each species (Spanish and Italian use English species names). These can also be amended or added to as desired. &lt;br /&gt;
&lt;br /&gt;
== Full Script Compression: It&#039;s Finally Over? ==&lt;br /&gt;
Last but not least, is the Full Script Compression Tab. This tab compiles all of the information from the other tabs, and compresses it into a copy/pastable batch of scripts for SkyTemple. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
There are a handful of settings in this upper panel. &amp;quot;White Space&amp;quot; is as it has been for every prior tab, but that&#039;s the only returning input.&lt;br /&gt;
[[File:Full Script Compression Upper Panel.png|alt=Full Script Compression Upper Panel Location.|center|thumb|600x600px|Full Script Compression Upper Panel Location.]]&lt;br /&gt;
&amp;quot;Use Full MegaScript&amp;quot; will compile the entire quiz into one script. This is only possible for English-only quizzes, and is only advised for quizzes with few questions and fewer starter choices. &amp;quot;Use Translated Scripts?&amp;quot; will use the outputs from Full Script Translation, which will be empty if the sheet is not active. Disable this checkbox for English-only quizzes. &amp;quot;Generate Unionall CORO&amp;quot; will create the unionall code needed to run the quiz, for a copy and paste replacement for the existing &#039;&#039;&#039;CORO EVENT_M00A_01&#039;&#039;&#039; coroutine. The &amp;quot;Script File LEVEL Name&amp;quot; should reflect the location of the map LEVEL &amp;quot;folder&amp;quot; that the script file will actually be under. The &amp;quot;Script File SCRIPT Name&amp;quot; should become the name of the acting script itself, and should be 8 alphanumerical characters or fewer (not case-sensitive). Finally, the &amp;quot;Sector Param.&amp;quot; is the sector parameter of the supervision_ActingSub() Opcode. Generally this should be zero, though none of these scripts internally utilize the sector parameter, should it be of interest for customization.&lt;br /&gt;
&lt;br /&gt;
=== SkyTemple Script Outputs ===&lt;br /&gt;
This portion of the sheet consists of outputs to SkyTemple. Unlike most output cells thus far, these are actually intended for use!&lt;br /&gt;
[[File:SkyTemple Script Outputs.png|alt=SkyTemple Script Outputs Location.|center|thumb|600x600px|SkyTemple Script Outputs Location.]]&lt;br /&gt;
The intended places for each of these outputs will be described in &amp;quot;Importing The Scripts To SkyTemple&amp;quot;, but when copying a script, be sure to copy all cells in the box with text.&lt;br /&gt;
&lt;br /&gt;
== Importing The Scripts To SkyTemple ==&lt;br /&gt;
&lt;br /&gt;
=== Converting From StarterMenuTool ===&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
&lt;br /&gt;
=== QMT Script Variable Map ===&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1180</id>
		<title>QuizMenuTool Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1180"/>
		<updated>2025-08-09T01:55:54Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* What Limitations does QuizMenuTool have? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;{{SkyTempleIcon|icon=skytemple-dialog-error-symbolic}} This article is unfinished. You can help &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:{{PAGENAME}}|veaction=edit}} expanding it]&amp;lt;/span&amp;gt;.&#039;&#039;&amp;lt;hr&amp;gt;This guide explains how to use QuizMenuTool to create a custom Personality Quiz. The bulk of this guide will explain the use of the google sheets portion of the tool. A rudimentary understanding of SkyTemple scripting will be assumed, namely adding new acting scenes, and adding scenes to unionall.ssb. These topics have/will be covered in other wiki articles. &lt;br /&gt;
&lt;br /&gt;
== About QuizMenuTool ==&lt;br /&gt;
&lt;br /&gt;
=== What Is QuizMenuTool? ===&lt;br /&gt;
QuizMenuTool is a customizable ExplorerScript replica of the Explorers of Sky Personality Quiz and Starter Selection, with minimal hardcoded aspects. The original quiz was designed to consist mostly of message_Menu ASM, and this serves to &lt;br /&gt;
&lt;br /&gt;
=== What can QuizMenuTool do? ===&lt;br /&gt;
QuizMenuTool can modify the process of using the quiz to select a starter, expand/reduce the starter list, add/remove/modify questions from the quiz, and much more! In fact, the better question might be...&lt;br /&gt;
&lt;br /&gt;
=== What Limitations does QuizMenuTool have? ===&lt;br /&gt;
There are a few critical things QuizMenuTool was not designed to do, though many of these could be remedied in the future if enough demand exists. Here&#039;s a list of what QuizMenuTool fails to replicate from the vanilla quiz:&lt;br /&gt;
&lt;br /&gt;
* Hero/Partner Type Exclusion: In the vanilla quiz, the hero and partner are prevented from sharing a type, to encourage team balance. No   option for such a restriction has been implemented yet, though such a thing would be possible in the future, or be scripted manually for a specific hack. &lt;br /&gt;
* SwitchMenu Portraits: In the vanilla quiz, scrolling to a partner choice displays a portrait of that partner, which gradually changes in expression. This feature would require significant custom code to emulate, and is unlikely to be available for QuizMenuTool.&lt;br /&gt;
* Third Party Starter Tweaks: The original starter list used by the vanilla quiz is not used in any way by QuizMenuTool. Players of a hack using QuizMenuTool will have difficulty adding their own starters to the game, though this could potentially be remedied with a special process checking the starter list against what it is expected to be, and assigning the desired starter if a mismatch is found?&lt;br /&gt;
* Incompatibility with Japanese ROMs: Currently, QuizMenuTool is designed to only work for NA and EU ROMs. while in theory a Japanese Quiz could be designed, the Special Processes are not Japanese-compatible. This could be remedied with little effort, but the tool is designed for EU/NA ROMs.&lt;br /&gt;
&lt;br /&gt;
== Who QuizMenuTool is for ==&lt;br /&gt;
If either of the below points do not apply to you, you do not need QuizMenuTool.&lt;br /&gt;
* You would like to expand (or shrink) the list of starter options in the game.&lt;br /&gt;
* You would like to keep the personality quiz in the game, or edit the quiz directly.&lt;br /&gt;
If you only want to change the size of the starter list, and do not want the personality quiz (as if the [[SkipQuiz]] patch is applied), you should instead use [https://github.com/Chesyon/StarterMenuTool StarterMenuTool], which is less powerful but requires much less work to set up.&lt;br /&gt;
&lt;br /&gt;
== Programs and Files ==&lt;br /&gt;
&lt;br /&gt;
=== Required Programs and Files ===&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1snwIq3-GHntcPTBwH-TJ5Ctk0a8l4pwXTZYwCs53dwo/edit?usp=sharing Explorers of Sky Personality Quiz Assembling Sheet]&lt;br /&gt;
* [https://github.com/HappyLappy1/EOS-QuizGenerationTool-ASM Necessary Special Processes and SkyPatches]&lt;br /&gt;
* [[SkyTemple]] &lt;br /&gt;
&lt;br /&gt;
== General Spreadsheet Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Making a Copy of the Sheet ===&lt;br /&gt;
The above link does NOT grant edit access. In order to use the sheet, a copy will need to be made as follows:&lt;br /&gt;
[[File:Copying a Spreadsheet.png|thumb|750x750px|Location of the &amp;quot;File&amp;quot; and &amp;quot;Make a Copy&amp;quot; buttons. |center]]&lt;br /&gt;
First click the &amp;quot;File&amp;quot; button on the top left. Next, &amp;quot;Make a Copy&amp;quot; of the sheet. Finally, name the copy as desired. &lt;br /&gt;
&lt;br /&gt;
=== Cell Color-Coding ===&lt;br /&gt;
Throughout the spreadsheet, most cells are color-coded. Here&#039;s a brief explanation of each color present in the sheet: &lt;br /&gt;
&lt;br /&gt;
* Green Cells are for user input. If a cell is green, it is intended to contain input data.&lt;br /&gt;
* Grey Cells contain formulas. They will update automatically, and should not be edited.&lt;br /&gt;
* Orange Cells are for user outputs. If a cell is orange, it is intended to be exported elsewhere, such as to a SkyTemple script.&lt;br /&gt;
* Cells without a color or of an unspecified color are typically safe to edit. Always check for a formula first though!&lt;br /&gt;
&lt;br /&gt;
=== Paste Values Only ===&lt;br /&gt;
This tab is the first which will require the use of &amp;quot;Paste Values&amp;quot;. When this guide specifies that a copy/paste must &amp;quot;Paste Values&amp;quot;, this means that the copied text is a formula, and the pasted text should not be a formula. &lt;br /&gt;
[[File:How To Paste Values.png|alt=Depiction of the &amp;quot;Values Only&amp;quot; button in the menu|center|thumb|600x600px|Depiction of the &amp;quot;Values Only&amp;quot; button in the menu]]&lt;br /&gt;
There are two ways to paste values, either by right-clicking the paste location and selecting &amp;quot;Paste Special&amp;quot; then &amp;quot;Values Only&amp;quot;, or by holding shift as you paste. &lt;br /&gt;
&lt;br /&gt;
== Quiz Preamble Generator: A Good First Impression! ==&lt;br /&gt;
The Quiz Preamble Generator Tab as a whole exists to create the very beginning of the quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
Most tabs in the sheet contain an upper panel of some kind, with various simple inputs and feedback on them:&lt;br /&gt;
[[File:Preamble Upper Panel.png|alt=Location of the Quiz Preamble Generator&#039;s Upper Panel.|center|thumb|750x750px|Location of the Quiz Preamble Generator&#039;s Upper Panel.]]&lt;br /&gt;
The &amp;quot;Bottom Screen&amp;quot; and &amp;quot;Top Screen&amp;quot; inputs are the map ID that should be used for that screen&#039;s background. Similarly, the Background Music Name/ID is a BGM name (or number) of the BGM that should play throughout the quiz. The &amp;quot;White Space?&amp;quot; checkbox will attempt to add indents to the output ExplorerScript lines, making the output script more human-readable.&lt;br /&gt;
&lt;br /&gt;
=== Preamble Text ===&lt;br /&gt;
This is the first of many direct inputs for ExplorerScript code. Due to the way spreadsheets store cell data, &amp;quot; &amp;quot; behave weirdly when present in the final script. Please use &#039; &#039; instead. This input is for the first set of dialogue before the questions actually begin. &lt;br /&gt;
[[File:Quiz Preamble Location.png|alt=Location of the Quiz Preamble Inputs|center|thumb|600x600px|Location of the Quiz Preamble Inputs]]&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
The orange output cell on this sheet is largely unimportant, but is present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Starter Selection Generator: Actually Adding the Starters... ==&lt;br /&gt;
This tab of the sheet is primarily for inputting data about the starters, or the personality pools they belong to. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
[[File:Starter Selection Upper Panel.png|alt=The Upper Panel for the &amp;quot;Starter Selection Generator&amp;quot; Tab|thumb|750x750px|Location of the &amp;quot;Upper Panel&amp;quot; for the &amp;quot;Starter Selection Generator&amp;quot; Tab|center]]This upper panel contains 4 inputs, 3 of which are for Special Processes pertaining to starter selection. If other Special Processes have already been added, these Special Process IDs will need to be changed to free slots. The &amp;quot;White Space?&amp;quot; checkbox is the same as before, except for this tab of the sheet. The 4 grey cells are useful statistics about the input starters: how many different pools are used by the starters, how many species are present, and how many options there are for the hero and partner. &lt;br /&gt;
&lt;br /&gt;
=== Personality Pool Input ===&lt;br /&gt;
Next, on the lower right is the nature &amp;quot;Pool&amp;quot; input. These contain the pool name, and the text that should be displayed if that pool is selected by the quiz. &lt;br /&gt;
[[File:Personality Pools Input.png|alt=Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names and descriptions go.|center|thumb|450x450px|Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names/descriptions go.]]&lt;br /&gt;
The &amp;quot;Pool Name&amp;quot; field is only used by the Question Generator Tab, and will not show up anywhere in the final script. Modify these as desired as soon as possible, as it will be difficult to do so after designing the quiz questions. &#039;&#039;&#039;For best results, ensure all pool names are unique!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Starter Species Data ===&lt;br /&gt;
The bottom left segment of the sheet is the &amp;quot;Starter Species Data&amp;quot; input. This is part of a wider table, but each segment will be discussed individually. &lt;br /&gt;
[[File:Starter Species Data Location.png|alt=Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.|center|thumb|750x750px|Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.]]&lt;br /&gt;
While some of these fields should be intuitive, A brief description of each column is as follows:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Species Name:&#039;&#039;&#039; The name of the species as you want it shown in the quiz. If the cell turns purple on entering a species name, this means the Pokémon could not be found in &#039;&#039;&#039;Vanilla Translation Strings&#039;&#039;&#039;. French and German Translations will need to be added by hand, or all strings involving the Pokémon will need to be translated manually.&lt;br /&gt;
* &#039;&#039;&#039;Species ID:&#039;&#039;&#039; The ID in SkyTemple of the Pokémon. &#039;&#039;&#039;[TODO: Explain how this is affected by ExpandPokeList]&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Gender:&#039;&#039;&#039; The gender of the Pokémon, used to set the frame color, and to add &amp;quot;♂&amp;quot; and &amp;quot;♀&amp;quot; to the hero/partner selection list. 0 is Male, 1 is Female, and 2 is Genderless.&lt;br /&gt;
* &#039;&#039;&#039;Pool ID:&#039;&#039;&#039; The number of the Pool the Pokémon should be categorized under. Each Pool that could be chosen by the Quiz should have at least one valid Pokémon, or Bulbasaur will be selected as a failsafe. &#039;&#039;&#039;If the species are not sorted by Pool ID, cells will turn red. The sheet will produce invalid labels if this table is not sorted by Pool ID!&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Start w/ Vowel:&#039;&#039;&#039; If the Pokémon should be referred to as &amp;quot;...an [Pokémon]&amp;quot;, check this box.&lt;br /&gt;
&lt;br /&gt;
=== Talk Group &amp;amp; Role Exclusion ===&lt;br /&gt;
Continuing along the table, the next two subsections are for &amp;quot;Talk Groups&amp;quot; and &amp;quot;Role Exclusion&amp;quot;. Both of these segments relate to either the hero, or the partner.&lt;br /&gt;
[[File:Talk Groups and Role Exclusion.png|alt=Location of Talk Group and Role Exclusion Inputs|center|thumb|300x300px|Location of Talk Group and Role Exclusion Inputs]]&lt;br /&gt;
In the vanilla game, the hero and partner have differing dialogue depending on their species-specific &amp;quot;Talk Group&amp;quot;. These columns are dedicated to assigning the talk group for the hero or partner if that row&#039;s species is chosen. While it handles pronouns for dialogue, especially in gendered languages, it also affects the way the partner&#039;s dialogue is written. It does the same for the hero&#039;s dialogue, but in the English localization it only affects 2 lines in the entire game (&amp;quot;Whoa&amp;quot; &amp;lt;-&amp;gt; &amp;quot;Wah&amp;quot;, &amp;quot;All right&amp;quot; &amp;lt;-&amp;gt; &amp;quot;OK&amp;quot;). This is how they are used in vanilla:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Explorers of Sky Talk Groups&lt;br /&gt;
!#&lt;br /&gt;
!Used By&lt;br /&gt;
!Notable Species&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Partner&lt;br /&gt;
|Male Squirtle/Totodile/Chimchar/Meowth/Munchlax&lt;br /&gt;
|More Masculine/&amp;quot;Rural&amp;quot; Dialogue. (Refers to self as &amp;quot;Oira&amp;quot; in Japanese) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Partner&lt;br /&gt;
|All other Male Pokémon&lt;br /&gt;
|More Masculine/&amp;quot;Boyish&amp;quot; Dialogue. (Refers to self as &amp;quot;Boku&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Partner&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|More Feminine Dialogue. (Refers to self as &amp;quot;Watashi&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Hero&lt;br /&gt;
|All Male/Genderless Pokémon&lt;br /&gt;
|Uses Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Hero&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|Uses Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;Role Exclusion&amp;quot; checkboxes blacklist the row from being an option as a hero or as a partner respectively. Certain Pokémon, particularly Meowth and Munchlax, are unable to be heroes in the vanilla game. This section is how to replicate that feature of the original quiz.&lt;br /&gt;
&lt;br /&gt;
=== Fuwarante Blacklist ===&lt;br /&gt;
Finally, on the far end of the table, is the Fuwarante Blacklist inputs. These are perhaps the most complicated portion of this tab of the sheet.[[File:Fuwarante Blacklist.png|alt=Location of the Fuwarante Blacklist|center|thumb|300x300px|Location of the Fuwarante Blacklist]]Each column corresponds to a bit of the script variable $BIT_FUWARANTE_LOCAL. If the matching flag is on, the starter in that row &#039;&#039;&#039;cannot&#039;&#039;&#039; be chosen. This will be elaborated on further in the &amp;quot;Question Loop Generator&amp;quot;, but this is a brief explanation of what the bits represent by default:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Bit&lt;br /&gt;
!Description/Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|If enabled, $PLAY_OLD_GAME will be true, meaning the player answered that they have played Time/Darkness before.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|If enabled, the player has played EoS before, according to a custom starting question.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|If enabled, the player has participated in a Mystery Mail event before, according toa custom ending question.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|If enabled, the player claimed to be female in the final gender question. Enable for &#039;&#039;&#039;male&#039;&#039;&#039; starters.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|If enabled, the player claimed to be male in the final gender question. Enable for &#039;&#039;&#039;female&#039;&#039;&#039; starters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
Once again, the orange output cells on the far right of this sheet are largely unimportant, but are present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Question Loop Generator: Before, After, and For How Long? ==&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The upper panel of this sheet mostly consists of inputs, though the single output is a reminder of how many unique pools are used by the Starter Selection Generator. The input directly left of it is for telling the Question Loop Generator how many pools are in use, and should be changed to match the display. On the upper left of the panel, there are inputs for how many questions the game should ask the player, and how many questions will be written for the quiz to randomly choose from. In vanilla, there are 64 possible questions, and 8 will be given to the player.&lt;br /&gt;
[[File:Question Loop Generator Upper Panel.png|alt=Location of the Upper Panel of the Question Loop Generator|center|thumb|750x750px|Location of the Upper Panel of the Question Loop Generator]]&lt;br /&gt;
The bottom row consists of checkboxes to enable/disable the Custom/Standard First and Last Questions, such as the Gender Question and the Time/Darkness Question, which boosts recruit rates for certain species if you answer yes, and adds points to certain pools containing sky-exclusive Pokémon. &lt;br /&gt;
&lt;br /&gt;
=== ExplorerScript Pre/Post Quiz Questions ===&lt;br /&gt;
Room for an additional question before and after the quiz has also been made, which along with the Gender and Time/Darkness questions can be modified in the below ExplorerScript inputs:&lt;br /&gt;
[[File:Question Loop Generator ExplorerScript Inputs.png|alt=Location of the ExplorerScript Inputs|center|thumb|600x600px|Location of the ExplorerScript Inputs]]&lt;br /&gt;
These are the primary use-cases for the Fuwarante Blacklist described above. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;[S:0]&amp;quot; text tag will be explained in further detail below. &lt;br /&gt;
&lt;br /&gt;
== Question Generator: Multiple Choice Monotony ==&lt;br /&gt;
Note: The &amp;quot;Yes.&amp;quot; and &amp;quot;No.&amp;quot; options have the &amp;quot;[S:0]&amp;quot; text tag after them. This does functionally nothing, and exists primarily to aid in automatic string translation, as the localization teams translated the same English responses for questions differently based on context. This will be elaborated on further in &amp;quot;Full Script Translation&amp;quot;. If there are no plans to use the sheet&#039;s translation features, it is safe to remove any variants of &amp;quot;[S:0]&amp;quot;. (instructions to do so in SkyTemple directly are present below).&lt;br /&gt;
&lt;br /&gt;
=== About Question Templates ===&lt;br /&gt;
This tab of the sheet is dedicated to the design and storage of the individual random questions in the quiz. The way this sheet works revolves   around &amp;quot;Question Templates&amp;quot; that store the question text, question number, answer text, pool ID, and points for that pool ID. Below is an example of a Question Template, and how it translates to question data: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Do you prefer to be busy or have\na lot of free time?^35 |Being busy.^11^4^8^2|Free time!^9^4|In between.^12^4&lt;br /&gt;
!Question Text&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; |Question #&lt;br /&gt;
|-&lt;br /&gt;
|Do you prefer to be busy or to have a lot of free time?&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; |35&lt;br /&gt;
|-&lt;br /&gt;
!Answer Text&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
|-&lt;br /&gt;
|Being busy.&lt;br /&gt;
|11&lt;br /&gt;
|4&lt;br /&gt;
|8&lt;br /&gt;
|2&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Free time!&lt;br /&gt;
|9&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|In between.&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Question Template Input ===&lt;br /&gt;
&lt;br /&gt;
On the far left, is an input for an existing Question Template.[[File:Question Template Input.png|alt=Question Template Input Location|center|thumb|600x600px|Question Template Input Location]]The &amp;quot;Use Question Template Input&amp;quot; checkbox tells the sheet whether or not to use the Question Template provided. When writing questions entirely from scratch, disable this checkbox. When modifying existing questions, enable the checkbox, and paste in the Question Template. This will subsequently auto-fill the Question Data Inputs with the data within the template. If the auto-filled data itself needs to be altered, you will need to copy and &#039;&#039;&#039;paste values&#039;&#039;&#039; the data, then disable the checkbox.&lt;br /&gt;
&lt;br /&gt;
=== Question Data Inputs ===&lt;br /&gt;
[[File:Question Data Inputs.png|alt=Location of the Question Data Inputs Area|center|thumb|750x750px|Location of the Question Data Inputs Area]]&lt;br /&gt;
The Question Data Inputs Area should seem relatively intuitive. The question text is at the top, the answers are beneath, and up to 4 Personality Pools can gain points from each answer choice. The White Space checkbox is identical to the previous tab, and the question index is just the internal &amp;quot;ID&amp;quot; of the question. It should be incremented for each new question created, and will translate to the ID of the switch case in the final code. Note that the drop-down for the Pool Names is sourced from the Pool Names column of the Starter Selection Generator, and any changes to that list after creating the questions may lead to problems. With the current setup of the sheet, each question is limited to a maximum of 26 answer choices, but this limit is arbitrary, and can be circumvented by editing the question template manually, and pasting it in the Template List. In the event that a single question requires more than 26 choices, please ping happylappy in a support thread.&lt;br /&gt;
&lt;br /&gt;
=== Question Template Output &amp;amp; Template List ===&lt;br /&gt;
Finally, once the question is complete, a template for the question will be created in &amp;quot;Question Template Output&amp;quot;. &lt;br /&gt;
[[File:Question Template Output &amp;amp; Template List.png|alt=Location of Question Template Output &amp;amp; Template List|center|thumb|750x750px|Location of Question Template Output &amp;amp; Template List]]&lt;br /&gt;
Before moving onto the next question, copy the template output, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; in the corresponding slot on the &amp;quot;Question Template List&amp;quot;.   By default, templates for each vanilla question are already in the Question Template List, ready to be edited or modified by copying and pasting into the Question Template Input. The Script Output Column is again for debug purposes, and is read automatically by another tab of the sheet. &lt;br /&gt;
&lt;br /&gt;
== Personality Pool Selection Generator: Gerrymandering and Tie-Breaking ==&lt;br /&gt;
Once the quiz itself is completed, the points need to be tallied, so that a winning pool can be selected. The exact way that this happens in vanilla is a tad complicated, especially when it comes to breaking ties. Here are the steps that occur in vanilla:&lt;br /&gt;
&lt;br /&gt;
# Points are added to pools containing Sky-Exclusive Starters if the player has played Time/Darkness.&lt;br /&gt;
#* If Male is chosen for the gender question, +4 Points are added to Relaxed, Hasty, and Sassy. (Phanpy, Shinx, and Riolu)&lt;br /&gt;
#* If Female is chosen for the gender question, +4 Points are added to Relaxed and Jolly. (Vulpix and Eevee)&lt;br /&gt;
# The highest pool is found, and chosen.&lt;br /&gt;
#* If there is a tie, it is broken by adding a random number (0-19) to each, and rescoring the points.&lt;br /&gt;
#* If there is STILL a tie, it chooses the smallest pool it can.&lt;br /&gt;
This tab of the sheet serves to implement these two features in a customizable way.&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
About half of the upper panel is actually new this time. The &amp;quot;White Space&amp;quot; and &amp;quot;Number/# of Pools In Use&amp;quot; are unchanged, except they apply to this sheet.[[File:Pool Selection Generator Upper Panel.png|alt=Location of Pool Selection Generator Upper Panel|center|thumb|600x600px|Location of Pool Selection Generator Upper Panel]]The checkbox for &amp;quot;Do Pool Tinkering&amp;quot; enables/disables the Pool Tinkering portion of this sheet, while the &amp;quot;Maximum Tiebreaker Points&amp;quot; input determines the random value added to tied pools to decide a victor. Larger numbers result in less chance of a secondary tie, but could result in overflow for certain pools. &lt;br /&gt;
&lt;br /&gt;
=== Pool Tinkering ===&lt;br /&gt;
As stated above, the vanilla quiz favors pools with Sky-Exclusive Starters for the specified gender if they&#039;ve played Time/Darkness. Through checking the BIT_FUWARANTE_LOCAL flags from the &amp;quot;Question Loop Generator&amp;quot;, we can mimic this effect.&lt;br /&gt;
[[File:Pool Tinkering.png|alt=Location of Pool Tinkering Portion.|center|thumb|600x600px|Location of Pool Tinkering Portion.]]&lt;br /&gt;
On the far left, are the IDs of the two flags that should be checked (without modification, this could be 0 for &amp;quot;Time/Darkness&amp;quot;, and 3/4 for &amp;quot;Male/Female&amp;quot;). Depending on if the 1st and 2nd flags are true (1), or false (0), the selected pools (as many as needed) will gain the specified number of points. In order to accommodate for the &amp;quot;Surprise Me!&amp;quot; gender option, 2 points are given for male, 2 for &amp;quot;not male&amp;quot;, 2 for &amp;quot;female&amp;quot;, and 2 for &amp;quot;not female&amp;quot;, in order to influence every pool containing a sky-exclusive starter. (A similar process is done for the Time/Darkness exclusive starters I&#039;ve added to my example quiz, if the player has NOT played time/darkness). Up to 10 slots are present for pool tinkering, though more could be added if there is a pressing need. &lt;br /&gt;
&lt;br /&gt;
== Aura Bow Generator: Fortune Telling and Color Theory ==&lt;br /&gt;
The Aura Bow Generator serves to emulate the cinematics of the vanilla aura bow portion of the quiz. In addition to simply detecting when and for how long the player is touching the Aura Bow, the actual bow color needs to be determined! For the vanilla quiz, the process is as follows:&lt;br /&gt;
&lt;br /&gt;
* Use DS Favorite Color (75% Chance): If the DS Favorite Color is selected, the user&#039;s favorite color will match the color of the bow.&lt;br /&gt;
* Use DS Mac Address (25% Chance): If the Mac Address is selected, then &amp;quot;mac_address &amp;amp; 0xF&amp;quot; determines the color of the bow.&lt;br /&gt;
&lt;br /&gt;
This functionality can be replicated by QuizMenuTool, and the chances can even be altered!&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The Aura Bow Generator&#039;s Upper Panel is one of the largest of every tab, though many of these inputs are similar to prior tabs of the sheet. The top left input boxes are Special Process IDs for the 4 Special Processes needed to emulate the Aura Bow portion of the quiz, and the &amp;quot;White Space?&amp;quot; Checkbox is the same as always. The &amp;quot;Aura Bow Output&amp;quot; on the top right is the final script output for this tab, unnecessary outside of debug purposes.&lt;br /&gt;
[[File:Aura Bow Generator Upper Panel.png|alt=Location of the Aura Bow Generator Upper Panel.|center|thumb|600x600px|Location of the Aura Bow Generator Upper Panel.]]&lt;br /&gt;
Beginning with the bottom left of the panel, there are 4 map LEVEL names. &amp;quot;Bottom 1&amp;quot; is for the background while touching the Aura bow, Bottom Screen 2 is for the presentation of the colored Aura Bow, and the Bottom/Top Screen 3 is the backgrounds that the script should end with, when transitioning to the starter reveal. Finally, on the bottom right of the upper panel is the &amp;quot;Touch Screen Aura Bow Object Name&amp;quot;. Per the name, this is the name or ID of the object that should be present on the bottom screen, that will animate when the player touches it. The last three digits of the object seem to vary depending on unknown factors, so be sure to verify that yours matches by inspecting this object in M00A01A with SkyTemple.&lt;br /&gt;
[[File:Aura Bow Touch Object Name.png|alt=Where to check the Aura Bow Touch Object Name in SkyTemple|center|thumb|600x600px|Where to check the Aura Bow Touch Object Name in SkyTemple]]&lt;br /&gt;
&lt;br /&gt;
=== Aura Reading Panel ===&lt;br /&gt;
Beginning on the lower left of the tab, the Aura Reading Panel consists of 3 ExplorerScript code segments, which play before the blank aura bow fades in, after the aura bow fades in, and if the player lets go of the touch screen too quickly. &lt;br /&gt;
[[File:Aura Reading Panel.png|alt=Location of the Aura Reading Panel.|center|thumb|600x600px|Location of the Aura Reading Panel.]]&lt;br /&gt;
At the very bottom of this panel, there are inputs for dialogue in all 5 languages that will play during the aura reading process. Unlike most text in the quiz, &#039;&#039;&#039;this string must be translated here&#039;&#039;&#039;, as every localization takes a different amount of time to print the dialogue. The length of time the touch screen should have been held for is calculated for each [W:X] text tag, and compared against the actual length of time the touch screen was held. Customizing this text string is possible in the box, so these calculations must be done by the sheet. If your hack is for a US ROM, or will be english-only, disable the &amp;quot;Use EU Strings&amp;quot; Checkbox. &amp;quot;Expected Text Speed (# of chars per frame)&amp;quot; should be the speed your dialogue prints at in SkyTemple. This will ensure that the actual length of the text is properly accounted for in the calculation. &amp;quot;Touch Screen Frame Tolerance&amp;quot; is a grace period for letting go of the bow. This is necessary for certain emulators, damaged touch-screens, failure to account for the dialogue box opening/closing, etc. Feel free to adjust as desired, such that the quiz is possible to complete. &lt;br /&gt;
&lt;br /&gt;
=== Bow Selection Panel ===&lt;br /&gt;
Finally, the Bow Selection Panel handles the actual selection and presentation of the Aura Bow. [[File:Bow Selection Panel.png|alt=Bow Selection Panel Location.|center|thumb|600x600px|Bow Selection Panel Location.]]The upper left of the panel is for assigning weights to the three methods for selecting a bow color: DS Favorite Color, DS MAC Address, or a custom block of code. Note that these weights &#039;&#039;&#039;must be integers&#039;&#039;&#039; or the sheet will generate invalid code. For convenience, the percent chance of each option is computed by the sheet, based on the weights and total weight. The ExplorerScript input for the custom bow selection is on the right of this panel, and on the bottom left is the flavor-text for each bow color. &lt;br /&gt;
&lt;br /&gt;
== Variable Cleanup &amp;amp; End-Cap Generator: Nearly Finished! ==&lt;br /&gt;
This tab of the sheet aims to clean up the bevy of variables used by the quiz, and prep the game for actually running. Since QMT uses a majority of the script variables the game has to function, this tab resets them all back to what they should be at the beginning of a save file, now that the quiz no longer needs them. If some part of the quiz needs to be remembered, such as the color of the aura bow, whether the player has played Time/Darkness, or the winning Quiz personality pool, that needs to be preserved in this tab. In addition, this is the tab where the starters are officially initialized, which allows them to be nicknamed. Finally, the special process for actually assigning the starters, PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ, will wipe $CONFIG_COLOR_KIND clean, replacing it with what the real quiz determined your aura bow color to be. Because the real quiz never runs during QMT, this will always be zero. As a result, the aura bow color needs to be saved somewhere besides $CONFIG_COLOR_KIND, then returned afterwards.  &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
This tab ALSO has an upper panel! The number of pools to clear should ideally match the number of pools in use. &amp;quot;White Space&amp;quot; does the same thing it has up to this point, and the far right output cell is read elsewhere, and only exists for debug purposes.&lt;br /&gt;
[[File:Variable Cleanup &amp;amp; End-Cap Upper Panel.png|alt=Variable Cleanup &amp;amp; End-Cap Upper Panel Location.|center|thumb|600x600px|Variable Cleanup &amp;amp; End-Cap Upper Panel Location.]]&lt;br /&gt;
In the center of the panel are three new checkboxes. &amp;quot;Name Partner?&amp;quot; and &amp;quot;Name Hero?&amp;quot; should be somewhat intuitive, they enable/disable the ExplorerScript inputs for naming the hero and partner respectively, which will be elaborated on below. Finally, &amp;quot;Set $VERSION to 1?&amp;quot; sets the &amp;quot;$VERSION&amp;quot; script variable to 1 at the very end of the script. Without ASM modification, saving the game with this variable as anything besides 1 results in a &amp;quot;corrupt&amp;quot; save file. In the absence of a strong reason otherwise, this box should remain checked.&lt;br /&gt;
&lt;br /&gt;
=== Hero Name, Partner Name, &amp;amp; Closing Remarks ===&lt;br /&gt;
These ExplorerScript Inputs are for... the code used for nicknaming the partner and hero respectively, as well as the last few lines of text before the quiz truly ends.[[File:Hero-Partner-Closing Remarks Input.png|alt=Location of ExplorerScript Code Inputs.|center|thumb|600x600px|Location of ExplorerScript Code Inputs.]]Note that MENU_PARTNER_NAME will not function without the dedicated SkyPatch, in the QMT github repo (linked at the top). Additionally, the menus themselves will close any active text-box the instant they are done printing, which is why the hero monologue ends with a [K]. A message_Close(); would also suffice. Finally, the closing remarks should actually fade out the bgm and screen as desired. Feel free to optimize the fades, there is probably a more efficient way to achieve the right effect. &lt;br /&gt;
&lt;br /&gt;
=== Script Variable Preservation Panel ===&lt;br /&gt;
The Script Variable Preservation Panel serves to determine what information should be preserved after the quiz. By default, only the variables storing the personality pool counts are actually being erased, though certain configurations may require some variables to be kept, and others to be wiped in addition.[[File:Script Variable Preservation Panel.png|alt=Script Variable Preservation Panel Location.|center|thumb|600x600px|Script Variable Preservation Panel Location.]]Beginning at the top, is the &amp;quot;Variable Erasure Blacklist&amp;quot;. Based on other interactions with the sheet, the &amp;quot;Automatic Variables&amp;quot; will fill up automatically, but any script variables specified in this row will be kept as they are at the end of the quiz, and not erased. An example of a manual blacklist example might be $VERSION, which doesn&#039;t need a dedicated line of code for erasure if it will ALSO be set to 1 at the end. The next row, &amp;quot;Additional Variables to Erase&amp;quot;, will be added to the list of erased variables if they are not already present. The $BIT_FUWARANTE_LOCAL variables should be erased in addition, as the Driftblim Gondola will interpret these variables as valid station passes to enter. Below that, is the &amp;quot;Variable Transfer Table&amp;quot;. Prior to erasing anything, variables in the &amp;quot;Old Variable Name&amp;quot; column will be moved to the &amp;quot;New Variable Name&amp;quot;. The old variable will be slated for erasure, while the new one will be spared. For convenience, the &amp;quot;Variable Meaning&amp;quot; Tab on the left will autofill one or both of these columns depending on the option you select:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable Meaning&lt;br /&gt;
!Old Variable Name&lt;br /&gt;
!New Variable Name&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Preserve&lt;br /&gt;
|$CONFIG_COLOR_KIND&lt;br /&gt;
|$LOCAL0&lt;br /&gt;
|If this Variable Meaning is present, $CONFIG_COLOR_KIND will be restored in post. It&#039;s only purpose is to prevent the quiz from wiping the variable on running  &amp;quot;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|Winning Pool&lt;br /&gt;
|$SCENARIO_SUB7&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the winning Pool ID from the quiz itself. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Winning Points&lt;br /&gt;
|$SCENARIO_SUB6&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the number of points the winning Pool ID had after the tie-breaking process. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Fuwarante Bit X&lt;br /&gt;
|$BIT_FUWARANTE_LOCAL[X]&lt;br /&gt;
|Any&lt;br /&gt;
|These correspond directly to the FUWARANTE blacklist, and in this example is used to pass forward the Time/Darkness question to $PLAY_OLD_GAME, the variable responsible for the recruitment rate buff for playing Time/Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|Direct Script Variable&lt;br /&gt;
|Any&lt;br /&gt;
|Any&lt;br /&gt;
|This is an invitation to input whatever script variables are needed, and will adjust the coloration of the row to match. &lt;br /&gt;
|}&lt;br /&gt;
A full list of script variables with their appropriate descriptions will be provided in &amp;quot;Other Resources&amp;quot;, and might prove useful for more advanced tinkering in this panel.&lt;br /&gt;
&lt;br /&gt;
== Full Script Translation: EU ROM Superiority ==&lt;br /&gt;
This tab of the sheet is dedicated to translating all lines of dialogue into Spanish, French, German, and Italian, for an EU ROM. If the hack this is for doesn&#039;t need translation, this tab can be completely skipped. One of the most essential features of a translated quiz is the ability to pre-translate the vanilla text strings from the original quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
By default, the left-most checkbox of the upper panel will &amp;quot;activate&amp;quot; this sheet for translation. This may cause lag, and will cause more lag every time a change is made on one of the prior sheets, while enabled. Only begin translating once finished with the quiz, at least in the short term. [[File:Full Script Translation Upper Panel.png|alt=Location of the Full Script Translation Upper Panel.|center|thumb|600x600px|Location of the Full Script Translation Upper Panel.]]The &amp;quot;Auto-Translate Vanilla Strings&amp;quot; check-box will automatically search for and translate exact matches to vanilla Quiz strings. Additional translations can be added in &amp;quot;Vanilla Translation Strings&amp;quot; as needed. If no exact match is found, the translation will be left blank for manual translation. &amp;quot;Auto-Translate Pokemon&amp;quot; similarly will attempt to translate exact matches for dialogue specific to the final species. For example, &amp;quot;[R][CN]Will be a [CS:K]Magnemite[CR]![W:60]&amp;quot; will be automatically translated to &amp;quot;[R][CN]wird ein [CS:K]Magnetilo[CR]![W:60]&amp;quot; (German), based on Magnemite&#039;s German name and the phrase &amp;quot;wird ein ___!&amp;quot;. This will only occur if the checkbox is enabled, and only for Pokemon names present in &amp;quot;Vanilla Translation Strings&amp;quot;. Finally, the &amp;quot;Trim [S:0] Before Translation&amp;quot; checkbox will remove all &amp;quot;[S:0]&amp;quot; text tags from the dialogue before searching for a match, ensuring that the various &amp;quot;Yes.&amp;quot;, &amp;quot;No.&amp;quot;. &amp;quot;Of Course!&amp;quot;, and &amp;quot;Open it!&amp;quot; are not translated automatically, per their vanilla quiz questions. Regardless of whether this checkbox is enabled, the final script output will not contain the &amp;quot;[S:0]&amp;quot; tags. &lt;br /&gt;
&lt;br /&gt;
=== String Translation Panel ===&lt;br /&gt;
The string translation panel, on the right of this tab, is where text string translation will actually occur. &lt;br /&gt;
[[File:String Translation Panel.png|alt=Location of String Translation Panel.|center|thumb|600x600px|Location of String Translation Panel.]]&lt;br /&gt;
On the left, are English lines of text extracted from other tabs of the sheet. each column corresponds to an EU language (Spanish, French, German, Italian). At the top of each column, is a count of how many untranslated lines of dialogue are left for that language, as well as a checkbox to enable/disable each language. In the above screenshot, French dialogue will not be added to the final script, because the checkbox is enabled. In the rows themselves, are pink cells (vanilla translated text), green cells (empty), and blue cells (manual translation). Simply review each pink cell, and manually translate the English for that row for green cells so they turn blue. If a pink cell needs editing, simply copy the cell, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; it on top of itself, and it will turn blue, which is safe to edit. &lt;br /&gt;
&lt;br /&gt;
== Vanilla Translation Strings: Future-Proofing The Sheet ==&lt;br /&gt;
This tab of the sheet is used to store vanilla strings from the base game, and official Pokemon translations. These can be amended and edited as desired, to include custom strings for auto-translation, or new Pokemon name translations. &lt;br /&gt;
[[File:Vanilla Translation Strings Dialogue.png|alt=Vanilla Translation Strings Dialogue|center|thumb|600x600px|Vanilla Translation Strings Dialogue]]&lt;br /&gt;
This area above contains all relevant vanilla strings, which can be added to or amended as desired, in the green cells in these 5 columns. If a need arises to make changes to the quiz after translation, it is best to move all manually translated lines to this tab, before making any changes. Additionally, the lookup table for Pokemon species names can be modified:&lt;br /&gt;
[[File:Vanilla Translation Strings Species.png|alt=Vanilla Translation Strings Species|center|thumb|452x452px|Vanilla Translation Strings Species]]&lt;br /&gt;
On the far right of the tab, are a list of every Pokemon through Scarlet &amp;amp; Violet, and the French/German translations for each species (Spanish and Italian use English species names). These can also be amended or added to as desired. &lt;br /&gt;
&lt;br /&gt;
== Full Script Compression: It&#039;s Finally Over? ==&lt;br /&gt;
Last but not least, is the Full Script Compression Tab. This tab compiles all of the information from the other tabs, and compresses it into a copy/pastable batch of scripts for SkyTemple. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
There are a handful of settings in this upper panel. &amp;quot;White Space&amp;quot; is as it has been for every prior tab, but that&#039;s the only returning input.&lt;br /&gt;
[[File:Full Script Compression Upper Panel.png|alt=Full Script Compression Upper Panel Location.|center|thumb|600x600px|Full Script Compression Upper Panel Location.]]&lt;br /&gt;
&amp;quot;Use Full MegaScript&amp;quot; will compile the entire quiz into one script. This is only possible for English-only quizzes, and is only advised for quizzes with few questions and fewer starter choices. &amp;quot;Use Translated Scripts?&amp;quot; will use the outputs from Full Script Translation, which will be empty if the sheet is not active. Disable this checkbox for English-only quizzes. &amp;quot;Generate Unionall CORO&amp;quot; will create the unionall code needed to run the quiz, for a copy and paste replacement for the existing &#039;&#039;&#039;CORO EVENT_M00A_01&#039;&#039;&#039; coroutine. The &amp;quot;Script File LEVEL Name&amp;quot; should reflect the location of the map LEVEL &amp;quot;folder&amp;quot; that the script file will actually be under. The &amp;quot;Script File SCRIPT Name&amp;quot; should become the name of the acting script itself, and should be 8 alphanumerical characters or fewer (not case-sensitive). Finally, the &amp;quot;Sector Param.&amp;quot; is the sector parameter of the supervision_ActingSub() Opcode. Generally this should be zero, though none of these scripts internally utilize the sector parameter, should it be of interest for customization.&lt;br /&gt;
&lt;br /&gt;
=== SkyTemple Script Outputs ===&lt;br /&gt;
This portion of the sheet consists of outputs to SkyTemple. Unlike most output cells thus far, these are actually intended for use!&lt;br /&gt;
[[File:SkyTemple Script Outputs.png|alt=SkyTemple Script Outputs Location.|center|thumb|600x600px|SkyTemple Script Outputs Location.]]&lt;br /&gt;
The intended places for each of these outputs will be described in &amp;quot;Importing The Scripts To SkyTemple&amp;quot;, but when copying a script, be sure to copy all cells in the box with text.&lt;br /&gt;
&lt;br /&gt;
== Importing The Scripts To SkyTemple ==&lt;br /&gt;
&lt;br /&gt;
=== Converting From StarterMenuTool ===&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
&lt;br /&gt;
=== QMT Script Variable Map ===&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
	<entry>
		<id>https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1179</id>
		<title>QuizMenuTool Tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.skytemple.org/index.php?title=QuizMenuTool_Tutorial&amp;diff=1179"/>
		<updated>2025-08-09T00:36:29Z</updated>

		<summary type="html">&lt;p&gt;Happylappy: /* Who QuizMenuTool is for */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;{{SkyTempleIcon|icon=skytemple-dialog-error-symbolic}} This article is unfinished. You can help &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:{{PAGENAME}}|veaction=edit}} expanding it]&amp;lt;/span&amp;gt;.&#039;&#039;&amp;lt;hr&amp;gt;This guide explains how to use QuizMenuTool to create a custom Personality Quiz. The bulk of this guide will explain the use of the google sheets portion of the tool. A rudimentary understanding of SkyTemple scripting will be assumed, namely adding new acting scenes, and adding scenes to unionall.ssb. These topics have/will be covered in other wiki articles. &lt;br /&gt;
&lt;br /&gt;
== About QuizMenuTool ==&lt;br /&gt;
&lt;br /&gt;
=== What Is QuizMenuTool? ===&lt;br /&gt;
QuizMenuTool is a customizable ExplorerScript replica of the Explorers of Sky Personality Quiz and Starter Selection, with minimal hardcoded aspects. The original quiz was designed to consist mostly of message_Menu ASM, and this serves to &lt;br /&gt;
&lt;br /&gt;
=== What can QuizMenuTool do? ===&lt;br /&gt;
QuizMenuTool can modify the process of using the quiz to select a starter, expand/reduce the starter list, add/remove/modify questions from the quiz, and much more! In fact, the better question might be...&lt;br /&gt;
&lt;br /&gt;
=== What Limitations does QuizMenuTool have? ===&lt;br /&gt;
There are a few critical things QuizMenuTool was not designed to do, though many of these could be remedied in the future if enough demand exists. Here&#039;s a list of what QuizMenuTool fails to replicate from the vanilla quiz:&lt;br /&gt;
&lt;br /&gt;
* Hero/Partner Type Exclusion: In the vanilla quiz, the hero and partner are prevented from sharing a type, to encourage team balance. No   option for such a restriction has been implemented yet, though such a thing would be possible in the future, or be scripted manually for a specific hack. &lt;br /&gt;
* SwitchMenu Portraits: In the vanilla quiz, scrolling to a partner choice displays a portrait of that partner, which gradually changes in expression. This feature would require significant custom code to emulate, and is unlikely to be available for QuizMenuTool.&lt;br /&gt;
* Manual Starter Additions: The original starter list used by the vanilla quiz is not used in any way by QuizMenuTool. Players of a hack using QuizMenuTool will have difficulty adding their own starters to the game, though this could potentially be remedied with a special process checking the starter list against what it is expected to be, and assigning the desired starter if a mismatch is found?&lt;br /&gt;
* Incompatibility with Japanese ROMs: Currently, QuizMenuTool is designed to only work for NA and EU ROMs. while in theory a Japanese Quiz could be designed, the Special Processes are not Japanese-compatible. This could be remedied with little effort, but the tool is designed for EU/NA ROMs.&lt;br /&gt;
&lt;br /&gt;
== Who QuizMenuTool is for ==&lt;br /&gt;
If either of the below points do not apply to you, you do not need QuizMenuTool.&lt;br /&gt;
* You would like to expand (or shrink) the list of starter options in the game.&lt;br /&gt;
* You would like to keep the personality quiz in the game, or edit the quiz directly.&lt;br /&gt;
If you only want to change the size of the starter list, and do not want the personality quiz (as if the [[SkipQuiz]] patch is applied), you should instead use [https://github.com/Chesyon/StarterMenuTool StarterMenuTool], which is less powerful but requires much less work to set up.&lt;br /&gt;
&lt;br /&gt;
== Programs and Files ==&lt;br /&gt;
&lt;br /&gt;
=== Required Programs and Files ===&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1snwIq3-GHntcPTBwH-TJ5Ctk0a8l4pwXTZYwCs53dwo/edit?usp=sharing Explorers of Sky Personality Quiz Assembling Sheet]&lt;br /&gt;
* [https://github.com/HappyLappy1/EOS-QuizGenerationTool-ASM Necessary Special Processes and SkyPatches]&lt;br /&gt;
* [[SkyTemple]] &lt;br /&gt;
&lt;br /&gt;
== General Spreadsheet Tips ==&lt;br /&gt;
&lt;br /&gt;
=== Making a Copy of the Sheet ===&lt;br /&gt;
The above link does NOT grant edit access. In order to use the sheet, a copy will need to be made as follows:&lt;br /&gt;
[[File:Copying a Spreadsheet.png|thumb|750x750px|Location of the &amp;quot;File&amp;quot; and &amp;quot;Make a Copy&amp;quot; buttons. |center]]&lt;br /&gt;
First click the &amp;quot;File&amp;quot; button on the top left. Next, &amp;quot;Make a Copy&amp;quot; of the sheet. Finally, name the copy as desired. &lt;br /&gt;
&lt;br /&gt;
=== Cell Color-Coding ===&lt;br /&gt;
Throughout the spreadsheet, most cells are color-coded. Here&#039;s a brief explanation of each color present in the sheet: &lt;br /&gt;
&lt;br /&gt;
* Green Cells are for user input. If a cell is green, it is intended to contain input data.&lt;br /&gt;
* Grey Cells contain formulas. They will update automatically, and should not be edited.&lt;br /&gt;
* Orange Cells are for user outputs. If a cell is orange, it is intended to be exported elsewhere, such as to a SkyTemple script.&lt;br /&gt;
* Cells without a color or of an unspecified color are typically safe to edit. Always check for a formula first though!&lt;br /&gt;
&lt;br /&gt;
=== Paste Values Only ===&lt;br /&gt;
This tab is the first which will require the use of &amp;quot;Paste Values&amp;quot;. When this guide specifies that a copy/paste must &amp;quot;Paste Values&amp;quot;, this means that the copied text is a formula, and the pasted text should not be a formula. &lt;br /&gt;
[[File:How To Paste Values.png|alt=Depiction of the &amp;quot;Values Only&amp;quot; button in the menu|center|thumb|600x600px|Depiction of the &amp;quot;Values Only&amp;quot; button in the menu]]&lt;br /&gt;
There are two ways to paste values, either by right-clicking the paste location and selecting &amp;quot;Paste Special&amp;quot; then &amp;quot;Values Only&amp;quot;, or by holding shift as you paste. &lt;br /&gt;
&lt;br /&gt;
== Quiz Preamble Generator: A Good First Impression! ==&lt;br /&gt;
The Quiz Preamble Generator Tab as a whole exists to create the very beginning of the quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
Most tabs in the sheet contain an upper panel of some kind, with various simple inputs and feedback on them:&lt;br /&gt;
[[File:Preamble Upper Panel.png|alt=Location of the Quiz Preamble Generator&#039;s Upper Panel.|center|thumb|750x750px|Location of the Quiz Preamble Generator&#039;s Upper Panel.]]&lt;br /&gt;
The &amp;quot;Bottom Screen&amp;quot; and &amp;quot;Top Screen&amp;quot; inputs are the map ID that should be used for that screen&#039;s background. Similarly, the Background Music Name/ID is a BGM name (or number) of the BGM that should play throughout the quiz. The &amp;quot;White Space?&amp;quot; checkbox will attempt to add indents to the output ExplorerScript lines, making the output script more human-readable.&lt;br /&gt;
&lt;br /&gt;
=== Preamble Text ===&lt;br /&gt;
This is the first of many direct inputs for ExplorerScript code. Due to the way spreadsheets store cell data, &amp;quot; &amp;quot; behave weirdly when present in the final script. Please use &#039; &#039; instead. This input is for the first set of dialogue before the questions actually begin. &lt;br /&gt;
[[File:Quiz Preamble Location.png|alt=Location of the Quiz Preamble Inputs|center|thumb|600x600px|Location of the Quiz Preamble Inputs]]&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
The orange output cell on this sheet is largely unimportant, but is present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Starter Selection Generator: Actually Adding the Starters... ==&lt;br /&gt;
This tab of the sheet is primarily for inputting data about the starters, or the personality pools they belong to. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
[[File:Starter Selection Upper Panel.png|alt=The Upper Panel for the &amp;quot;Starter Selection Generator&amp;quot; Tab|thumb|750x750px|Location of the &amp;quot;Upper Panel&amp;quot; for the &amp;quot;Starter Selection Generator&amp;quot; Tab|center]]This upper panel contains 4 inputs, 3 of which are for Special Processes pertaining to starter selection. If other Special Processes have already been added, these Special Process IDs will need to be changed to free slots. The &amp;quot;White Space?&amp;quot; checkbox is the same as before, except for this tab of the sheet. The 4 grey cells are useful statistics about the input starters: how many different pools are used by the starters, how many species are present, and how many options there are for the hero and partner. &lt;br /&gt;
&lt;br /&gt;
=== Personality Pool Input ===&lt;br /&gt;
Next, on the lower right is the nature &amp;quot;Pool&amp;quot; input. These contain the pool name, and the text that should be displayed if that pool is selected by the quiz. &lt;br /&gt;
[[File:Personality Pools Input.png|alt=Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names and descriptions go.|center|thumb|450x450px|Location of the &amp;quot;Personality Pool Input&amp;quot;, where nature names/descriptions go.]]&lt;br /&gt;
The &amp;quot;Pool Name&amp;quot; field is only used by the Question Generator Tab, and will not show up anywhere in the final script. Modify these as desired as soon as possible, as it will be difficult to do so after designing the quiz questions. &#039;&#039;&#039;For best results, ensure all pool names are unique!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Starter Species Data ===&lt;br /&gt;
The bottom left segment of the sheet is the &amp;quot;Starter Species Data&amp;quot; input. This is part of a wider table, but each segment will be discussed individually. &lt;br /&gt;
[[File:Starter Species Data Location.png|alt=Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.|center|thumb|750x750px|Location of &amp;quot;Starter Species Data&amp;quot;, where species-specific starter info goes.]]&lt;br /&gt;
While some of these fields should be intuitive, A brief description of each column is as follows:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Species Name:&#039;&#039;&#039; The name of the species as you want it shown in the quiz. If the cell turns purple on entering a species name, this means the Pokémon could not be found in &#039;&#039;&#039;Vanilla Translation Strings&#039;&#039;&#039;. French and German Translations will need to be added by hand, or all strings involving the Pokémon will need to be translated manually.&lt;br /&gt;
* &#039;&#039;&#039;Species ID:&#039;&#039;&#039; The ID in SkyTemple of the Pokémon. &#039;&#039;&#039;[TODO: Explain how this is affected by ExpandPokeList]&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Gender:&#039;&#039;&#039; The gender of the Pokémon, used to set the frame color, and to add &amp;quot;♂&amp;quot; and &amp;quot;♀&amp;quot; to the hero/partner selection list. 0 is Male, 1 is Female, and 2 is Genderless.&lt;br /&gt;
* &#039;&#039;&#039;Pool ID:&#039;&#039;&#039; The number of the Pool the Pokémon should be categorized under. Each Pool that could be chosen by the Quiz should have at least one valid Pokémon, or Bulbasaur will be selected as a failsafe. &#039;&#039;&#039;If the species are not sorted by Pool ID, cells will turn red. The sheet will produce invalid labels if this table is not sorted by Pool ID!&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Start w/ Vowel:&#039;&#039;&#039; If the Pokémon should be referred to as &amp;quot;...an [Pokémon]&amp;quot;, check this box.&lt;br /&gt;
&lt;br /&gt;
=== Talk Group &amp;amp; Role Exclusion ===&lt;br /&gt;
Continuing along the table, the next two subsections are for &amp;quot;Talk Groups&amp;quot; and &amp;quot;Role Exclusion&amp;quot;. Both of these segments relate to either the hero, or the partner.&lt;br /&gt;
[[File:Talk Groups and Role Exclusion.png|alt=Location of Talk Group and Role Exclusion Inputs|center|thumb|300x300px|Location of Talk Group and Role Exclusion Inputs]]&lt;br /&gt;
In the vanilla game, the hero and partner have differing dialogue depending on their species-specific &amp;quot;Talk Group&amp;quot;. These columns are dedicated to assigning the talk group for the hero or partner if that row&#039;s species is chosen. While it handles pronouns for dialogue, especially in gendered languages, it also affects the way the partner&#039;s dialogue is written. It does the same for the hero&#039;s dialogue, but in the English localization it only affects 2 lines in the entire game (&amp;quot;Whoa&amp;quot; &amp;lt;-&amp;gt; &amp;quot;Wah&amp;quot;, &amp;quot;All right&amp;quot; &amp;lt;-&amp;gt; &amp;quot;OK&amp;quot;). This is how they are used in vanilla:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Explorers of Sky Talk Groups&lt;br /&gt;
!#&lt;br /&gt;
!Used By&lt;br /&gt;
!Notable Species&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Partner&lt;br /&gt;
|Male Squirtle/Totodile/Chimchar/Meowth/Munchlax&lt;br /&gt;
|More Masculine/&amp;quot;Rural&amp;quot; Dialogue. (Refers to self as &amp;quot;Oira&amp;quot; in Japanese) &lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Partner&lt;br /&gt;
|All other Male Pokémon&lt;br /&gt;
|More Masculine/&amp;quot;Boyish&amp;quot; Dialogue. (Refers to self as &amp;quot;Boku&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Partner&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|More Feminine Dialogue. (Refers to self as &amp;quot;Watashi&amp;quot; in Japanese)&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Hero&lt;br /&gt;
|All Male/Genderless Pokémon&lt;br /&gt;
|Uses Masculine Pronouns&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Hero&lt;br /&gt;
|All Female Pokémon&lt;br /&gt;
|Uses Feminine Pronouns&lt;br /&gt;
|}&lt;br /&gt;
The &amp;quot;Role Exclusion&amp;quot; checkboxes blacklist the row from being an option as a hero or as a partner respectively. Certain Pokémon, particularly Meowth and Munchlax, are unable to be heroes in the vanilla game. This section is how to replicate that feature of the original quiz.&lt;br /&gt;
&lt;br /&gt;
=== Fuwarante Blacklist ===&lt;br /&gt;
Finally, on the far end of the table, is the Fuwarante Blacklist inputs. These are perhaps the most complicated portion of this tab of the sheet.[[File:Fuwarante Blacklist.png|alt=Location of the Fuwarante Blacklist|center|thumb|300x300px|Location of the Fuwarante Blacklist]]Each column corresponds to a bit of the script variable $BIT_FUWARANTE_LOCAL. If the matching flag is on, the starter in that row &#039;&#039;&#039;cannot&#039;&#039;&#039; be chosen. This will be elaborated on further in the &amp;quot;Question Loop Generator&amp;quot;, but this is a brief explanation of what the bits represent by default:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Bit&lt;br /&gt;
!Description/Use Case&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|If enabled, $PLAY_OLD_GAME will be true, meaning the player answered that they have played Time/Darkness before.&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|If enabled, the player has played EoS before, according to a custom starting question.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|If enabled, the player has participated in a Mystery Mail event before, according toa custom ending question.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|If enabled, the player claimed to be female in the final gender question. Enable for &#039;&#039;&#039;male&#039;&#039;&#039; starters.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|If enabled, the player claimed to be male in the final gender question. Enable for &#039;&#039;&#039;female&#039;&#039;&#039; starters.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
Once again, the orange output cells on the far right of this sheet are largely unimportant, but are present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet.&lt;br /&gt;
&lt;br /&gt;
== Question Loop Generator: Before, After, and For How Long? ==&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The upper panel of this sheet mostly consists of inputs, though the single output is a reminder of how many unique pools are used by the Starter Selection Generator. The input directly left of it is for telling the Question Loop Generator how many pools are in use, and should be changed to match the display. On the upper left of the panel, there are inputs for how many questions the game should ask the player, and how many questions will be written for the quiz to randomly choose from. In vanilla, there are 64 possible questions, and 8 will be given to the player.&lt;br /&gt;
[[File:Question Loop Generator Upper Panel.png|alt=Location of the Upper Panel of the Question Loop Generator|center|thumb|750x750px|Location of the Upper Panel of the Question Loop Generator]]&lt;br /&gt;
The bottom row consists of checkboxes to enable/disable the Custom/Standard First and Last Questions, such as the Gender Question and the Time/Darkness Question, which boosts recruit rates for certain species if you answer yes, and adds points to certain pools containing sky-exclusive Pokémon. &lt;br /&gt;
&lt;br /&gt;
=== ExplorerScript Pre/Post Quiz Questions ===&lt;br /&gt;
Room for an additional question before and after the quiz has also been made, which along with the Gender and Time/Darkness questions can be modified in the below ExplorerScript inputs:&lt;br /&gt;
[[File:Question Loop Generator ExplorerScript Inputs.png|alt=Location of the ExplorerScript Inputs|center|thumb|600x600px|Location of the ExplorerScript Inputs]]&lt;br /&gt;
These are the primary use-cases for the Fuwarante Blacklist described above. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;[S:0]&amp;quot; text tag will be explained in further detail below. &lt;br /&gt;
&lt;br /&gt;
== Question Generator: Multiple Choice Monotony ==&lt;br /&gt;
Note: The &amp;quot;Yes.&amp;quot; and &amp;quot;No.&amp;quot; options have the &amp;quot;[S:0]&amp;quot; text tag after them. This does functionally nothing, and exists primarily to aid in automatic string translation, as the localization teams translated the same English responses for questions differently based on context. This will be elaborated on further in &amp;quot;Full Script Translation&amp;quot;. If there are no plans to use the sheet&#039;s translation features, it is safe to remove any variants of &amp;quot;[S:0]&amp;quot;. (instructions to do so in SkyTemple directly are present below).&lt;br /&gt;
&lt;br /&gt;
=== About Question Templates ===&lt;br /&gt;
This tab of the sheet is dedicated to the design and storage of the individual random questions in the quiz. The way this sheet works revolves   around &amp;quot;Question Templates&amp;quot; that store the question text, question number, answer text, pool ID, and points for that pool ID. Below is an example of a Question Template, and how it translates to question data: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Do you prefer to be busy or have\na lot of free time?^35 |Being busy.^11^4^8^2|Free time!^9^4|In between.^12^4&lt;br /&gt;
!Question Text&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; |Question #&lt;br /&gt;
|-&lt;br /&gt;
|Do you prefer to be busy or to have a lot of free time?&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; |35&lt;br /&gt;
|-&lt;br /&gt;
!Answer Text&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Pool 1 ID and Pts&lt;br /&gt;
|-&lt;br /&gt;
|Being busy.&lt;br /&gt;
|11&lt;br /&gt;
|4&lt;br /&gt;
|8&lt;br /&gt;
|2&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Free time!&lt;br /&gt;
|9&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|In between.&lt;br /&gt;
|12&lt;br /&gt;
|4&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Question Template Input ===&lt;br /&gt;
&lt;br /&gt;
On the far left, is an input for an existing Question Template.[[File:Question Template Input.png|alt=Question Template Input Location|center|thumb|600x600px|Question Template Input Location]]The &amp;quot;Use Question Template Input&amp;quot; checkbox tells the sheet whether or not to use the Question Template provided. When writing questions entirely from scratch, disable this checkbox. When modifying existing questions, enable the checkbox, and paste in the Question Template. This will subsequently auto-fill the Question Data Inputs with the data within the template. If the auto-filled data itself needs to be altered, you will need to copy and &#039;&#039;&#039;paste values&#039;&#039;&#039; the data, then disable the checkbox.&lt;br /&gt;
&lt;br /&gt;
=== Question Data Inputs ===&lt;br /&gt;
[[File:Question Data Inputs.png|alt=Location of the Question Data Inputs Area|center|thumb|750x750px|Location of the Question Data Inputs Area]]&lt;br /&gt;
The Question Data Inputs Area should seem relatively intuitive. The question text is at the top, the answers are beneath, and up to 4 Personality Pools can gain points from each answer choice. The White Space checkbox is identical to the previous tab, and the question index is just the internal &amp;quot;ID&amp;quot; of the question. It should be incremented for each new question created, and will translate to the ID of the switch case in the final code. Note that the drop-down for the Pool Names is sourced from the Pool Names column of the Starter Selection Generator, and any changes to that list after creating the questions may lead to problems. With the current setup of the sheet, each question is limited to a maximum of 26 answer choices, but this limit is arbitrary, and can be circumvented by editing the question template manually, and pasting it in the Template List. In the event that a single question requires more than 26 choices, please ping happylappy in a support thread.&lt;br /&gt;
&lt;br /&gt;
=== Question Template Output &amp;amp; Template List ===&lt;br /&gt;
Finally, once the question is complete, a template for the question will be created in &amp;quot;Question Template Output&amp;quot;. &lt;br /&gt;
[[File:Question Template Output &amp;amp; Template List.png|alt=Location of Question Template Output &amp;amp; Template List|center|thumb|750x750px|Location of Question Template Output &amp;amp; Template List]]&lt;br /&gt;
Before moving onto the next question, copy the template output, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; in the corresponding slot on the &amp;quot;Question Template List&amp;quot;.   By default, templates for each vanilla question are already in the Question Template List, ready to be edited or modified by copying and pasting into the Question Template Input. The Script Output Column is again for debug purposes, and is read automatically by another tab of the sheet. &lt;br /&gt;
&lt;br /&gt;
== Personality Pool Selection Generator: Gerrymandering and Tie-Breaking ==&lt;br /&gt;
Once the quiz itself is completed, the points need to be tallied, so that a winning pool can be selected. The exact way that this happens in vanilla is a tad complicated, especially when it comes to breaking ties. Here are the steps that occur in vanilla:&lt;br /&gt;
&lt;br /&gt;
# Points are added to pools containing Sky-Exclusive Starters if the player has played Time/Darkness.&lt;br /&gt;
#* If Male is chosen for the gender question, +4 Points are added to Relaxed, Hasty, and Sassy. (Phanpy, Shinx, and Riolu)&lt;br /&gt;
#* If Female is chosen for the gender question, +4 Points are added to Relaxed and Jolly. (Vulpix and Eevee)&lt;br /&gt;
# The highest pool is found, and chosen.&lt;br /&gt;
#* If there is a tie, it is broken by adding a random number (0-19) to each, and rescoring the points.&lt;br /&gt;
#* If there is STILL a tie, it chooses the smallest pool it can.&lt;br /&gt;
This tab of the sheet serves to implement these two features in a customizable way.&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
About half of the upper panel is actually new this time. The &amp;quot;White Space&amp;quot; and &amp;quot;Number/# of Pools In Use&amp;quot; are unchanged, except they apply to this sheet.[[File:Pool Selection Generator Upper Panel.png|alt=Location of Pool Selection Generator Upper Panel|center|thumb|600x600px|Location of Pool Selection Generator Upper Panel]]The checkbox for &amp;quot;Do Pool Tinkering&amp;quot; enables/disables the Pool Tinkering portion of this sheet, while the &amp;quot;Maximum Tiebreaker Points&amp;quot; input determines the random value added to tied pools to decide a victor. Larger numbers result in less chance of a secondary tie, but could result in overflow for certain pools. &lt;br /&gt;
&lt;br /&gt;
=== Pool Tinkering ===&lt;br /&gt;
As stated above, the vanilla quiz favors pools with Sky-Exclusive Starters for the specified gender if they&#039;ve played Time/Darkness. Through checking the BIT_FUWARANTE_LOCAL flags from the &amp;quot;Question Loop Generator&amp;quot;, we can mimic this effect.&lt;br /&gt;
[[File:Pool Tinkering.png|alt=Location of Pool Tinkering Portion.|center|thumb|600x600px|Location of Pool Tinkering Portion.]]&lt;br /&gt;
On the far left, are the IDs of the two flags that should be checked (without modification, this could be 0 for &amp;quot;Time/Darkness&amp;quot;, and 3/4 for &amp;quot;Male/Female&amp;quot;). Depending on if the 1st and 2nd flags are true (1), or false (0), the selected pools (as many as needed) will gain the specified number of points. In order to accommodate for the &amp;quot;Surprise Me!&amp;quot; gender option, 2 points are given for male, 2 for &amp;quot;not male&amp;quot;, 2 for &amp;quot;female&amp;quot;, and 2 for &amp;quot;not female&amp;quot;, in order to influence every pool containing a sky-exclusive starter. (A similar process is done for the Time/Darkness exclusive starters I&#039;ve added to my example quiz, if the player has NOT played time/darkness). Up to 10 slots are present for pool tinkering, though more could be added if there is a pressing need. &lt;br /&gt;
&lt;br /&gt;
== Aura Bow Generator: Fortune Telling and Color Theory ==&lt;br /&gt;
The Aura Bow Generator serves to emulate the cinematics of the vanilla aura bow portion of the quiz. In addition to simply detecting when and for how long the player is touching the Aura Bow, the actual bow color needs to be determined! For the vanilla quiz, the process is as follows:&lt;br /&gt;
&lt;br /&gt;
* Use DS Favorite Color (75% Chance): If the DS Favorite Color is selected, the user&#039;s favorite color will match the color of the bow.&lt;br /&gt;
* Use DS Mac Address (25% Chance): If the Mac Address is selected, then &amp;quot;mac_address &amp;amp; 0xF&amp;quot; determines the color of the bow.&lt;br /&gt;
&lt;br /&gt;
This functionality can be replicated by QuizMenuTool, and the chances can even be altered!&lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
The Aura Bow Generator&#039;s Upper Panel is one of the largest of every tab, though many of these inputs are similar to prior tabs of the sheet. The top left input boxes are Special Process IDs for the 4 Special Processes needed to emulate the Aura Bow portion of the quiz, and the &amp;quot;White Space?&amp;quot; Checkbox is the same as always. The &amp;quot;Aura Bow Output&amp;quot; on the top right is the final script output for this tab, unnecessary outside of debug purposes.&lt;br /&gt;
[[File:Aura Bow Generator Upper Panel.png|alt=Location of the Aura Bow Generator Upper Panel.|center|thumb|600x600px|Location of the Aura Bow Generator Upper Panel.]]&lt;br /&gt;
Beginning with the bottom left of the panel, there are 4 map LEVEL names. &amp;quot;Bottom 1&amp;quot; is for the background while touching the Aura bow, Bottom Screen 2 is for the presentation of the colored Aura Bow, and the Bottom/Top Screen 3 is the backgrounds that the script should end with, when transitioning to the starter reveal. Finally, on the bottom right of the upper panel is the &amp;quot;Touch Screen Aura Bow Object Name&amp;quot;. Per the name, this is the name or ID of the object that should be present on the bottom screen, that will animate when the player touches it. The last three digits of the object seem to vary depending on unknown factors, so be sure to verify that yours matches by inspecting this object in M00A01A with SkyTemple.&lt;br /&gt;
[[File:Aura Bow Touch Object Name.png|alt=Where to check the Aura Bow Touch Object Name in SkyTemple|center|thumb|600x600px|Where to check the Aura Bow Touch Object Name in SkyTemple]]&lt;br /&gt;
&lt;br /&gt;
=== Aura Reading Panel ===&lt;br /&gt;
Beginning on the lower left of the tab, the Aura Reading Panel consists of 3 ExplorerScript code segments, which play before the blank aura bow fades in, after the aura bow fades in, and if the player lets go of the touch screen too quickly. &lt;br /&gt;
[[File:Aura Reading Panel.png|alt=Location of the Aura Reading Panel.|center|thumb|600x600px|Location of the Aura Reading Panel.]]&lt;br /&gt;
At the very bottom of this panel, there are inputs for dialogue in all 5 languages that will play during the aura reading process. Unlike most text in the quiz, &#039;&#039;&#039;this string must be translated here&#039;&#039;&#039;, as every localization takes a different amount of time to print the dialogue. The length of time the touch screen should have been held for is calculated for each [W:X] text tag, and compared against the actual length of time the touch screen was held. Customizing this text string is possible in the box, so these calculations must be done by the sheet. If your hack is for a US ROM, or will be english-only, disable the &amp;quot;Use EU Strings&amp;quot; Checkbox. &amp;quot;Expected Text Speed (# of chars per frame)&amp;quot; should be the speed your dialogue prints at in SkyTemple. This will ensure that the actual length of the text is properly accounted for in the calculation. &amp;quot;Touch Screen Frame Tolerance&amp;quot; is a grace period for letting go of the bow. This is necessary for certain emulators, damaged touch-screens, failure to account for the dialogue box opening/closing, etc. Feel free to adjust as desired, such that the quiz is possible to complete. &lt;br /&gt;
&lt;br /&gt;
=== Bow Selection Panel ===&lt;br /&gt;
Finally, the Bow Selection Panel handles the actual selection and presentation of the Aura Bow. [[File:Bow Selection Panel.png|alt=Bow Selection Panel Location.|center|thumb|600x600px|Bow Selection Panel Location.]]The upper left of the panel is for assigning weights to the three methods for selecting a bow color: DS Favorite Color, DS MAC Address, or a custom block of code. Note that these weights &#039;&#039;&#039;must be integers&#039;&#039;&#039; or the sheet will generate invalid code. For convenience, the percent chance of each option is computed by the sheet, based on the weights and total weight. The ExplorerScript input for the custom bow selection is on the right of this panel, and on the bottom left is the flavor-text for each bow color. &lt;br /&gt;
&lt;br /&gt;
== Variable Cleanup &amp;amp; End-Cap Generator: Nearly Finished! ==&lt;br /&gt;
This tab of the sheet aims to clean up the bevy of variables used by the quiz, and prep the game for actually running. Since QMT uses a majority of the script variables the game has to function, this tab resets them all back to what they should be at the beginning of a save file, now that the quiz no longer needs them. If some part of the quiz needs to be remembered, such as the color of the aura bow, whether the player has played Time/Darkness, or the winning Quiz personality pool, that needs to be preserved in this tab. In addition, this is the tab where the starters are officially initialized, which allows them to be nicknamed. Finally, the special process for actually assigning the starters, PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ, will wipe $CONFIG_COLOR_KIND clean, replacing it with what the real quiz determined your aura bow color to be. Because the real quiz never runs during QMT, this will always be zero. As a result, the aura bow color needs to be saved somewhere besides $CONFIG_COLOR_KIND, then returned afterwards.  &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
This tab ALSO has an upper panel! The number of pools to clear should ideally match the number of pools in use. &amp;quot;White Space&amp;quot; does the same thing it has up to this point, and the far right output cell is read elsewhere, and only exists for debug purposes.&lt;br /&gt;
[[File:Variable Cleanup &amp;amp; End-Cap Upper Panel.png|alt=Variable Cleanup &amp;amp; End-Cap Upper Panel Location.|center|thumb|600x600px|Variable Cleanup &amp;amp; End-Cap Upper Panel Location.]]&lt;br /&gt;
In the center of the panel are three new checkboxes. &amp;quot;Name Partner?&amp;quot; and &amp;quot;Name Hero?&amp;quot; should be somewhat intuitive, they enable/disable the ExplorerScript inputs for naming the hero and partner respectively, which will be elaborated on below. Finally, &amp;quot;Set $VERSION to 1?&amp;quot; sets the &amp;quot;$VERSION&amp;quot; script variable to 1 at the very end of the script. Without ASM modification, saving the game with this variable as anything besides 1 results in a &amp;quot;corrupt&amp;quot; save file. In the absence of a strong reason otherwise, this box should remain checked.&lt;br /&gt;
&lt;br /&gt;
=== Hero Name, Partner Name, &amp;amp; Closing Remarks ===&lt;br /&gt;
These ExplorerScript Inputs are for... the code used for nicknaming the partner and hero respectively, as well as the last few lines of text before the quiz truly ends.[[File:Hero-Partner-Closing Remarks Input.png|alt=Location of ExplorerScript Code Inputs.|center|thumb|600x600px|Location of ExplorerScript Code Inputs.]]Note that MENU_PARTNER_NAME will not function without the dedicated SkyPatch, in the QMT github repo (linked at the top). Additionally, the menus themselves will close any active text-box the instant they are done printing, which is why the hero monologue ends with a [K]. A message_Close(); would also suffice. Finally, the closing remarks should actually fade out the bgm and screen as desired. Feel free to optimize the fades, there is probably a more efficient way to achieve the right effect. &lt;br /&gt;
&lt;br /&gt;
=== Script Variable Preservation Panel ===&lt;br /&gt;
The Script Variable Preservation Panel serves to determine what information should be preserved after the quiz. By default, only the variables storing the personality pool counts are actually being erased, though certain configurations may require some variables to be kept, and others to be wiped in addition.[[File:Script Variable Preservation Panel.png|alt=Script Variable Preservation Panel Location.|center|thumb|600x600px|Script Variable Preservation Panel Location.]]Beginning at the top, is the &amp;quot;Variable Erasure Blacklist&amp;quot;. Based on other interactions with the sheet, the &amp;quot;Automatic Variables&amp;quot; will fill up automatically, but any script variables specified in this row will be kept as they are at the end of the quiz, and not erased. An example of a manual blacklist example might be $VERSION, which doesn&#039;t need a dedicated line of code for erasure if it will ALSO be set to 1 at the end. The next row, &amp;quot;Additional Variables to Erase&amp;quot;, will be added to the list of erased variables if they are not already present. The $BIT_FUWARANTE_LOCAL variables should be erased in addition, as the Driftblim Gondola will interpret these variables as valid station passes to enter. Below that, is the &amp;quot;Variable Transfer Table&amp;quot;. Prior to erasing anything, variables in the &amp;quot;Old Variable Name&amp;quot; column will be moved to the &amp;quot;New Variable Name&amp;quot;. The old variable will be slated for erasure, while the new one will be spared. For convenience, the &amp;quot;Variable Meaning&amp;quot; Tab on the left will autofill one or both of these columns depending on the option you select:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable Meaning&lt;br /&gt;
!Old Variable Name&lt;br /&gt;
!New Variable Name&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
|Aura Bow Preserve&lt;br /&gt;
|$CONFIG_COLOR_KIND&lt;br /&gt;
|$LOCAL0&lt;br /&gt;
|If this Variable Meaning is present, $CONFIG_COLOR_KIND will be restored in post. It&#039;s only purpose is to prevent the quiz from wiping the variable on running  &amp;quot;PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|Winning Pool&lt;br /&gt;
|$SCENARIO_SUB7&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the winning Pool ID from the quiz itself. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Winning Points&lt;br /&gt;
|$SCENARIO_SUB6&lt;br /&gt;
|Any&lt;br /&gt;
|This variable retains the number of points the winning Pool ID had after the tie-breaking process. This could prove useful for dialogue, or perhaps some other purpose?&lt;br /&gt;
|-&lt;br /&gt;
|Fuwarante Bit X&lt;br /&gt;
|$BIT_FUWARANTE_LOCAL[X]&lt;br /&gt;
|Any&lt;br /&gt;
|These correspond directly to the FUWARANTE blacklist, and in this example is used to pass forward the Time/Darkness question to $PLAY_OLD_GAME, the variable responsible for the recruitment rate buff for playing Time/Darkness.&lt;br /&gt;
|-&lt;br /&gt;
|Direct Script Variable&lt;br /&gt;
|Any&lt;br /&gt;
|Any&lt;br /&gt;
|This is an invitation to input whatever script variables are needed, and will adjust the coloration of the row to match. &lt;br /&gt;
|}&lt;br /&gt;
A full list of script variables with their appropriate descriptions will be provided in &amp;quot;Other Resources&amp;quot;, and might prove useful for more advanced tinkering in this panel.&lt;br /&gt;
&lt;br /&gt;
== Full Script Translation: EU ROM Superiority ==&lt;br /&gt;
This tab of the sheet is dedicated to translating all lines of dialogue into Spanish, French, German, and Italian, for an EU ROM. If the hack this is for doesn&#039;t need translation, this tab can be completely skipped. One of the most essential features of a translated quiz is the ability to pre-translate the vanilla text strings from the original quiz. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
By default, the left-most checkbox of the upper panel will &amp;quot;activate&amp;quot; this sheet for translation. This may cause lag, and will cause more lag every time a change is made on one of the prior sheets, while enabled. Only begin translating once finished with the quiz, at least in the short term. [[File:Full Script Translation Upper Panel.png|alt=Location of the Full Script Translation Upper Panel.|center|thumb|600x600px|Location of the Full Script Translation Upper Panel.]]The &amp;quot;Auto-Translate Vanilla Strings&amp;quot; check-box will automatically search for and translate exact matches to vanilla Quiz strings. Additional translations can be added in &amp;quot;Vanilla Translation Strings&amp;quot; as needed. If no exact match is found, the translation will be left blank for manual translation. &amp;quot;Auto-Translate Pokemon&amp;quot; similarly will attempt to translate exact matches for dialogue specific to the final species. For example, &amp;quot;[R][CN]Will be a [CS:K]Magnemite[CR]![W:60]&amp;quot; will be automatically translated to &amp;quot;[R][CN]wird ein [CS:K]Magnetilo[CR]![W:60]&amp;quot; (German), based on Magnemite&#039;s German name and the phrase &amp;quot;wird ein ___!&amp;quot;. This will only occur if the checkbox is enabled, and only for Pokemon names present in &amp;quot;Vanilla Translation Strings&amp;quot;. Finally, the &amp;quot;Trim [S:0] Before Translation&amp;quot; checkbox will remove all &amp;quot;[S:0]&amp;quot; text tags from the dialogue before searching for a match, ensuring that the various &amp;quot;Yes.&amp;quot;, &amp;quot;No.&amp;quot;. &amp;quot;Of Course!&amp;quot;, and &amp;quot;Open it!&amp;quot; are not translated automatically, per their vanilla quiz questions. Regardless of whether this checkbox is enabled, the final script output will not contain the &amp;quot;[S:0]&amp;quot; tags. &lt;br /&gt;
&lt;br /&gt;
=== String Translation Panel ===&lt;br /&gt;
The string translation panel, on the right of this tab, is where text string translation will actually occur. &lt;br /&gt;
[[File:String Translation Panel.png|alt=Location of String Translation Panel.|center|thumb|600x600px|Location of String Translation Panel.]]&lt;br /&gt;
On the left, are English lines of text extracted from other tabs of the sheet. each column corresponds to an EU language (Spanish, French, German, Italian). At the top of each column, is a count of how many untranslated lines of dialogue are left for that language, as well as a checkbox to enable/disable each language. In the above screenshot, French dialogue will not be added to the final script, because the checkbox is enabled. In the rows themselves, are pink cells (vanilla translated text), green cells (empty), and blue cells (manual translation). Simply review each pink cell, and manually translate the English for that row for green cells so they turn blue. If a pink cell needs editing, simply copy the cell, and &#039;&#039;&#039;Paste Values&#039;&#039;&#039; it on top of itself, and it will turn blue, which is safe to edit. &lt;br /&gt;
&lt;br /&gt;
== Vanilla Translation Strings: Future-Proofing The Sheet ==&lt;br /&gt;
This tab of the sheet is used to store vanilla strings from the base game, and official Pokemon translations. These can be amended and edited as desired, to include custom strings for auto-translation, or new Pokemon name translations. &lt;br /&gt;
[[File:Vanilla Translation Strings Dialogue.png|alt=Vanilla Translation Strings Dialogue|center|thumb|600x600px|Vanilla Translation Strings Dialogue]]&lt;br /&gt;
This area above contains all relevant vanilla strings, which can be added to or amended as desired, in the green cells in these 5 columns. If a need arises to make changes to the quiz after translation, it is best to move all manually translated lines to this tab, before making any changes. Additionally, the lookup table for Pokemon species names can be modified:&lt;br /&gt;
[[File:Vanilla Translation Strings Species.png|alt=Vanilla Translation Strings Species|center|thumb|452x452px|Vanilla Translation Strings Species]]&lt;br /&gt;
On the far right of the tab, are a list of every Pokemon through Scarlet &amp;amp; Violet, and the French/German translations for each species (Spanish and Italian use English species names). These can also be amended or added to as desired. &lt;br /&gt;
&lt;br /&gt;
== Full Script Compression: It&#039;s Finally Over? ==&lt;br /&gt;
Last but not least, is the Full Script Compression Tab. This tab compiles all of the information from the other tabs, and compresses it into a copy/pastable batch of scripts for SkyTemple. &lt;br /&gt;
&lt;br /&gt;
=== Upper Panel ===&lt;br /&gt;
There are a handful of settings in this upper panel. &amp;quot;White Space&amp;quot; is as it has been for every prior tab, but that&#039;s the only returning input.&lt;br /&gt;
[[File:Full Script Compression Upper Panel.png|alt=Full Script Compression Upper Panel Location.|center|thumb|600x600px|Full Script Compression Upper Panel Location.]]&lt;br /&gt;
&amp;quot;Use Full MegaScript&amp;quot; will compile the entire quiz into one script. This is only possible for English-only quizzes, and is only advised for quizzes with few questions and fewer starter choices. &amp;quot;Use Translated Scripts?&amp;quot; will use the outputs from Full Script Translation, which will be empty if the sheet is not active. Disable this checkbox for English-only quizzes. &amp;quot;Generate Unionall CORO&amp;quot; will create the unionall code needed to run the quiz, for a copy and paste replacement for the existing &#039;&#039;&#039;CORO EVENT_M00A_01&#039;&#039;&#039; coroutine. The &amp;quot;Script File LEVEL Name&amp;quot; should reflect the location of the map LEVEL &amp;quot;folder&amp;quot; that the script file will actually be under. The &amp;quot;Script File SCRIPT Name&amp;quot; should become the name of the acting script itself, and should be 8 alphanumerical characters or fewer (not case-sensitive). Finally, the &amp;quot;Sector Param.&amp;quot; is the sector parameter of the supervision_ActingSub() Opcode. Generally this should be zero, though none of these scripts internally utilize the sector parameter, should it be of interest for customization.&lt;br /&gt;
&lt;br /&gt;
=== SkyTemple Script Outputs ===&lt;br /&gt;
This portion of the sheet consists of outputs to SkyTemple. Unlike most output cells thus far, these are actually intended for use!&lt;br /&gt;
[[File:SkyTemple Script Outputs.png|alt=SkyTemple Script Outputs Location.|center|thumb|600x600px|SkyTemple Script Outputs Location.]]&lt;br /&gt;
The intended places for each of these outputs will be described in &amp;quot;Importing The Scripts To SkyTemple&amp;quot;, but when copying a script, be sure to copy all cells in the box with text.&lt;br /&gt;
&lt;br /&gt;
== Importing The Scripts To SkyTemple ==&lt;br /&gt;
&lt;br /&gt;
=== Converting From StarterMenuTool ===&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
&lt;br /&gt;
=== QMT Script Variable Map ===&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Happylappy</name></author>
	</entry>
</feed>