Skip to content

Shuffle silver rupees#5826

Closed
leggettc18 wants to merge 44 commits into
HarbourMasters:developfrom
leggettc18:shuffle-silver-rupees
Closed

Shuffle silver rupees#5826
leggettc18 wants to merge 44 commits into
HarbourMasters:developfrom
leggettc18:shuffle-silver-rupees

Conversation

@leggettc18
Copy link
Copy Markdown
Contributor

@leggettc18 leggettc18 commented Oct 2, 2025

This currently does not have any Logic, but it is coded so that you cannot enable the setting unless No Logic is on. With that in mind I would argue that it can be merged without logic (which to be honest I don't feel much like doing any time soon), playtesters can find any bugs with the implementation, and someone else (or me later on) can add logic down the line. I've done a few playtests and everything in terms of identification, item replacement, and setting flags appropriately, seems to be correct.

Some notes to get ahead of potential questions:

  • I investigated using the ActorListIndex for identifying the Silver Rupees, unfortunately there were duplicates that way because two Silver Rupees in different rooms of the same dungeon could have the same index, and there's nothing currently that identifies which room they are in. The tracker actor just scans the entire actor list for any Silver Rupee actors, which it can do because there is only ever one set loaded at a time. Thus the coordinates are still the only thing that's truly unique among every silver rupee in a given scene.
  • Names are long, which makes adding useful tracker information difficult. Making the names any shorter than I already have removes necessary information for differentiating Silver Rupees. If you have an idea to make it better feel free to tell me about it, but I thought long and hard before settling on what I have in the tracker.

Build Artifacts

Currently done unconditionally, will add the options later
New regions and more specific logic will be coming soon.
Currently done unconditionally, will add the options later
New regions and more specific logic will be coming soon.
Also updates most of the hook usage to new patterns
Before this commit it was always on if randomizer was on
Specifically, the options are now Start With, Vanilla, Own Dungeon, Any Dungeon, Overworld, and Anywhere.
I can't give people Dodongo's Cavern Silver Rupees without spoiling Dodongo's Cavern is MQ, but I can give Shadow Temple Outside Spike Rain Silver Rupees without spoiling Shadow is MQ, for example.
Shifts to truncating based on total width of the line rather than  the number of characters, since different characters are different widths.
This way the icons aren't grayscale for 99% of the seed when it's
something like triforce pieces or silver rupees.
For easier identification before actually collecting them. You'll only
be able to tell what dungeon they are for from the color, but I'm not sure
there's much else to be done.

Also added a Dark Purple particle to represent Ganon's castle
@serprex
Copy link
Copy Markdown
Member

serprex commented Oct 2, 2025

I was doing this in #5659

@leggettc18
Copy link
Copy Markdown
Contributor Author

Well I guess that's what I get for coming back from a break with a PR instead of checking on the status of things lol.

@leggettc18
Copy link
Copy Markdown
Contributor Author

I've had this in the works in some form or fashion for nearly two years (for context, my first attempt to shuffle silver rupees is one of the factors that pushed me to do the Rando refactor last year), so I can't lie and say it's a bit frustrating to have all that effort go to waste, but I suppose I snooze I lose. It is interesting to see how many similar these implementations are in many ways. If you see anything you like (for instance my save editor UI, which I don't think your implementation has) feel free to copy it.

@serprex
Copy link
Copy Markdown
Member

serprex commented Oct 3, 2025

Would definitely like to go through & compare implementations to improve things. I set this aside since I wanted to include logic, which I have a clear idea how to do once dungeon refactors are in for shadow, spirit, botw, ice, gtg, & ganon's castle. But I was only focused on mechanism, so didn't implement any good UI

Will try find time to go over differences & synthesize our PRs

@leggettc18
Copy link
Copy Markdown
Contributor Author

I'm closing this one in favor of Serprex's implementation since he's got a better head on for the Logic aspect of this than I do.

@leggettc18 leggettc18 closed this Dec 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants