Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 83 additions & 6 deletions region/maridia/inner-yellow/Butterfly Room.json
Original file line number Diff line number Diff line change
Expand Up @@ -163,10 +163,26 @@
{
"id": 3,
"link": [1, 1],
"name": "Zoa Farm",
"name": "Zoa Farm (From Ledge)",
"requires": [
{"refill": ["Energy", "Missile", "Super"]}
]
{"or": [
{"and": [
"Grapple",
{"cycleFrames": 180}
]},
{"and": [
{"cycleFrames": 300},
{"or": [
"Spazer",
"Wave",
"Plasma",
"canDodgeWhileShooting",
{"enemyDamage": {"enemy": "Zoa", "type": "contact", "hits": 1}}
]}
]}
]}
],
"farmCycleDrops": [{"enemy": "Zoa", "count": 3}]
},
{
"id": 36,
Expand Down Expand Up @@ -688,10 +704,71 @@
{
"id": 30,
"link": [2, 2],
"name": "Zoa Farm",
"name": "Zoa Farm (From Ledge)",
"requires": [
{"refill": ["Energy", "Missile", "Super"]}
]
{"or": [
{"and": [
"Grapple",
{"cycleFrames": 180}
]},
{"and": [
{"cycleFrames": 270},
{"or": [
"Spazer",
"Wave",
"Plasma",
"canDodgeWhileShooting",
{"enemyDamage": {"enemy": "Zoa", "type": "contact", "hits": 1}}
]}
]}
]}
],
"farmCycleDrops": [{"enemy": "Zoa", "count": 3}]
},
{
"link": [2, 2],
"name": "Zoa Farm (In Sand, Strong Weapon)",
"requires": [
{"or": [
"HiJump",
"Gravity",
"canEscapeSand"
]},
{"or": [
"Spazer",
"Wave",
"Plasma",
"Grapple",
{"and": [
"Gravity",
"ScrewAttack",
{"cycleFrames": 30}
]}
]},
{"or": [
"canDodgeWhileShooting",
{"enemyDamage": {"enemy": "Zoa", "type": "contact", "hits": 1}}
]},
{"cycleFrames": 130}
],
"farmCycleDrops": [{"enemy": "Zoa", "count": 3}]
},
{
"link": [2, 2],
"name": "Zoa Farm (In Sand, Power Beam)",
"requires": [
{"or": [
"HiJump",
"Gravity",
"canEscapeSand"
]},
{"or": [
"canTrickyDodgeEnemies",
{"enemyDamage": {"enemy": "Zoa", "type": "contact", "hits": 1}}
]},
{"cycleFrames": 165}
],
"farmCycleDrops": [{"enemy": "Zoa", "count": 3}]
},
{
"id": 31,
Expand Down
125 changes: 117 additions & 8 deletions region/maridia/inner-yellow/Kassiuz Room.json
Original file line number Diff line number Diff line change
Expand Up @@ -111,15 +111,85 @@
"requires": [
{"resetRoom": {"nodes": [1]}},
{"or": [
"Spazer",
"Wave",
"Plasma",
"canUseGrapple",
"ScrewAttack"
{"and": [
"Grapple",
{"cycleFrames": 180}
]},
{"and": [
{"or": [
"Plasma",
"Wave",
"Spazer",
"ScrewAttack"
]},
{"cycleFrames": 210}
]},
{"and": [
"canFarmWhileShooting",
{"cycleFrames": 330}
]},
{"cycleFrames": 400}
]}
],
"farmCycleDrops": [{"enemy": "Puyo", "count": 2}]
},
{
"link": [1, 1],
"name": "Puyo and Choot Farm",
"requires": [
{"or": [
{"resetRoom": {"nodes": [1]}},
{"and": [
{"resetRoom": {"nodes": [2]}},
{"cycleFrames": 120}
]}
]},
{"partialRefill": {"type": "Energy", "limit": 200}},
{"partialRefill": {"type": "Missile", "limit": 12}},
{"partialRefill": {"type": "PowerBomb", "limit": 6}}
{"or": [
"canWalljump",
{"and": [
"SpaceJump",
{"cycleFrames": 300}
]},
{"and": [
"canTrickySpringBallJump",
{"cycleFrames": 520},
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.

A little bit high

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.

Fair enough, this was the last case I checked and I was getting tired of the room, haha. Tightened it now.

"h_doubleEquipmentScreenCycleFrames",
"h_doubleEquipmentScreenCycleFrames",
"h_doubleEquipmentScreenCycleFrames"
]}
]},
"canDodgeWhileShooting",
{"or": [
{"and": [
"Plasma",
{"cycleFrames": 820}
]},
{"and": [
"Grapple",
{"cycleFrames": 900}
]},
{"and": [
"ScrewAttack",
{"cycleFrames": 1000}
]},
{"and": [
"Wave",
{"cycleFrames": 1080}
]},
{"and": [
"Spazer",
{"cycleFrames": 1140}
]},
{"cycleFrames": 2040}
]},
{"and": [
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.

I thought tests caught top-level and now

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.

Good catch. Looks like the tests checked and inside of and but not and at the top level. Added that now. There weren't too many violations so I went through and fixed them all.

"canFarmWhileShooting",
{"cycleFrames": 500}
]}
],
"farmCycleDrops": [
{"enemy": "Puyo", "count": 4},
{"enemy": "Choot", "count": 3}
]
},
{
Expand Down Expand Up @@ -558,6 +628,45 @@
},
"devNote": "Max extra run speed $0.8"
},
{
"link": [2, 2],
"name": "Choot Farm",
"requires": [
{"resetRoom": {"nodes": [2]}},
{"or": [
{"and": [
"Grapple",
{"cycleFrames": 100}
]},
{"and": [
"Plasma",
{"cycleFrames": 160}
]},
{"and": [
"Wave",
{"cycleFrames": 170}
]},
{"and": [
"Spazer",
{"cycleFrames": 200}
]},
{"and": [
"ScrewAttack",
{"cycleFrames": 200}
]},
{"and": [
"canPseudoScrew",
{"cycleFrames": 220}
]},
{"and": [
"canFarmWhileShooting",
{"cycleFrames": 250}
]},
{"cycleFrames": 300}
]}
],
"farmCycleDrops": [{"enemy": "Choot", "count": 1}]
},
{
"id": 15,
"link": [2, 2],
Expand Down
68 changes: 68 additions & 0 deletions region/maridia/inner-yellow/Maridia Elevator Room.json
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,43 @@
}
}
},
{
"link": [1, 1],
"name": "Owtch Farm",
"requires": [
{"or": [
{"and": [
{"resetRoom": {"nodes": [1]}},
{"cycleFrames": 320}
]},
{"and": [
{"resetRoom": {"nodes": [2]}},
{"cycleFrames": 470},
{"or": [
"canWalljump",
"SpaceJump"
]}
]},
{"and": [
{"resetRoom": {"nodes": [3]}},
{"cycleFrames": 1680},
"canTrickyWalljump",
"canTrickyJump"
]}
]},
{"or": [
"Plasma",
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 should have a knowledge tech. Otherwise it either looks unkillable, or dies randomly.
canDodgeWhileShooting maybe, but I don't think hard knows that it dies when moving left even.

Copy link
Copy Markdown
Contributor Author

@blkerby blkerby Aug 11, 2025

Choose a reason for hiding this comment

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

Added canDodgeWhileShooting and a FIXME.

Kyle and I were talking the other day and wondering if we should have more enemy-specific tech, like we have for Mellas, Metroids, Big Boy, and crabs. In the past I've thought it can make things a little cluttered to have too many tech for specific things. On the other hand, tech notes can be a good place to explain enemy-specific techniques/knowledge. And we may be able to organize the tech better in a hierarchical way which can reduce the clutter. Owtches of course are less important than those other enemies that have their own tech. Just some thoughts. With the G-mode tech lately we have been breaking things down into a lot smaller tech, which I think can be helpful in making them more digestible.

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.

Specific enemy tech could be hard to place in one difficulty level. Like bombing off metroids, bombing in air, jumping over, grouping, and grouping without getting grabbed. (Even though Metroids have canMetroidAvoid tech). Owtches have can kill moving left, and can jump over fast moving enemy in water with low ceiling. Skultera can talk about rubbing enemies while frozen and how they lose height over time if there is a slope. Pirates range from shooting at them for no damage to crouching to angle turn cancelling towards them, and include hitboxing, and their collision box.

Breaking it down into smaller actions would mean adding the ability to make tech more navigable.

My reaction is that you want a small wiki page talking about how to deal with each enemy in the context of this randomizer. Weapon vulnerabilities is another thing that takes looking up but wouldn't be expected, leaving the strange cases as being harder to know about.

"Charge"
]},
{"cycleFrames": 300}
],
"farmCycleDrops": [{"enemy": "Owtch", "count": 1}],
"devNote": [
"The extra 300 frames is for waiting a random amount of time for the Owtch to go left.",
"The Owtch can also be killed with Screw Attack,",
"but farming the Rippers would make more sense in that case."
]
},
{
"id": 6,
"link": [1, 1],
Expand Down Expand Up @@ -1301,6 +1338,37 @@
],
"flashSuitChecked": true
},
{
"link": [3, 3],
"name": "Ripper Farm",
"requires": [
"ScrewAttack",
{"or": [
{"and": [
{"resetRoom": {"nodes": [1]}},
{"cycleFrames": 780}
]},
{"and": [
{"resetRoom": {"nodes": [2]}},
{"cycleFrames": 710}
]},
{"and": [
{"resetRoom": {"nodes": [3]}},
{"cycleFrames": 1560}
]}
]},
{"or": [
"canConsecutiveWalljump",
{"and": [
"SpaceJump",
{"cycleFrames": 240}
]}
]}
],
"farmCycleDrops": [
{"enemy": "Ripper", "count": 6}
]
},
{
"id": 43,
"link": [3, 3],
Expand Down