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

Update to RCObjects #3193

Merged

Conversation

Malkierian
Copy link
Contributor

@Malkierian Malkierian commented Sep 14, 2023

Adds vanillaHundoCheck to RandomizerCheckObjects to track whether the check location is expected in a 100% vanilla run (like gold skulltulas, heart piece locations, etc), and adds the boolean to every entry in the RCObjects table.

Also updates ogItemId for quite a few of those entries to what they actually are instead of GI_NONE.

Part of #2668

Build Artifacts

…cts` table and macro.

Update `ogItemId` for many checks.
Copy link
Contributor

@Pepe20129 Pepe20129 left a comment

Choose a reason for hiding this comment

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

I think it's weird that vanillaCheck is seemingly arbitrarily set to true or false as what a 100% vanilla run is depends on your definition (every check, speedrun definition, etc). I think it'd make more sense for vanillaCheck to be true for every check that can be gotten in vanilla and for it to be false in the future for checks such as the beehives, hyrule loach reward, silver rupees, pot, crates, etc.

@Malkierian
Copy link
Contributor Author

It's not arbitrary at all. The widely-agreed-upon understanding of 100% in OoT is every collectible. Heart Pieces, GS tokens, capacity upgrades, as well as the songs, equipment, medallions, etc. So that would exclude cows, chests with rupees or recovery hearts, etc. The entire point of vanillaCheck is facilitating tracking that in the check tracker for a vanilla playthrough.

@Pepe20129
Copy link
Contributor

It makes sense but I would imagine that there's some people that would want the check tracker to track even the useless checks.

@Malkierian
Copy link
Contributor Author

That desire is understandable, but is beyond the scope of this particular method and can instead be handled later with the optional includes I have planned (i.e. being able to make GS tokens visible even without tokensanity enabled).

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
Copy link
Contributor

@briaguya-ai briaguya-ai left a comment

Choose a reason for hiding this comment

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

overall this looks good, i say we :shipit:

i made a gist after parsing all the true/false stuff into a spreadsheet to more easily see the checks included in hundo or not

i assume the idea is a somewhat "source requirement" 100%, it doesn't fully match up to the oot 100% No SRM speedrun category, for example:

  • Buying or planting all Magic Beans is not required, only the Magic Bean item in the pause menu is required.
  • Only the highest upgrades are required for multi-tiered items

this kind of puts us in the business of deciding what 100% means for SoH, but that debate can happen after this is merged imo

@Malkierian
Copy link
Contributor Author

Just for clarity's sake, the tracking for Magic Beans should be triggering on the first purchase, so that should line up with 100%. I don't have it tracking all bean planting, all "bean patch" checks are skulltula token locations.
Also, are the highest-tier upgrades not progressive in vanilla?

@briaguya-ai
Copy link
Contributor

the tracking for Magic Beans should be triggering on the first purchase

bean salesman check has vanillaHundo marked as false

RC_OBJECT(RC_ZR_MAGIC_BEAN_SALESMAN, RCVORMQ_BOTH, RCTYPE_STANDARD, RCAREA_ZORAS_RIVER, ACTOR_ID_MAX, SCENE_ZORAS_RIVER, 0x00, GI_NONE, "Magic Bean Salesman", "ZR Magic Bean Salesman", false),

@Malkierian
Copy link
Contributor Author

Well, that should definitely be changed, then.

@briaguya-ai
Copy link
Contributor

i guess another example would be deku shield, it's possible to get to DC and buy a shield there instead of getting one from the KF shop, but kf shop item 1 is part of hundo here

@Malkierian
Copy link
Contributor Author

Mainly that's because 99% of people wanting the tracker when doing a vanilla 100% playthrough won't be speedrunning it, and thus that is the only place they'll be able to get the shield. It should be setup to do the KF shop item no matter where they actually acquire it. Not really sure how else it could be handled with how the tracker is actually setup.

@Archez
Copy link
Contributor

Archez commented Sep 14, 2023

I think we are confusing the check tracker which is meant to track/verify "checks", with an "item" tracker. I don't think the check tracker should be something used to validate a 100% save in the sense of "items" being in your inventory, but rather that you got the "check"

@Malkierian
Copy link
Contributor Author

Yeah, the vanilla check tracker isn't meant as a verification of 100%, it's an in-game list of things you need to check to get the 100% completion so you don't have to load anything external, and know what checks you haven't gotten yet instead of having to possibly go around to every location, like with GS tokens, to check if you got each specific skulltula.

@Malkierian
Copy link
Contributor Author

Or, at the very least, as an "Oh, I missed this check in this area, now I know what to search for online for how to find it" sort of thing.

@briaguya-ai
Copy link
Contributor

i think it's just the hundo naming that's throwing me off. If the idea is for new players who would otherwise use a guide to find all the stuff they missed to be able to open the check tracker instead, then maybe vanillaCompletionistGuide makes sense?

Copy link
Collaborator

@Kenix3 Kenix3 left a comment

Choose a reason for hiding this comment

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

Complete or some other synonym may be better than hundo, but I don't feel the need to nitpick.

@garrettjoecox
Copy link
Contributor

Bypassing required time frame because of the forecast

@garrettjoecox garrettjoecox merged commit 533f29b into HarbourMasters:develop Sep 16, 2023
8 checks passed
@Malkierian Malkierian deleted the rcobjects-vanilla-check branch September 18, 2023 22:34
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.

7 participants