Skip to content

fix: Skip GetItem animation for externally received other-slot items#39

Open
keraion wants to merge 1 commit into
jeromkiller:Harkipellagofrom
keraion:archi/skip-external-item-gi-animation
Open

fix: Skip GetItem animation for externally received other-slot items#39
keraion wants to merge 1 commit into
jeromkiller:Harkipellagofrom
keraion:archi/skip-external-item-gi-animation

Conversation

@keraion

@keraion keraion commented Jun 20, 2026

Copy link
Copy Markdown

The idea is adding an isExternal state in the queue which flags when we get an item for another slot from an external source. This mostly worked except for items that would collect in that same scene. If the scene fired a Flags_Set* it would then see it as a "local" check, requeue it and it would play the GI animation. In those cases, we needed to add a guard while the RandomizerOnExternalCheckHandler was processing to keep those as external.

I tested this locally with a few players configured in the MW. Ran /collect Player2 and all the items were animation skipped. The usual progressive items picked up off the ground and in chests animated as normal. I also reloaded where progressive items were acquired, the reload skips the animation as expected.

One thing to note is this expects everything in RandomizerOnExternalCheckHandler to be run synchronously (it does today) for the RAII guard to work correctly. If anything gets deferred we run the risk of the animation not getting skipped.

@aMannus aMannus left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Funnily enough this wasn't actually what I had in mind when I made the issue. The idea was to completely skip any mention of receiving the externally received archipelago items as they're basically worthless to players. But I also don't know how difficult it would even be, as normally setting that flag is what makes it enter the randomizer queue to begin with, so this may be either impossible or more complex than I thought.

I like this solution before we delve into something like that though, and I could totally see adding a checkbox so people can skip GI's for all externally received items period as more of a "don't interupt my gameplay" kind of deal. But we can do that later.

Long story short, this is great, lgtm!

@keraion

keraion commented Jun 22, 2026

Copy link
Copy Markdown
Author

I'll take that suggestion as a follow up. I can look at the code to see how the queuing works to see if we can suppress it. I think that would be a nice QoL thing.

@aMannus

aMannus commented Jun 22, 2026

Copy link
Copy Markdown

I'll take that suggestion as a follow up. I can look at the code to see how the queuing works to see if we can suppress it. I think that would be a nice QoL thing.

Feel free, but yes let's do that in a follow up PR. We can land this before then.

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.

2 participants