leaveWithDamage initial migration - #2965
Conversation
|
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. |
|
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. |
|
Closing this in favor of #2967 |
leaveWithDamageexit condition which replacesleaveWithGModeSetupandleaveWithXModeSetup, extending them to be usable for more purposes. I think ofleaveWithDamageas similar now toleaveWithRunwayin how the same exit condition can represent multiple possible actions in the exiting room, depending on what is needed in the next room.comeInWithIFramesandcomeInWithDamageBoost, with applications in Tourian Hopper Room and Climb Supers respectively.enemieslist 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.leaveWithDamagestrats will be done in another pass (maybe a stacked PR on top of this one), to avoid making this PR any more complicated.