Skip to content

Synchronize dungeon map/compass rewards atomically and repair HUD state #2

Description

@herringms

Live reproduction

In Jabu-Jabu:

  • Host killed the map appendage and opened the map chest.
  • Guest saw the chest already open but did not receive the map.
  • Guest later opened the compass chest and received both map and compass.
  • Host did not receive the compass.
  • Guest inventory showed the compass but no minimap icons.

This is a progression blocker because the synchronized open-chest flag can make a missed reward permanently inaccessible.

Required contract

  • A durable dungeon-item acquisition is a host-committed event, separate from local chest animation.
  • First valid opener grants the canonical map/compass bit to every participant.
  • Join/reconnect/full snapshot repairs missing dungeon-item bits when the chest/collectible is already completed.
  • Map and compass remain distinct; opening one chest cannot accidentally award the other.
  • HUD/minimap visibility derives from the repaired canonical dungeon-item state.

Acceptance

Two real localhost instances alternate opening map and compass chests. Both receive exactly the matching item, both HUDs update, already-open chests heal a deliberately missing reward after snapshot/reconnect, and no duplicate item presentation corrupts gameplay state.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions