33 lines
2.1 KiB
Markdown
33 lines
2.1 KiB
Markdown
---
|
|
type: User Story
|
|
title: "US-005: Deliver items and complete a quest"
|
|
description: Let a player deliver requested items at a quest board and receive the escrowed reward.
|
|
status: done
|
|
---
|
|
|
|
# US-005: Deliver items and complete a quest
|
|
|
|
As a **player**, I want to deliver requested items to a quest board so that I receive the promised reward and the issuer can claim my delivery.
|
|
|
|
## Acceptance criteria
|
|
|
|
- [x] Non-block requested items, including shulker shells, can be delivered and held for issuer claiming using existing escrow and rollback protections.
|
|
- [x] Delivery notifications and claim messages refer to items, and regression tests verify shell settlement and existing block deliveries.
|
|
|
|
- [x] An active quest offers a Complete Quest action through every registered board.
|
|
- [x] Completion requires the delivering player to possess the full requested quantity of the exact item material.
|
|
- [x] Successful completion removes the requested items from the delivering player's inventory and stores them as a claim for the issuer.
|
|
- [x] Successful completion gives the exact escrowed reward items to the delivering player.
|
|
- [x] Reward items that do not fit are dropped safely at the delivering player's feet with a clear message.
|
|
- [x] The issuer is notified immediately when online or on their next login when offline that delivered items can be claimed at a quest board.
|
|
- [x] When player commands are enabled, `/quests complete <quest>` provides equivalent behavior with contextual autocomplete.
|
|
- [x] Completion is atomic and exactly one player can complete a quest, including simultaneous attempts.
|
|
- [x] Validation or persistence failure does not consume delivered items, release rewards, or change quest state.
|
|
- [x] Completed quests are no longer shown as active or completable.
|
|
- [x] Automated tests verify inventory validation, settlement, overflow, notifications, rollback, and concurrent completion protection.
|
|
|
|
## Related
|
|
|
|
- [US-003: Create an item-delivery quest](us-003-create-a-block-delivery-quest.md)
|
|
- [US-007: Expire quests and claim held items](us-007-expire-quests-and-claim-held-items.md)
|