Skip to content

Quest drops shared with the party: shown to and taken by whoever still needs them - #714

Merged
neeerp merged 5 commits into
masterfrom
v83/quest-drops-shared
Oct 22, 2026
Merged

neeerp merged 5 commits into
masterfrom
v83/quest-drops-shared

Conversation

@neeerp

@neeerp neeerp commented Oct 22, 2026

Copy link
Copy Markdown
Owner

LEDGER row 197 (quest-drop visibility for party), following Cosmic's MapleMap.spawnDrop/needQuestItem.

  • Rolls: a solo killer still rolls a quest drop only while they need it. In a party, quest items roll anyway, for the members who need them. Quest-tagged meso entries keep the solo gate.
  • Visibility: the field hands each occupant a quest drop's packet as ServerMessage::QuestDrop. The client actor shows it only if net::loot::wants holds: the quest is started and the player holds fewer than the completion check asks for. This applies on spawn, on entering the field, and to ReturnDrop. Removals go to everyone, and the client ignores oids it never saw.
  • Pickup (player and pet): the net handler snapshots QuestNeeds::of(player). DropSet::takeable_by refuses a quest drop to anyone who doesn't need it, the owner included, then applies the usual ownership rules.
  • Tests:
    • Unit tests in net::loot and runtime::field_drops.
    • A new harness test, a_party_members_quest_drop_shows_only_to_the_one_who_needs_it. The hunter without Todd's quest kills a sentinel; only the helper on the quest sees the shellpiece and can take it.
  • Harness runs, all green: drops_and_pickup, player_drops, party_hunting, quest_objectives, pet_loot, reactors, maple_island_route.
  • Review: one Sonnet review (a056) found no medium or high bugs. Its low findings are fixed: count-0 items, quest-tagged mesos, clippy allows, unit test, docs.

@neeerp
neeerp merged commit 66ef707 into master Oct 22, 2026
1 check passed
@neeerp
neeerp deleted the v83/quest-drops-shared branch October 22, 2026 07:05
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.

1 participant