You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
On a sharded Realm, an item every roller passed on stays locked #703
Expected (1.12.1). When every roller passes on a group-loot item, the item becomes free for anyone to loot. vmangos Group::CountTheRoll clears the roll and marks the item free when no one chose Need or Greed.
Actual (at 7f9ec8ab). On a sharded Realm, Realm-core resolves the roll. resolve_roll calls unlock_row_ffa on an all-pass (rolls.rs:568), and on a win with no eligible winner (rolls.rs:728). unlock_row_ffa (rolls.rs:623-633) updates game_corpse_loot, but Realm-core holds no corpse loot, so the call does nothing. The loot-roll Relay settles only ROLL_WON events on the World Shards (loot.rs:219-243, through settle_loot_roll at loot_roll.rs:113). No event clears withheld on the Shard that holds the corpse.
How it shows. A group passes on an item. The item stays locked in the corpse window, and no one can loot it. Once #701 merges, every roller also sees "Everyone passed" for that item.
Fix direction. Let the Relay unlock the Shard's row after an all-pass, as it settles a win now. One option: read ALL_PASSED events from Realm-core next to loot_won_since, and fan a gw_ or realm_ unlock call to each World Shard. A Shard that does not hold the corpse ignores the call, the same as with settle_loot_roll's withheld guard. Cover it in a cross-Shard durable test.
Activity