-
Notifications
You must be signed in to change notification settings - Fork 520
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
Rando Enhancement: Mysterious Shuffled Items #3227
Rando Enhancement: Mysterious Shuffled Items #3227
Conversation
f0078e4
to
82d40bd
Compare
soh_6a8a5Xhn1y.mp4 |
85e98a1
to
25dfcf2
Compare
25dfcf2
to
42312e3
Compare
42312e3
to
42b7012
Compare
This is now ready for merge scrutiny. I will mention, currently there's a bug in rando loading that holds onto |
OK, this is broken now because of the changes to OTRExporter and the model stuff I had going away. I don't think I can fix that until the SoH asset location PRs get merged, so in the meantime, if you want to test it, use the attached soh.otr to avoid crashes. |
42b7012
to
9fd8bbf
Compare
OK, this should be back to normal now. 🤞 |
…huffled freestanding/drawn-in-world items (PoH, tokens, shop items) with a custom question mark model (thanks Hato), and uses the "mysterious item" functionality of `GetMerchantMessage` for everything that supports it, regardless of hint status on generation.
8b53490
to
98ed30b
Compare
OK, now that I know the slowdown in main file select isn't my fault, this is fully ready to go. |
…s Shuffle not being on for the gem rotation fix to apply.
Guess I'm going to have to remake this for rando v3. |
…lling the mystery draw function. Needs more work.
…ht into freestanding-mystery
Added `IsCheckShuffled` as preliminary function for checking *only* if a check is shuffled, not necessarily if it is just visible on the tracker. This accounts for the difference between tokensanity and "Always Show GS On Tracker", where you don't want to obfuscate the latter.
Hopefully ready to go for the last time XD. |
…handle this fake GIE, I'm all ears.
Does this apply to only shops or to Scrubs and Solo merchants too? |
I believe I made it apply to scrubs and merchants as well. And even the bean salesman, I think. |
I don't like the idea of having merchant and scrub "mysterious item" settings being both in seed generation and in an enhancement. It's redundant and will end in confusion when people set their seed to do 1 thing and the game does another because of an enhancement. Shops Make sense to be tied to the visual so I don't especially mind those, but it does beg the question as to why 1 set of mysteriousness is in enhancements and 1 is in seed generation. I don't consider this blocking as it's pointed at develop, but for v3 I would want something consistent, especially as scrub item names pose me problems I don't know how to properly deal with just yet. |
The only counter I could give to that is spoiler sharing, where a person might get a spoiler with merchant and scrub hints there, but still want to obfuscate them for their own run, but I don't know how often that would happen. |
If that is desirable, then all the mysterious settings should be in enhancements, which is reasonable as they don't affect seed generation in any way. |
Also, whenever I pick up a mysterious item, it's a heart piece, regardless of what the actual item is, unless it's from a shop |
Sigh How many times am I going to have to actually fix this before it finally gets merged... |
Fix mysterious item model colors.
Alright, I fixed the colors and the heart piece freestanding item gives. From what I could tell, gold skulltulas, small keys, heart containers, and the OoT were still working. If you come across any specific source that isn't working, let me know. |
Is it intended for bombchu bowling to be unaffected? |
No, that is not intended. I'll look into it. |
Fixed. |
game crashes when loading 3rd round of bombchu bowling (first non-check round), going to set up a build now to get a call stack |
Couldn't replicate in debug mode. Might need more specific steps. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The other small issue I noticed is that having mysterious items on causes the check tracker to hide the prices of things in shops as well as the item identity, which is inconvenient, but that's a small thing I'm willing to kick to the v3 implementation given that large chunks of related code is being redone there anyway.
otherwise, LGTM.
@@ -322,6 +322,7 @@ static std::map<std::string, CosmeticOption> cosmeticOptions = { | |||
COSMETIC_OPTION("World.Moon", "Moon", COSMETICS_GROUP_WORLD, ImVec4(240, 255, 180, 255), false, true, true), | |||
COSMETIC_OPTION("World.GossipStone", "Gossip Stone", COSMETICS_GROUP_WORLD, ImVec4(200, 200, 200, 255), false, true, true), | |||
COSMETIC_OPTION("World.RedIce", "Red Ice", COSMETICS_GROUP_WORLD, ImVec4(255, 0, 0, 255), false, true, false), | |||
COSMETIC_OPTION("World.MysteryItem", "Mystery Item", COSMETICS_GROUP_WORLD, ImVec4(0, 60, 100, 255), false, true, false), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure if world is the best category for this, as I looked all the way through items looking for this first, but there's no good section in items for it either and this is subjective so should get more feedback, so I will not consider this blocking.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! just a couple unimportant things in the draw section
Adds a rando enhancement toggle which obfuscates shuffled freestanding/drawn-in-world items (PoH, tokens, shop items, keys, etc) with a custom question mark model so you never know what you're getting until you get it. Also utilizes
GetMerchantMessage
's mysterious option directly based on the setting, so is applied to all item names in purchasable situations.Color is editable with cosmetics editor under the World & NPCs tab, and can be rainbow.
Also hides item names in shops for items with the Seen/Identified status when the enhancement is on.
Adds
IsCheckShuffled
to allow for the distinction between seed settings and visibility options, which is used to determine whether to feed the fakeGetItemEntry
for the mystery model toGetItemEntry_Draw
, which then calls the custom draw function associated with it.Credit to @PurpleHato for the model.
Build Artifacts