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

Song of Time unobtainable in seed #2810

Closed
incutonez opened this issue May 1, 2023 · 8 comments · Fixed by #2830
Closed

Song of Time unobtainable in seed #2810

incutonez opened this issue May 1, 2023 · 8 comments · Fixed by #2830

Comments

@incutonez
Copy link

Issue

In my current random seed, I have ToT required to only work with the 3 stones, OOT, and Song of Time. Per the attached randomizer hint file, it says the Song of Time is Outside Ganon's Castle in the GS... but that's only available to adult. Is there some secret that I'm missing or did the rando just go wrong here? I'm using SoH Khan Charlie 6.1.2, the built-in randomizer, and combined MQ + vanilla castles.

15-17-76-20-97.zip

@leggettc18
Copy link
Contributor

I have a couple of hunches here, I think either like 715 of entrance.cpp needs to say CASTLE_GROUNDS is the connected region, or line 140 of locacc_castle-town.cpp needs to be changed so that it checks for IsAdult even if HasExplosives is true. I'm leaning towards the former as CASTLE_GROUNDS->GANONS_CASTLE_GROUNDS already requires IsAdult to be true but @Archez since you've done more with entrance rando than me what are your thoughts?

@Malkierian
Copy link
Contributor

Malkierian commented May 4, 2023

Edit: The logic for location access to behind DoT, at least, is sound, so it must be somewhere else.

@leggettc18
Copy link
Contributor

Right, I'm thinking that Entrance Rando might be causing logic to bypass the Beyond DoT requirements and the adult age requirement for entering Ganon's Castle Grounds. I called out Line 715 because any other time OGC or OHC are the connected region it just says "Castle Grounds" which seems to be there as an area specifically to act as an age gate to reach OGC as Adult and OHC as child. I'll do some experimenting today but I left this here as a reminder and a ping to Archez in case he had more knowledge on Entrance Rando than I.

@leggettc18
Copy link
Contributor

And if that is the issue it might be an issue upstream in 3drando as well. I'll check and see if they have something different than we do as well.

@Archez
Copy link
Contributor

Archez commented May 4, 2023

There's actually few suspect things going on here. Decoupled is turned off, but I see ganons castle entry listed twice on the right hand side. This isn't an issue by itself, but generally you'd expect the primary to be on the left, and secondary on the right. So this leads be to believe there is something else amiss.

The logic for the token itself probably should be updated as the level geometry in the 3ds is different than N64, so we can probably simplify it.

The CASTLE_GROUNDS vs GANONS_CASTLE_GROUNDS is also an issue when looking at the fairy fountain exits for child/adult.

I can do some digging in a bit and seed testing.

@leggettc18
Copy link
Contributor

Actually looking at locacc_castle_town.cpp on 3drando's side, they have removed the HasExplosives check that we had, and now just have this

LocationAccess(OGC_GS, { [] {
                               return CanUse(DINS_FIRE) || CanUseProjectile || (CanJumpslash && LogicOutsideGanonsGS);
                           } }),

I'm not sure if this would solve the issue by itself though.

@incutonez
Copy link
Author

Just wanted to say thank y'all for what you're doing here... I absolutely love SoH!

@Archez
Copy link
Contributor

Archez commented May 15, 2023

Fix is available as of Spock Bravo (7.0.1)

@Archez Archez closed this as completed May 15, 2023
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 a pull request may close this issue.

4 participants