Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make pickup patches optional #374

Open
MayberryZoom opened this issue Oct 23, 2024 · 4 comments
Open

Make pickup patches optional #374

MayberryZoom opened this issue Oct 23, 2024 · 4 comments
Labels
enhancement New feature or request

Comments

@MayberryZoom
Copy link
Contributor

pickups should be optional in the JSON, so ODR can easily be used to make ROM hacks that leave items in their vanilla locations. I'm making this issue to discuss the viability of such a change and how much work it would take if pursued.

My assumption is that the main concern is the new pickups? Maybe it should only add pickups to bosses if they're included in the pickups field?

I'm also not sure if this would cause issues with split pickups. In theory things like Plasma Beam could be left unmodified on the statue, but I'm not sure if that would play nice with the rest of the code or work well in-game.

A related note: currently, pickups is required to modify every pickup location. If we can get the code to play nice with optional pickups, then we can also allow JSONs that only modify a small handful of pickups. This would be in line with how every other field works in the JSON.

@MayberryZoom MayberryZoom added the enhancement New feature or request label Oct 23, 2024
@duncathan
Copy link
Contributor

our pickups have significant enough differences from vanilla pickups that this would be pretty hard to accomplish. you've identified a couple of the issues

  • custom pickups (e.g. bosses) would at least need a close looking at
  • split pickups absolutely will break
  • even worse, allowing e.g. vanilla plasma AND an ODR wide or wave would break catastrophically. this makes editing only some pickups even less viable than editing none at all
  • you'd need to double check that vanilla post-pickup stuff hasn't been broken by other changes we make

@MayberryZoom
Copy link
Contributor Author

Yeah I figured this would be difficult to accomplish. I think this is definitely a long term goal and something we should try to fit into an eventual refactor of the pickups system. It seems infeasible with the current state of things, but I think there's other desired features/changes that would need a refactor or partial refactor anyways.

@duncathan
Copy link
Contributor

to be clear: making the pickups field optional is viable but will require a lot of work. allowing a pickups field with only a small handful of pickups will never be viable. it's all or nothing

@MayberryZoom
Copy link
Contributor Author

Could we just replace the vanilla beam locations with ODR beams if they're not provided? That seems like a better solution to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants