35 lines
2.1 KiB
Markdown
35 lines
2.1 KiB
Markdown
---
|
|
type: User Story
|
|
title: "US-007: Expire quests and claim held items"
|
|
description: Hold delivered blocks and returned rewards until their owner safely claims them.
|
|
status: done
|
|
---
|
|
|
|
# US-007: Expire quests and claim held items
|
|
|
|
As a **quest issuer**, I want delivered blocks and returned rewards held at the shared quest board so that I can retrieve them safely.
|
|
|
|
## Acceptance criteria
|
|
|
|
- [x] An uncompleted quest expires seven days after its creation time.
|
|
- [x] Expiration removes the quest from active listings and converts its exact escrowed reward into a claim for the issuer.
|
|
- [x] Completed-quest claims contain the exact block items delivered by the completing player.
|
|
- [x] Claims from completion, cancellation, and expiration can be collected through any registered board.
|
|
- [x] The board clearly distinguishes delivered blocks from returned rewards.
|
|
- [x] Online issuers receive a real-time message when items become claimable.
|
|
- [x] Offline issuers receive a message on their next login.
|
|
- [x] When player commands are enabled, `/quests claim` collects the same pending claims.
|
|
- [x] Items are inserted into the claimant's inventory where space permits; overflow is dropped safely at their feet with a clear message.
|
|
- [x] A claim is removed only after all of its items have been inserted or dropped successfully.
|
|
- [x] Pending claims and notification state survive logout and server restart without duplication or loss.
|
|
- [x] Automated tests verify expiry boundaries, each claim source, notifications, overflow, failure recovery, and persistence.
|
|
|
|
- [x] Every login with pending claims shows “You have items waiting to be claimed. Visit the quest board to collect them.” independently of previous notification delivery.
|
|
- [x] Reminders stop once all items are claimed, preserve real-time notifications, and do not change claims or item storage.
|
|
- [x] Automated tests verify recurring reminders across logins and reloads, isolation by player, and silence after collection.
|
|
|
|
## Related
|
|
|
|
- [US-005: Deliver blocks and complete a quest](us-005-deliver-blocks-and-complete-a-quest.md)
|
|
- [US-006: Cancel an owned quest](us-006-cancel-an-owned-quest.md)
|