West Cactus Alley Room

Room ID: 195

Wiki
Difficulty filter

From: 1
Bottom Left Door
To: 1
Bottom Left Door

Exit condition:

{
  "leaveWithRunway": {
    "length": 3,
    "openEnd": 1
  }
}
From: 1
Bottom Left Door
To: 1
Bottom Left Door

Requires:

{
  "resetRoom": {
    "nodes": [
      1
    ],
    "mustStayPut": false
  }
}
{
  "refill": [
    "Super"
  ]
}
From: 1
Bottom Left Door
To: 1
Bottom Left Door

Requires:

"HiJump"
{
  "resetRoom": {
    "nodes": [
      1
    ],
    "mustStayPut": false
  }
}
{
  "refill": [
    "Energy",
    "Super"
  ]
}
From: 1
Bottom Left Door
To: 1
Bottom Left Door

Requires:

"h_canCrystalFlash"
From: 1
Bottom Left Door
To: 2
Top Right Door

Requires:

"Gravity"
{
  "or": [
    "h_canCrouchJumpDownGrab",
    "canUseFrozenEnemies",
    "canGravityJump",
    "canWalljump",
    "HiJump",
    "canSpringBallJumpMidAir",
    "h_canFly",
    "h_canSpringBallBombJump"
  ]
}
From: 1
Bottom Left Door
To: 2
Top Right Door

Damage boost up to the higher ledge using a Cacatac spike. Spikes only exist on camera so follow a vertically fired spike up to the correct height.

Requires:

"Gravity"
"canHorizontalDamageBoost"
"canCameraManip"
{
  "enemyDamage": {
    "enemy": "Cacatac",
    "hits": 1,
    "type": "spike"
  }
}
From: 1
Bottom Left Door
To: 2
Top Right Door

Requires:

"canSuitlessMaridia"
"HiJump"
{
  "or": [
    "canSpringBallJumpMidAir",
    "canSpaceJumpWaterBounce",
    "canUseFrozenEnemies"
  ]
}
From: 1
Bottom Left Door
To: 2
Top Right Door

Requires:

"canSuitlessMaridia"
"canUseFrozenEnemies"
"canTrickySpringBallJump"
"canCrouchJump"
From: 1
Bottom Left Door
To: 2
Top Right Door

Climb up a little less than 1 screen.

Entrance condition:

{
  "comeInWithDoorStuckSetup": {}
}

Requires:

"canXRayClimb"
From: 1
Bottom Left Door
To: 2
Top Right Door

Requires a runway of at least 2 tiles (with no open end) in the adjacent room.

Entrance condition:

{
  "comeInJumping": {
    "speedBooster": false,
    "minTiles": 1.4375
  }
}

Requires:

"canCrossRoomJumpIntoWater"
"canMomentumConservingTurnaround"
"canTrickyJump"
From: 1
Bottom Left Door
To: 2
Top Right Door

The lenient version requires a runway of at least 5 tiles (with no open end) in the adjacent room.

Entrance condition:

{
  "comeInJumping": {
    "speedBooster": false,
    "minTiles": 4.4375
  }
}

Requires:

"canCrossRoomJumpIntoWater"
From: 1
Bottom Left Door
To: 2
Top Right Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 4
  }
}

Requires:

"Gravity"
{
  "shinespark": {
    "frames": 20,
    "excessFrames": 0
  }
}
From: 1
Bottom Left Door
To: 2
Top Right Door

Entrance condition:

{
  "comeInShinecharged": {
    "framesRequired": 20
  }
}

Requires:

"canSuitlessMaridia"
{
  "shinespark": {
    "frames": 20,
    "excessFrames": 0
  }
}
From: 1
Bottom Left Door
To: 2
Top Right Door

It can be difficult to land on the ledge when the waterline is low. It may be necessary to time the walljump attempts by watching the water level, or by stalling with additional walljumps as the water rises.

Requires:

"canUnderwaterWalljump"
From: 1
Bottom Left Door
To: 2
Top Right Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        12
      ],
      [
        12,
        13
      ]
    ]
  }
}

Bypasses door shell: true

From: 1
Bottom Left Door
To: 2
Top Right Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        12
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        12
      ]
    ]
  }
}

Bypasses door shell: true

From: 1
Bottom Left Door
To: 2
Top Right Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        13
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        12,
        13
      ]
    ]
  }
}

Bypasses door shell: true

From: 2
Top Right Door
To: 1
Bottom Left Door

From: 2
Top Right Door
To: 1
Bottom Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ],
      [
        2,
        19
      ],
      [
        2,
        28
      ],
      [
        2,
        29
      ]
    ]
  }
}

Bypasses door shell: true

From: 2
Top Right Door
To: 1
Bottom Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        18
      ]
    ]
  }
}

Bypasses door shell: true

From: 2
Top Right Door
To: 1
Bottom Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        19
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        19
      ]
    ]
  }
}

Bypasses door shell: true

From: 2
Top Right Door
To: 1
Bottom Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        28
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        28
      ]
    ]
  }
}

Bypasses door shell: true

From: 2
Top Right Door
To: 1
Bottom Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        29
      ]
    ]
  }
}

Exit condition:

{
  "leaveWithGrappleTeleport": {
    "blockPositions": [
      [
        2,
        29
      ]
    ]
  }
}

Bypasses door shell: true

From: 2
Top Right Door
To: 2
Top Right Door

Exit condition:

{
  "leaveWithRunway": {
    "length": 3,
    "openEnd": 1
  }
}
From: 2
Top Right Door
To: 2
Top Right Door

Requires:

{
  "resetRoom": {
    "nodes": [
      2
    ],
    "mustStayPut": false
  }
}
{
  "refill": [
    "Energy",
    "Super"
  ]
}
From: 2
Top Right Door
To: 2
Top Right Door

Requires:

"h_canCrystalFlash"

{
  "$schema": "../../../schema/m3-room.schema.json",
  "id": 195,
  "name": "West Cactus Alley Room",
  "area": "Maridia",
  "subarea": "Inner",
  "subsubarea": "Pink",
  "playable": true,
  "roomAddress": "0x7D9FE",
  "roomEnvironments": [
    {
      "heated": false
    }
  ],
  "nodes": [
    {
      "id": 1,
      "name": "Bottom Left Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001a93c",
      "doorEnvironments": [
        {
          "physics": "water"
        }
      ]
    },
    {
      "id": 2,
      "name": "Top Right Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001a948",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    }
  ],
  "enemies": [
    {
      "id": "e1",
      "groupName": "West Cactus Alley Top Cacatacs",
      "enemyName": "Cacatac",
      "quantity": 2,
      "homeNodes": [
        2
      ]
    },
    {
      "id": "e2",
      "groupName": "West Cactus Alley Bottom Cacatac",
      "enemyName": "Cacatac",
      "quantity": 1,
      "homeNodes": [
        1
      ]
    },
    {
      "id": "e3",
      "groupName": "West Cactus Alley Middle Cacatac",
      "enemyName": "Cacatac",
      "quantity": 1,
      "betweenNodes": [
        1,
        2
      ]
    }
  ],
  "links": [
    {
      "from": 1,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        }
      ]
    },
    {
      "from": 2,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        }
      ]
    }
  ],
  "strats": [
    {
      "link": [
        1,
        1
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 3,
          "openEnd": 1
        }
      }
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Single Cacatac Farm",
      "requires": [
        {
          "resetRoom": {
            "nodes": [
              1
            ],
            "mustStayPut": false
          }
        },
        {
          "refill": [
            "Super"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Cacatac Farm",
      "requires": [
        "HiJump",
        {
          "resetRoom": {
            "nodes": [
              1
            ],
            "mustStayPut": false
          }
        },
        {
          "refill": [
            "Energy",
            "Super"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Base",
      "requires": [
        "Gravity",
        {
          "or": [
            "h_canCrouchJumpDownGrab",
            "canUseFrozenEnemies",
            "canGravityJump",
            "canWalljump",
            "HiJump",
            "canSpringBallJumpMidAir",
            "h_canFly",
            "h_canSpringBallBombJump"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Gravity Damage Boost",
      "requires": [
        "Gravity",
        "canHorizontalDamageBoost",
        "canCameraManip",
        {
          "enemyDamage": {
            "enemy": "Cacatac",
            "hits": 1,
            "type": "spike"
          }
        }
      ],
      "note": "Damage boost up to the higher ledge using a Cacatac spike. Spikes only exist on camera so follow a vertically fired spike up to the correct height."
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Suitless HiJump plus Assist",
      "requires": [
        "canSuitlessMaridia",
        "HiJump",
        {
          "or": [
            "canSpringBallJumpMidAir",
            "canSpaceJumpWaterBounce",
            "canUseFrozenEnemies"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Suitless SpringBall Frozen Cacatac",
      "requires": [
        "canSuitlessMaridia",
        "canUseFrozenEnemies",
        "canTrickySpringBallJump",
        "canCrouchJump"
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "X-Ray Climb",
      "entranceCondition": {
        "comeInWithDoorStuckSetup": {}
      },
      "requires": [
        "canXRayClimb"
      ],
      "note": "Climb up a little less than 1 screen."
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Cross Room Jump",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": false,
          "minTiles": 1.4375
        }
      },
      "requires": [
        "canCrossRoomJumpIntoWater",
        "canMomentumConservingTurnaround",
        "canTrickyJump"
      ],
      "note": "Requires a runway of at least 2 tiles (with no open end) in the adjacent room."
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Cross Room Jump (Lenient)",
      "entranceCondition": {
        "comeInJumping": {
          "speedBooster": false,
          "minTiles": 4.4375
        }
      },
      "requires": [
        "canCrossRoomJumpIntoWater"
      ],
      "note": "The lenient version requires a runway of at least 5 tiles (with no open end) in the adjacent room."
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Gravity Shinespark",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 4
        }
      },
      "requires": [
        "Gravity",
        {
          "shinespark": {
            "frames": 20,
            "excessFrames": 0
          }
        }
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Suitless Shinespark",
      "entranceCondition": {
        "comeInShinecharged": {
          "framesRequired": 20
        }
      },
      "requires": [
        "canSuitlessMaridia",
        {
          "shinespark": {
            "frames": 20,
            "excessFrames": 0
          }
        }
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Underwater Walljumps",
      "requires": [
        "canUnderwaterWalljump"
      ],
      "note": [
        "It can be difficult to land on the ledge when the waterline is low.",
        "It may be necessary to time the walljump attempts by watching the water level, or by stalling with additional walljumps as the water rises."
      ]
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ],
            [
              12,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              12
            ]
          ]
        }
      }
    },
    {
      "link": [
        1,
        2
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              12,
              13
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Base",
      "requires": []
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ],
            [
              2,
              19
            ],
            [
              2,
              28
            ],
            [
              2,
              29
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              18
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Upper Middle Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              19
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              19
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Lower Middle Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              28
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              28
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              29
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              2,
              29
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Leave with Runway",
      "requires": [],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 3,
          "openEnd": 1
        }
      }
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Cacatac Farm",
      "requires": [
        {
          "resetRoom": {
            "nodes": [
              2
            ],
            "mustStayPut": false
          }
        },
        {
          "refill": [
            "Energy",
            "Super"
          ]
        }
      ]
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canCrystalFlash"
      ]
    }
  ]
}