Scenario Main Values

From SkyTemple
Revision as of 18:30, 26 July 2025 by GinnieH20 (talk | contribs) (Created page and added the first few cells in the table, along with the description.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The following table is a work-in-progress list of the scenario main ($SCENARIO_MAIN) 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.

The format used by the game for defining this variable is $SCENARIO_MAIN = scn[1, 0]; where the two numbers in the brackets change depending on story progression.

For scripts that check for specific $SCENARIO_MAIN values using if-statements (such as to determine what 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's overworld dialogue scripts: if ( scn($SCENARIO_MAIN) >= [26, 5] ) . In this example, the game is checking to see if the current $SCENARIO_MAIN value is greater than or equal to [26, 5] and, if that is indeed the case, then the partner's overworld dialogue will be some variation of "We're so close... There's no way we can give up now, [hero]!"

Because some scripts have identical names, the column for the script locations of each $SCENARIO_MAIN value will also include the name of the folder/map they are found in.

Scenario Main (Values) Game Chapter Description Script location of the value Other notes Other scripts that mention this value Debug Menu (that uses this value)
$SCENARIO_MAIN = scn[1, 0]; Immediately BEFORE the personality quiz Found in unionall.ssb under

EVENT_DIVIDE_OPENING

~ line 900

Contained within the larger EVENT_DIVIDE
$SCENARIO_MAIN = scn[2, 0]; Immediately AFTER the personality quiz Found in unionall.ssb under

EVENT_M00A_01

~ line 2261

$SCENARIO_MAIN = scn[2, 1]; Found in unionall.ssb under

EVENT_DIVIDE_FIRST

~ line 967

happylappy writes that this is in a switch case in EVENT_DIVIDE over $SCENARIO_MAIN

“Basically, if it’s [X, 0], make it [X, 1]… for these chapters only”

(also applies to scn[3, 1];)

$SCENARIO_MAIN = scn[2, 2]; Chapter 1 Partner’s Relic Fragment was just stolen on the beach D01P11B

(m01a0208.ssb)