Screen Secrets

From ZCWiki
Jump to: navigation, search

Screen Secrets is a process that, when triggered, changes many of the combos on a screen, replacing them with specific Secret Combos depending on what Combo Flag the combo has been flagged with.

Mechanics

When Screen Secrets are triggered by one means or another, Zelda Classic sweeps through all of the screen's combos (and, importantly, all of the screen's layers) only once, and replaces certain flagged combos with a specific Secret Combo from the same layer. For information on precisely which Secret Combo is assigned to which flag, see Combo Flags.

The Process

1. If Screen Secrets were triggered by a Trigger Combo Flag, then the combo on which that flag was placed (henceforth, the "Triggering Combo") is replaced with its matching Secret Combo.
2. All other combos (including Freeform Combos) flagged with Trigger Combo Flags are replaced with their matching Secret Combos...
...unless the Triggering Combo (if any) was flagged with both a Trigger Combo Flag and the "Trigger -> Self Only" or "Trigger->Self, Secret Tiles" flag.
3. All other combos (including Freeform Combos) flagged with "Secret Tile" flags are replaced with their matching Secret Combos...
...unless the Triggering Combo (if any) was flagged with both a Trigger Combo Flag and the "Trigger -> Self Only" flag...
...or the "All Triggers->16-31" Screen Flag is set, and there are still some Trigger Combo Flags left on the screen...
...or it was triggered by a Triggering Combo and the "Enemies->Secret" Screen Flag is set while the "Permanent Enemies->Secret" Screen Flag is not set.
4. Furthermore, the screen's "Secrets" State is set, unless certain conditions are met (see below).

Steps 2 and 3 in detail

Combos can have a flag placed on them in a Screen, but they can also have an Inherent Flag set in the Combo Editor. How does the Screen Secrets process treat Inherent Flags in comparison to ordinary flags?

Step 2:

2a. If the combo's Inherent Flag is a Trigger Combo Flag, then it is replaced with the matching Secret Combo. If the combo is not a Freeform Combo and if the Secret Combo has been flagged with a Flag, then the combo's Flag is replaced with the Secret Combo's Flag after Step 2b is run, unless 2b also changes the flag.
2b. If the combo's Flag is a Trigger Combo Flag, then it is replaced with the matching Secret Combo, even if Step 2a already replaced the combo. If the Secret Combo has been flagged with a flag, then the combo's Flag is replaced with the Secret Combo's flag.

Step 3:

3a. If the combo's Inherent Flag is a "Secret Tile", then it is replaced with the matching Secret Combo. If the combo is not a Freeform Combo and if the Secret Combo has been flagged with a Flag, then the combo's Flag is replaced with the Secret Combo's Flag after Step 3b is run, unless 3b also changes the flag.
3b. If the combo's Flag is a "Secret Tile", then it is replaced with the matching Secret Combo, even if Step 3a already replaced the combo. If the Secret Combo has been flagged with a flag, then the combo's Flag is replaced with the Secret Combo's flag.

An important detail to note is that Inherent Flags are processed before ordinary flags.

"Secrets" Screen State

The "Secrets" Screen State signifies that the changes made by Screen Secrets should be permanent - they should be applied whenever the screen is loaded from now on. (Note, however, that Tiered Secrets will not be made permanent - only one iteration of the Screen Secrets process will be run when the screen loads.)

It will always be set whenever Screen Secrets are triggered, unless:

  • The "All Triggers->Perm Scrt" Screen Flag is set, and there are still some Trigger Combo Flags left on the screen, or
  • The "Secrets Are Temporary" Screen Flag is set, or
  • The DMap type is "NES Dungeon" and the "Treat As Interior Room" Screen Flag is not set, or
  • The Screen Secrets were triggered by a 'Whistle Trigger' Trigger Combo Flag, or
  • The Screen Secrets were triggered by Link stepping on a "Step->Secrets (Temporary)" or "Step->Secrets (Sens. Temp)" Combo Type, or
  • The Screen Secrets were triggered by Link pushing a Trigger Push Block (even if it was onto a lonely Block Trigger flag) whose combo type was not "Push (Heavy)" or "Push (Heavy, Wait)" or "Push (Very Heavy)" or "Push (Very Heavy, Wait)", or
  • The Screen Secrets were triggered by the "Enemies->Secret" Screen Flag, and the "Permanent Enemies->Secret" Screen Flag is not set.

List of Events that Trigger Screen Secrets

  • A Trigger Combo Flag being activated.
  • Link stepping onto a "Step->Secrets" Combo Type.
  • A Push Block being pushed that has not been flagged with a "Silent" Push Combo Flag. (Note: not always - see below).
  • A "Block Trigger" Combo Flag being covered by a Push Block, when there are no more "Block Trigger" flags on the screen. (Note: not always - see below).
  • Automatic whenever the "Enemies->Secret" Screen Flag is set, and there are no enemies in the screen.
  • Automatic when the screen is loaded, whenever the screen's "Secrets" screen state has been set. (Note: this doesn't stack with Enemies->Secret).

Other Forms of Screen Secrets

The "Armos(->Secret)" Flag

When this flag is triggered, the flagged combo (and only that combo) is replaced with that layer's "Stair" Secret Combo, but other Screen Secrets are not triggered.

Push Blocks and Stairs

As mentioned above, there are two ways to trigger screen secrets by pushing a Push Block. But, if the screen has the "Stair" square placed, then the "Stair" Secret Combo will be placed at that location instead of general Screen Secrets being triggered. But, even if this happens, the "Secrets" Screen State will still be set, if other conditions do not prevent it from being triggered.

See Also