Skip to content
Nill edited this page Jan 20, 2021 · 2 revisions

Background

In the original NES game, only one key was ever expected to exist in any level. The game tracked the positions of the key and door in each room separately from all other items, and the key always opened the only door.

In the NES game, attempts to add additional keys will fail because when Dana collects the rogue (unofficial) key, the game removes whatever item was at the official key's location, leaving Dana in an endless loop of colliding with the key -- stuck in an endless key animation softlock.

Similarly you can add additional doors, but in the NES version the game acts as if you exited through the official door and the exiting animation is broken.

The NES version supported hidden and keys covered with blocks, but did not support hidden or covered doors. Any attempt to hide or cover a door would be ruined because the game would show it's position in the intro animation, and the door will be revealed when Dana collects the key regardless of what item is actually in the spot the game believes the door is in.

SKX

Keys and doors in SKX are not typically treated any differently than other cell grid items. You can place as many keys and doors in a room as you want and nothing game breaking will ever happen.

Keys

  • Keys are shown during the room's intro sequence if they are visible or frozen.
  • Covered and hidden keys are not revealed to the player (as on the NES).
  • If a key does not have any extended KeyInfo data associated with it, collecting it will open every door.
  • If a key has KeyInfo associated with it, it will open the door described by the KeyInfo.
  • If a key opens a door that's visible, the normal animation plays and the doors open
  • Doors that are not visible are not revealed by collecting the key
  • The game will automatically remove any keys from a level if they no longer open any doors. This means if two keys open the same door (and nothing else), collecting one will make the other disappear. The game will never show a key that actually does nothing.
  • Dana can only collect a key once -- they're Persistent. They are removed from subsequent room attempts once collected.

Doors

  • Doors are shown during the room's intro sequence if they are visible or frozen.
  • Covered and hidden doors are not revealed to the player
  • The doors Dana currently has open (for the current room only) are stored in the game save and are re-opened upon subsequent room attempts
  • If a door does not have any extended DoorInfo data associated with it:
    • Exiting without the gold wing uses the Next Room Normal Exit
    • Exiting with the gold wing uses the Next Room Gold Wing Exit, with "fast" stars animation
    • Exiting through a Dark Door or once a Spell has activated the secret exit will use the Next Room Secret Exit
    • If a player collected a Shrine item in the room they're exiting, the bonus room logic runs and pre-empts whatever the next room was going to be until the bonus room is completed or the player dies.
  • If a door does have DoorInfo, it determines:
    • Whether the door exits to a different room, warps the player to a different position in the current room, or warps the player to a different position in a different room
    • Whether or not normal or "fast" start and finish animations are used
    • Whether or not the target room number appears above the door

Warping

  • Doors with a "Warp" (W) type just warp Dana within the current room without impacting anything other than Dana's position and velocity -- the room pauses briefly while Dana is warped.
  • Doors that warp to a position in a different room will play the outro/intro animation but not the "Thank you Dana" or title screen for the target room. This is intended for quick transitions between bonus rooms and other rooms Dana has already been in.
  • Warping to a location outside the current camera boundaries will automatically switch the CamerMode to Unlocked and the camera will pan to follow the warp.
  • Warp doors should be avoided near the edges of the level when wrapping is permitted to avoid the camera potentially following Dana from the wrong direction if he warps while wrapping

Clone this wiki locally