Fast Ripper Room

Room ID: 153

Wiki
Difficulty filter

From: 1
Left Door
To: 1
Left Door

Requires:

{
  "heatFrames": 120
}
{
  "or": [
    "Morph",
    "Ice",
    "ScrewAttack",
    {
      "ammo": {
        "type": "Super",
        "count": 2
      }
    },
    {
      "enemyDamage": {
        "enemy": "Ripper 2 (red)",
        "type": "contact",
        "hits": 1
      }
    }
  ]
}

Exit condition:

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

Requires:

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

Requires:

"h_canHeatedCrystalFlash"
From: 1
Left Door
To: 3
Junction Left of Green Gate

Requires:

"h_canNavigateHeatRooms"
{
  "heatFrames": 450
}
{
  "enemyDamage": {
    "enemy": "Ripper 2 (red)",
    "type": "contact",
    "hits": 3
  }
}
From: 1
Left Door
To: 3
Junction Left of Green Gate

Requires:

"h_canNavigateHeatRooms"
{
  "heatFrames": 350
}
"ScrewAttack"
From: 1
Left Door
To: 3
Junction Left of Green Gate

The time lost by setting up a few strategic kills is pretty much offset by not having damage recoil.

Requires:

"h_canNavigateHeatRooms"
{
  "heatFrames": 450
}
{
  "enemyKill": {
    "enemies": [
      [
        "Ripper 2 (red)",
        "Ripper 2 (red)"
      ]
    ],
    "explicitWeapons": [
      "Super",
      "PowerBomb"
    ]
  }
}
From: 2
Right Door
To: 1
Left Door

Entrance condition:

{
  "comeInWithGrappleTeleport": {
    "blockPositions": [
      [
        5,
        3
      ],
      [
        7,
        2
      ]
    ]
  }
}

Requires:

{
  "heatFrames": 45
}
From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Bypasses door shell: true

From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

From: 2
Right Door
To: 1
Left Door

Entrance condition:

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

Exit condition:

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

Bypasses door shell: true

From: 2
Right Door
To: 2
Right Door

Requires:

{
  "obstaclesNotCleared": [
    "A"
  ]
}

Exit condition:

{
  "leaveWithRunway": {
    "length": 10,
    "openEnd": 0
  }
}
From: 2
Right Door
To: 2
Right Door

Requires:

{
  "or": [
    "h_canHeatedGreenGateGlitch",
    {
      "obstaclesCleared": [
        "A"
      ]
    }
  ]
}
{
  "enemyDamage": {
    "enemy": "Ripper 2 (red)",
    "type": "contact",
    "hits": 2
  }
}

Exit condition:

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

Requires:

"h_canHeatedCrystalFlash"
From: 2
Right Door
To: 3
Junction Left of Green Gate

Requires:

"h_canNavigateHeatRooms"
{
  "or": [
    "h_canHeatedGreenGateGlitch",
    {
      "obstaclesCleared": [
        "A"
      ]
    }
  ]
}
{
  "heatFrames": 100
}

Clears obstacles: A

From: 3
Junction Left of Green Gate
To: 1
Left Door

Requires:

"h_canNavigateHeatRooms"
{
  "heatFrames": 600
}
{
  "enemyDamage": {
    "enemy": "Ripper 2 (red)",
    "type": "contact",
    "hits": 2
  }
}
From: 3
Junction Left of Green Gate
To: 1
Left Door

Requires:

"h_canNavigateHeatRooms"
{
  "heatFrames": 600
}
"ScrewAttack"
From: 3
Junction Left of Green Gate
To: 1
Left Door

It's more chaotic because the GGG's unreliability makes the room more variable, but one PB or 2 Super kills should usually do it.

Requires:

"h_canNavigateHeatRooms"
{
  "heatFrames": 600
}
{
  "enemyKill": {
    "enemies": [
      [
        "Ripper 2 (red)",
        "Ripper 2 (red)"
      ]
    ],
    "explicitWeapons": [
      "Super",
      "PowerBomb"
    ]
  }
}
From: 3
Junction Left of Green Gate
To: 2
Right Door

Requires:

"h_canNavigateHeatRooms"
{
  "heatFrames": 100
}
{
  "or": [
    {
      "and": [
        {
          "heatFrames": 50
        },
        {
          "ammo": {
            "type": "Super",
            "count": 1
          }
        }
      ]
    },
    {
      "obstaclesCleared": [
        "A"
      ]
    }
  ]
}

Clears obstacles: A

From: 3
Junction Left of Green Gate
To: 3
Junction Left of Green Gate

Requires:

"h_canHeatedCrystalFlash"

{
  "$schema": "../../../schema/m3-room.schema.json",
  "id": 153,
  "name": "Fast Ripper Room",
  "area": "Norfair",
  "subarea": "Lower",
  "subsubarea": "West",
  "playable": true,
  "roomAddress": "0x7B2DA",
  "roomEnvironments": [
    {
      "heated": true
    }
  ],
  "nodes": [
    {
      "id": 1,
      "name": "Left Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001988e",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 2,
      "name": "Right Door",
      "nodeType": "door",
      "nodeSubType": "blue",
      "nodeAddress": "0x001989a",
      "doorEnvironments": [
        {
          "physics": "air"
        }
      ]
    },
    {
      "id": 3,
      "name": "Junction Left of Green Gate",
      "nodeType": "junction",
      "nodeSubType": "junction"
    }
  ],
  "obstacles": [
    {
      "id": "A",
      "name": "Green Gate",
      "obstacleType": "inanimate"
    }
  ],
  "enemies": [
    {
      "id": "e1",
      "groupName": "Fast Rippers",
      "enemyName": "Ripper 2 (red)",
      "quantity": 6,
      "homeNodes": [
        1
      ],
      "dropRequires": [
        "h_heatProof"
      ]
    }
  ],
  "links": [
    {
      "from": 1,
      "to": [
        {
          "id": 1
        },
        {
          "id": 3
        }
      ]
    },
    {
      "from": 2,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        }
      ]
    },
    {
      "from": 3,
      "to": [
        {
          "id": 1
        },
        {
          "id": 2
        },
        {
          "id": 3
        }
      ]
    }
  ],
  "strats": [
    {
      "link": [
        1,
        1
      ],
      "name": "Leave With Runway",
      "requires": [
        {
          "heatFrames": 120
        },
        {
          "or": [
            "Morph",
            "Ice",
            "ScrewAttack",
            {
              "ammo": {
                "type": "Super",
                "count": 2
              }
            },
            {
              "enemyDamage": {
                "enemy": "Ripper 2 (red)",
                "type": "contact",
                "hits": 1
              }
            }
          ]
        }
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 5,
          "openEnd": 1
        }
      },
      "devNote": "This assumes we must wait for the Rippers to pass (or freeze or kill them)."
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Ripper Farm",
      "requires": [
        "h_heatProof",
        "ScrewAttack",
        {
          "resetRoom": {
            "nodes": [
              1
            ],
            "mustStayPut": false
          }
        },
        {
          "refill": [
            "Energy",
            "Super"
          ]
        }
      ]
    },
    {
      "link": [
        1,
        1
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canHeatedCrystalFlash"
      ]
    },
    {
      "link": [
        1,
        3
      ],
      "name": "Tank the Rippers",
      "requires": [
        "h_canNavigateHeatRooms",
        {
          "heatFrames": 450
        },
        {
          "enemyDamage": {
            "enemy": "Ripper 2 (red)",
            "type": "contact",
            "hits": 3
          }
        }
      ]
    },
    {
      "link": [
        1,
        3
      ],
      "name": "Screw Attack",
      "requires": [
        "h_canNavigateHeatRooms",
        {
          "heatFrames": 350
        },
        "ScrewAttack"
      ]
    },
    {
      "link": [
        1,
        3
      ],
      "name": "Kill some Rippers",
      "requires": [
        "h_canNavigateHeatRooms",
        {
          "heatFrames": 450
        },
        {
          "enemyKill": {
            "enemies": [
              [
                "Ripper 2 (red)",
                "Ripper 2 (red)"
              ]
            ],
            "explicitWeapons": [
              "Super",
              "PowerBomb"
            ]
          }
        }
      ],
      "note": "The time lost by setting up a few strategic kills is pretty much offset by not having damage recoil."
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Grapple Teleport",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              5,
              3
            ],
            [
              7,
              2
            ]
          ]
        }
      },
      "requires": [
        {
          "heatFrames": 45
        }
      ]
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Grapple Teleport Door Lock Skip",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ],
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Top Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              12
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        1
      ],
      "name": "Carry Grapple Teleport (Bottom Position)",
      "entranceCondition": {
        "comeInWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              13
            ]
          ]
        }
      },
      "requires": [],
      "bypassesDoorShell": true,
      "exitCondition": {
        "leaveWithGrappleTeleport": {
          "blockPositions": [
            [
              3,
              13
            ]
          ]
        }
      }
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Leave With Runway (Gate Closed)",
      "requires": [
        {
          "obstaclesNotCleared": [
            "A"
          ]
        }
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 10,
          "openEnd": 0
        }
      }
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Leave With Runway (Gate Open)",
      "requires": [
        {
          "or": [
            "h_canHeatedGreenGateGlitch",
            {
              "obstaclesCleared": [
                "A"
              ]
            }
          ]
        },
        {
          "enemyDamage": {
            "enemy": "Ripper 2 (red)",
            "type": "contact",
            "hits": 2
          }
        }
      ],
      "exitCondition": {
        "leaveWithRunway": {
          "length": 29,
          "openEnd": 1
        }
      }
    },
    {
      "link": [
        2,
        2
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canHeatedCrystalFlash"
      ]
    },
    {
      "link": [
        2,
        3
      ],
      "name": "Base",
      "requires": [
        "h_canNavigateHeatRooms",
        {
          "or": [
            "h_canHeatedGreenGateGlitch",
            {
              "obstaclesCleared": [
                "A"
              ]
            }
          ]
        },
        {
          "heatFrames": 100
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        3,
        1
      ],
      "name": "Tank the Rippers",
      "requires": [
        "h_canNavigateHeatRooms",
        {
          "heatFrames": 600
        },
        {
          "enemyDamage": {
            "enemy": "Ripper 2 (red)",
            "type": "contact",
            "hits": 2
          }
        }
      ]
    },
    {
      "link": [
        3,
        1
      ],
      "name": "Screw Attack",
      "requires": [
        "h_canNavigateHeatRooms",
        {
          "heatFrames": 600
        },
        "ScrewAttack"
      ]
    },
    {
      "link": [
        3,
        1
      ],
      "name": "Kill some Rippers",
      "requires": [
        "h_canNavigateHeatRooms",
        {
          "heatFrames": 600
        },
        {
          "enemyKill": {
            "enemies": [
              [
                "Ripper 2 (red)",
                "Ripper 2 (red)"
              ]
            ],
            "explicitWeapons": [
              "Super",
              "PowerBomb"
            ]
          }
        }
      ],
      "note": "It's more chaotic because the GGG's unreliability makes the room more variable, but one PB or 2 Super kills should usually do it."
    },
    {
      "link": [
        3,
        2
      ],
      "name": "Base",
      "requires": [
        "h_canNavigateHeatRooms",
        {
          "heatFrames": 100
        },
        {
          "or": [
            {
              "and": [
                {
                  "heatFrames": 50
                },
                {
                  "ammo": {
                    "type": "Super",
                    "count": 1
                  }
                }
              ]
            },
            {
              "obstaclesCleared": [
                "A"
              ]
            }
          ]
        }
      ],
      "clearsObstacles": [
        "A"
      ]
    },
    {
      "link": [
        3,
        3
      ],
      "name": "Crystal Flash",
      "requires": [
        "h_canHeatedCrystalFlash"
      ]
    }
  ]
}