ArchipelagoMW-HollowKnight / Archipelago.HollowKnight

Hollow Knight mod enabling Archipelago multiworld interoperability.
MIT License
5 stars 10 forks source link

Void Heart not received correctly when holding half of Kingsoul #201

Closed Earth-Turtle closed 9 months ago

Earth-Turtle commented 9 months ago

Describe the bug

While playing Hollow Knight as a part of a 6-player randomizer, I received the right half (I think the king's half) of the Kingsoul charm, then later received the Void Heart charm, then finally received the queen's half of the Kingsoul. This fused the two halves into the Kingsoul, but I did not have access to the Void Heart

To Reproduce

Steps to reproduce the behavior:

  1. Start a randomizer run in HK
  2. Receive the king's shard of Kingsoul
  3. Receive the Void Heart
  4. Receive the queen's half of Kingsoul

The completed Kingsoul will now be in the charm inventory, with no visible Void Heart. This locked me out of completing the true ending.

Note: On noticing this bug, I completed the sequence that gives the Void Heart in vanilla just in case it would fix something, but nothing changed. Restarting HK and reconnecting Archipelago didn't change anything.

Expected behavior The Void Heart should be permanently equipped on being received, and remove access to the Kingsoul, regardless of when the halves of the Kingsoul were received. In this case, once the Void Heart was received, it should have been immediately equipped. There might not have been a need to hide the half-Kingsoul since it couldn't be equipped anyway, but once the full Kingsoul was made it should have been hidden.

Screenshots

Additional context Seed: ceOBc3OaRXmj6Q67jaGupA

BadMagic100 commented 9 months ago

I'm disinclined to believe that your description of what happened is entirely accurate because your described expected behavior is not the actual expected behavior of these items. The white fragments and void heart act progressively so the expected behavior in game is:

  1. Receive King_Fragment (half of Kingsoul in game)
  2. Receive Void_Heart (Kingsoul in game)
  3. Receive Queen_Fragment (Void Heart in game)

Considering this behavior has been functioning correctly in ItemChanger with no bug reports since early 2022 and the behavior is commonly misunderstood by Archipelago players, I think it is more likely that you didn't actually receive the 3rd charm, and assumed that you did knowing that you received Void_Heart and only seeing Kingsoul in your inventory.

Can you validate in the tracker that you actually received all 3 charms?

Earth-Turtle commented 9 months ago

I confirmed I did receive all 3 charms. This was noted as when I scrolled back in the history immediately after receiving the Void Heart in-game (as an item pop-up), I spotted Void_Heart a while back in the history. Additionally, using /received showed that I had all three pieces

BadMagic100 commented 9 months ago

Did you try creating a new save file? Do you happen to have a modlog from the session in which you should have received the 3rd charm?

BadMagic100 commented 9 months ago

Going to close this out as part of a larger investigation in #205 as there is not enough information available to reproduce right now. I suspect the issue to be widespread to some extent but most noticeable for progression items (seen a couple reports related to shade cloak as well, for instance)