====================
Templates

* Use Screw Attack (Space Jump):
      Morph Ball and Space Jump Boots and Screw Attack

* Use Screw Attack (No Space Jump):
      Morph Ball and Screw Attack

* Shoot Dark Beam:
      All of the following:
          Dark Beam
          Charge Beam or Dark Ammo

* Shoot Light Beam:
      All of the following:
          Light Beam
          Charge Beam or Light Ammo

* Shoot Annihilator Beam:
      All of the following:
          Annihilator Beam
          Any of the following:
              Charge Beam
              Dark Ammo and Light Ammo

* Shoot Darkburst:
      Dark Beam and Darkburst and Charge Beam and Missile ≥ 5 and Dark Ammo ≥ 30

* Shoot Sunburst:
      Light Beam and Sunburst and Charge Beam and Missile ≥ 5 and Light Ammo ≥ 30

* Shoot Sonic Boom:
      Annihilator Beam and Sonic Boom and Charge Beam and Missile ≥ 5 and Dark Ammo ≥ 30 and Light Ammo ≥ 30

* Activate Bomb Slot without Bombs (Space Jump):
      All of the following:
          Morph Ball and Space Jump Boots
          Shoot Darkburst or Shoot Sonic Boom

* Activate Bomb Slot without Bombs (No Space Jump):
      All of the following:
          Morph Ball
          Shoot Darkburst or Shoot Sonic Boom

* Activate Bomb Slot without Bombs (Instant Morph):
      All of the following:
          Morph Ball
          Shoot Darkburst or Shoot Sonic Boom or Shoot Sunburst

* Activate Safe Zone:
      All of the following:
          Enabled Safe Zone
          Power Beam or Shoot Annihilator Beam or Shoot Light Beam

* Has Suit:
      Dark Suit or Light Suit

====================
Dock Weaknesses

> DockType.DOOR
  * (0) Normal Door; Lock type: FRONT_ALWAYS_BACK_FREE
      Trivial

  * (1) Dark Door; Lock type: FRONT_ALWAYS_BACK_FREE
      Shoot Dark Beam

  * (2) Light Door; Lock type: FRONT_ALWAYS_BACK_FREE
      Shoot Light Beam

  * (3) Annihilator Door; Lock type: FRONT_ALWAYS_BACK_FREE
      Shoot Annihilator Beam

  * (4) Missile Blast Shield; Lock type: FRONT_BLAST_BACK_FREE_UNLOCK
      Missile

  * (5) Super Missile Blast Shield; Lock type: FRONT_BLAST_BACK_FREE_UNLOCK
      Power Beam and Super Missile and Charge Beam and Missile ≥ 5

  * (6) Seeker Launcher Blast Shield (destructible with Screw Attack; Expert); Lock type: FRONT_BLAST_BACK_FREE_UNLOCK
      Any of the following:
          All of the following:
              Seeker Launcher
              Combat Visor or Dark Visor
              Any of the following:
                  Missile ≥ 5
                  Missile ≥ 4 and Knowledge (Intermediate) and Use Screw Attack (Space Jump)
          Missile and Seeker Locks without Seekers (Expert) and Use Screw Attack (Space Jump)

  * (7) Power Bomb Blast Shield; Lock type: FRONT_BLAST_BACK_FREE_UNLOCK
      Morph Ball and Power Bomb

  * (8) Permanently Locked; Lock type: FRONT_ALWAYS_BACK_FREE
      Impossible

  * (9) Seeker Launcher Blast Shield (underwater; destructible by Screw Attack; Expert); Lock type: FRONT_BLAST_BACK_FREE_UNLOCK
      Any of the following:
          All of the following:
              Seeker Launcher
              Combat Visor or Dark Visor
              Any of the following:
                  Missile ≥ 5
                  Missile ≥ 4 and Air Underwater (Advanced) and Knowledge (Intermediate) and Use Screw Attack (Space Jump)
          Missile and Air Underwater (Advanced) and Seeker Locks without Seekers (Expert) and Use Screw Attack (Space Jump)

  * (10) Power Bomb Blast Shield (destructible by Power Bomb Guardian); Lock type: FRONT_BLAST_BACK_FREE_UNLOCK
      Any of the following:
          After Undertemple Blast Shield Destroyed by PB Guardian
          Morph Ball and Power Bomb

  * (11) Seeker Launcher Blast Shield (destructible with Screw Attack; Hypermode); Lock type: FRONT_BLAST_BACK_FREE_UNLOCK
      Any of the following:
          All of the following:
              Seeker Launcher
              Combat Visor or Dark Visor
              Any of the following:
                  Missile ≥ 5
                  Missile ≥ 4 and Knowledge (Intermediate) and Use Screw Attack (Space Jump)
          Missile ≥ 2 and Seeker Locks without Seekers (Hypermode) and Use Screw Attack (Space Jump)

  * (12) Seeker Launcher Blast Shield (destructible with Screw Attack; Advanced); Lock type: FRONT_BLAST_BACK_FREE_UNLOCK
      Any of the following:
          All of the following:
              Seeker Launcher
              Combat Visor or Dark Visor
              Any of the following:
                  Missile ≥ 5
                  Missile ≥ 4 and Knowledge (Intermediate) and Use Screw Attack (Space Jump)
          Missile and Seeker Locks without Seekers (Advanced) and Use Screw Attack (Space Jump)

  * (13) Seeker Launcher Blast Shield (destructible with Screw Attack; Expert; 2 Missiles); Lock type: FRONT_BLAST_BACK_FREE_UNLOCK
      Any of the following:
          All of the following:
              Seeker Launcher
              Combat Visor or Dark Visor
              Any of the following:
                  Missile ≥ 5
                  Missile ≥ 4 and Knowledge (Intermediate) and Use Screw Attack (Space Jump)
          Missile ≥ 2 and Seeker Locks without Seekers (Expert) and Use Screw Attack (Space Jump)

> DockType.MORPH_BALL_DOOR
  * (0) Morph Ball Door; Lock type: FRONT_ALWAYS_BACK_FREE
      Morph Ball

> DockType.OTHER
  * (0) Other Door; Lock type: FRONT_ALWAYS_BACK_FREE
      Trivial

> DockType.PORTAL
  * (0) Scan Portal; Lock type: FRONT_ALWAYS_BACK_FREE
      Scan Visor

  * (1) Dark Portal; Lock type: FRONT_ALWAYS_BACK_FREE
      Shoot Annihilator Beam or Shoot Dark Beam

  * (2) Light Portal; Lock type: FRONT_ALWAYS_BACK_FREE
      Shoot Annihilator Beam or Shoot Light Beam

  * (3) No Return Portal; Lock type: FRONT_ALWAYS_BACK_FREE
      Impossible

  * (4) Unknown Portal Type; Lock type: FRONT_ALWAYS_BACK_FREE
      Trivial
