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

Fix: Prevent certain items from being marked as "major" #2496

Merged

Conversation

Archez
Copy link
Contributor

@Archez Archez commented Feb 17, 2023

This addresses an issue where certain items were being considered as "major items", which reduced the likely hood that a foolish/barren hint would ever be displayed.

Heart containers and Piece of Hearts are marked as "advancement" items since they are important for logic regarding health timers. But we don't have heart container requirements for Rainbow bridge/Ganon's boss key, so these items should not prevent foolish hints.

Similaraly there is a check to prevent bombchus from being marked as major items, but the check wasn't implemented properly. The check was looking for items that contained "Bombchus" in the English, but none of the items had this, instead they had "Bombchu" (singular). Comparing against N64 rando, these items should have been plural (which is what 3ds rando based their code off of). Here I have adjusted the 3 bombchu items to be "Bombchus", which should address this.

This should increase the rate in which foolish hints show up.

Stats relating to before and after this change (from generating 500 seeds each)

image

Build Artifacts

@briaguya-ai
Copy link
Contributor

briaguya-ai commented Feb 17, 2023

could we update IsMajorItem to check the RG instead of doing a string compare? the string compare isn't a problem now, but explicitly calling out the items we care about by RG feels like a more future proof solution.

edit: hintkey would work too

@Archez
Copy link
Contributor Author

Archez commented Feb 17, 2023

could we update IsMajorItem to check the RG instead of doing a string compare? the string compare isn't a problem now, but explicitly calling out the items we care about by RG feels like a more future proof solution.

edit: hintkey would work too

I did the 3dsrando fix first and ported it over. I forget we have extra things in our repo. hintKey wont work since it's shared with the shop items (it seems n64 doesn't include them, so I'd like to preserve that). RG_ compare works though and it's only 3 compares so thats fine.

@briaguya-ai briaguya-ai merged commit 3f3f4ff into HarbourMasters:develop-gibbs Feb 17, 2023
@Archez Archez deleted the fix-major-items-hints branch February 17, 2023 13:45
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.

None yet

2 participants