Add wallet to mask logic, clean up mask logic#5567
Add wallet to mask logic, clean up mask logic#5567Malkierian merged 1 commit intoHarbourMasters:develop-blairfrom
Conversation
| EventAccess(&logic->MaskOfTruth, []{return logic->MaskOfTruth || (logic->SkullMask && (ctx->GetOption(RSK_COMPLETE_MASK_QUEST) || (ChildCanAccess(RR_THE_LOST_WOODS) && logic->CanUse(RG_SARIAS_SONG) && RegionTable(RR_THE_GRAVEYARD)->childDay && ChildCanAccess(RR_HYRULE_FIELD) && logic->StoneCount() == 3)));}), | ||
| //Currently, mask swap in menu doesn't need access to the mask shop | ||
| //If it is forced on/a setting, a copy of these events should be added to root | ||
| //it also doesn't need you to open kak gate, but that might be best treated as a bug |
There was a problem hiding this comment.
might be simpler to make this an enforced rando qol thing, especially since with Shuffle Climb it's possible to need Zelda's Letter to reach Great Fairy's Fountain at Hyrule Castle, which wouldn't be allowed logically if player lost Zelda's Letter
There was a problem hiding this comment.
Don't the changes Pablo made to the child trade select allow the letter to persist after being used at kak gate?
There was a problem hiding this comment.
Yes. Wasn't sure if that's sometimes disabled
| //Locations | ||
| LOCATION(RC_DEKU_THEATER_SKULL_MASK, logic->IsChild && logic->SkullMask), | ||
| LOCATION(RC_DEKU_THEATER_MASK_OF_TRUTH, logic->IsChild && logic->MaskOfTruth), | ||
| LOCATION(RC_DEKU_THEATER_SKULL_MASK, logic->IsChild && logic->BorrowSkullMask), |
There was a problem hiding this comment.
Right, this is a quick fix targetted at Blair. I'm not sure if we should be using events to represent masks with SCL but maybe @Malkierian has an opinion on that.
Regardless, not an issue for this PR
There was a problem hiding this comment.
I was recently running into an issue regarding the use of the weird chicken to wake up Talon as the way to gate Talon's Chickens and Song from Malon. I tried setting up an event access in Castle Grounds for it, but in live logic it would always return true once the area was accessible because it was based on inventory, and the event check inf lookup never mattered. I don't know, maybe I was doing it the wrong way. Ideally, we'd figure out a way of mapping a logic check to short circuit ones like that when logic is live, but I don't know that that applies in this instance.
If you do not have the money to pay for the Keaton mask when you return it, the happy mask salesman won't let you borrow the skull mask (instead kicking you out), meaning skull mask requires a wallet that was not accounted for. This PR fixes that.
I also changed it to be fully handled by events, removing a potential source of playthrough jank.
Build Artifacts