Skip to content

Add schema for Jesuswalk. - #2941

Open
nn357 wants to merge 13 commits into
vg-json-data:masterfrom
nn357:xmode_stuff
Open

Add schema for Jesuswalk.#2941
nn357 wants to merge 13 commits into
vg-json-data:masterfrom
nn357:xmode_stuff

Conversation

@nn357

@nn357 nn357 commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

not even sure this is correct, probably needs more work too as i dont see where enemy damage is calculated

@blkerby

blkerby commented Aug 11, 2026

Copy link
Copy Markdown
Contributor
  • Add a requirement like {"enemyDamage": {"enemy": "Sciser", "type": "contact", "hits": 1}} to the exit strats.
  • The "canDoorTransitionXMode" tech should be implicit in comeInWithXMode.
  • The new entrance/exit conditions should be documented in strats.md.
  • "using X-Ray on the first frame after the transition": I don't think this is exactly accurate?
  • "Depending on QOL settings": We avoid referencing Map Rando-specific things in this repo. Better to describe it based on the vanilla game. In the rare case that a Map Rando-specific note is important to add, the right place is in the Map Rando fork.
  • "Stop arm-pumping when Samus is 1 tile away from the first ceiling grapple block and release dash to cancel X-Ray and land on the far right door platform.": Could it be worth mentioning the option to spin jump before exiting X-mode, if this makes it more lenient?
  • {"noFlashSuit": {}}": I think we also need {"noBlueSuit": {}}? Otherwise you would kill the Sciser instead of taking damage from it?
  • I'm guessing more setups would be possible (e.g. Main Street nodes 2 and 3?) but I haven't tested, and they can always be added later.

@nn357

nn357 commented Aug 11, 2026

Copy link
Copy Markdown
Contributor Author

Awesome thanks for the feedback! It's probably the second frame, i'll double check.. If you goto 1 tiles before the grapple block there's no need to spin jump apart from saving time.

Yeah I only added a couple of setups for now.

I noticed none of the gmode exit strats have enemy damage, how's that calculated, internally or is it the gmode just assumes a reserve trigger or something?

nn357 added 2 commits August 12, 2026 02:05
change some wording around a little.
@nn357 nn357 changed the title draft everest JW Add schema for Jesuswalk. Aug 15, 2026
@nn357
nn357 marked this pull request as ready for review August 15, 2026 17:49
Comment thread region/maridia/outer/Mt. Everest.json Outdated
Comment thread schema/m3-room.schema.json Outdated
Comment thread tech.json Outdated
nn357 and others added 3 commits August 17, 2026 13:02
Co-authored-by: Brent Kerby <blkerby@gmail.com>
Co-authored-by: Brent Kerby <blkerby@gmail.com>
@osse101

osse101 commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Reserves activating isn't mentioned anywhere... so does that mean it doesn't work without enough RegularEnergy and needs special damage handling, or is it fine?

@nn357

nn357 commented Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

Reserves activating isn't mentioned anywhere... so does that mean it doesn't work without enough RegularEnergy and needs special damage handling, or is it fine?

Oh will the sciser hit just assume it can trigger reserves if it needs to? Yeah you don't need a reserve at all for it to work but you can do with a reserve trigger i believe, i.e if you are suitless 0+1, but you need to set reserve energy to 1 (will test it).

@nn357

nn357 commented Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

Reserves activating isn't mentioned anywhere... so does that mean it doesn't work without enough RegularEnergy and needs special damage handling, or is it fine?

https://videos.maprando.com/video/10954

if you have to trigger reserves through the transition it only seems to work with 1 in reserve

@osse101

osse101 commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

if you have to trigger reserves through the transition it only seems to work with 1 in reserve

Then it's not so easy to handle damage inside of requirements. So I think you want to put the enemy damage event inside the LeaveWithXMode object so the randomizer can calculate your final energy following the rules you write to strats.md. And stopping the reserves on 1 would be canPreciseReserveRefill which should be fine to add.

@blkerby

blkerby commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

So I think you want to put the enemy damage event inside the LeaveWithXMode

Yeah, probably something like this then:

"leaveWithXModeSetup": {
    "enemy": "Sciser",
    "attack": "contact"
}

Comment thread region/maridia/outer/Mt. Everest.json Outdated
},
{
"link": [1, 4],
"name": "Miracle Walk",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has a standard name of Jesus Walk. I don't think it's offensive or needing to be renamed. Miracle Walk sounds like we are trying hard to avoid the word Jesus but still keep the reference. If we do care about avoiding the name, then I would rather some completely separate name like X-Mode Arm Pump Traversal

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"X-Mode Traversal" is what we have used in other places and is a bit more technically descriptive. "Jesus Walk" can also make sense because it is how this specific strat is known in the community; and the "X-Mode" aspect will be covered by the setup strat in the other room. I thought "Miracle Walk" also sounded fine but I can see how it can be read as going out of its away to avoid the word "Jesus". I don't think any of the options are offensive.

@nn357

nn357 commented Aug 22, 2026

Copy link
Copy Markdown
Contributor Author

So I think you want to put the enemy damage event inside the LeaveWithXMode

Yeah, probably something like this then:

"leaveWithXModeSetup": {
    "enemy": "Sciser",
    "attack": "contact"
}

I added to the schema but maybe i didnt do it right

@blkerby

blkerby commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

I added to the schema but maybe i didnt do it right

The schema looks ok (except it looks like the indentation is messed up). I think it's just the tests having trouble with how it processes the "attack" key. To avoid the error you could add "attack" to the "badKeys" list here; in theory then we should validate the "attack" value in a custom way to make sure it is contained in the list of attacks for that enemy. At some point I want to revisit the validation/testing to try to improve how it is structured

@osse101 osse101 added Area:Maridia Stuff in Maridia Model:Logic Element Involves adding a logical element. Can be a breaking change if modifying existing strats to use it. labels Aug 24, 2026
Comment thread strats.md
- The tech requirement `canDoorTransitionXMode`.
- The `XRayScope` item requirement.
- The requirements `{"and": [{"noFlashSuit": {}}, {"noBlueSuit": {}}]}`.
- A requirement `{"disableEquipment": "Gravity"}`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no mention of needing water physics anywhere. Which side even needs to be water?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

both

add note about requiring water->water
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area:Maridia Stuff in Maridia Model:Logic Element Involves adding a logical element. Can be a breaking change if modifying existing strats to use it.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants