Skip to content

leaveWithDamage initial migration - #2965

Closed
blkerby wants to merge 4 commits into
vg-json-data:masterfrom
blkerby:leave-with-damage
Closed

leaveWithDamage initial migration#2965
blkerby wants to merge 4 commits into
vg-json-data:masterfrom
blkerby:leave-with-damage

Conversation

@blkerby

@blkerby blkerby commented Aug 29, 2026

Copy link
Copy Markdown
Contributor
  • Introduces a leaveWithDamage exit condition which replaces leaveWithGModeSetup and leaveWithXModeSetup, extending them to be usable for more purposes. I think of leaveWithDamage as similar now to leaveWithRunway in how the same exit condition can represent multiple possible actions in the exiting room, depending on what is needed in the next room.
  • Adds corresponding new entrance conditions comeInWithIFrames and comeInWithDamageBoost, with applications in Tourian Hopper Room and Climb Supers respectively.
  • I would recommend reviewing this commit-by-commit. The bulk of the changes come from an LLM-assisted migration of the G-mode setup strats, which in the new schema needs to specify the enemy name (and attack, if not "contact"). This is supported by a test which checks that the enemy/attack name is one that exists in the enemies list in the room. The only cases which needed some special handling were ones where originally there were multiple possible enemies that could be used; these needed to either be split into separate strats (e.g. where the available enemy depends on game state, in Wrecked Ship with power on/off), or just pick the enemy with lowest damage and mention the other in a note.
  • Adding more leaveWithDamage strats will be done in another pass (maybe a stacked PR on top of this one), to avoid making this PR any more complicated.
  • Although the schema would now allow them to be consolidated, I kept the X-mode setup strats separate for now; it's possible we may want to add notes there about subpixel normalizations, but if that ends up instead going into the tech or entrance strat then we can consolidate the setup strats later.

@blkerby
blkerby marked this pull request as draft August 29, 2026 16:06
@blkerby

blkerby commented Aug 29, 2026

Copy link
Copy Markdown
Contributor Author

I'm still struggling a bit with the schema. I'm realizing that if you enter Tourian Hoppers with a damage boost, you can do it with fewer i-frames, and this can matter for the Mission Impossible spike damage boost for example, so it seems like we need the leaveWithDamage schema to be able to encode that you can exit with a damage boost (not just i-frames). The interaction between the properties feels a little messy though, so I'm thinking of how to maybe make it simpler. But for the migration of the G-mode setups (the main point of this PR), none of this matters, so it doesn't necessarily have to be resolved in this PR. For now I will continue working on it in the next PR which will be stacked on this.

@blkerby
blkerby marked this pull request as ready for review August 29, 2026 16:18
@blkerby
blkerby marked this pull request as draft August 29, 2026 17:11
@blkerby

blkerby commented Aug 29, 2026

Copy link
Copy Markdown
Contributor Author

This needs some more work to figure out the tech requirements. As written, it would put cross-room i-frame usage into Hard, e.g. to pass the Tourian Hoppers. Long-term maybe that could be ok, for enemies that are easily accessed by the door, but the problem is that leaveWithGModeSetup strats may have been written assuming a higher baseline difficulty; e.g. some of the enemy lures could be unreasonably slow for Hard. So I'm leaning towards putting these in a higher difficulty, maybe Expert? We could make a notable for each of Tourian Hoppers and Climb Supers, or potentially a "canTrickyDodgeEnemies" could cover it in Tourian Hoppers; if coming in with a damage boost you do have to be careful not to boost so far right that it triggers the top Hopper to hop right. The notables or other requirements could then potentially be moved down if the setup requirements are refined later.

@blkerby

blkerby commented Aug 30, 2026

Copy link
Copy Markdown
Contributor Author

Closing this in favor of #2967

@blkerby blkerby closed this Aug 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant