2.0 KiB
2.0 KiB
type, title, description, status
| type | title | description | status |
|---|---|---|---|
| User Story | US-001: Accumulate invisibility time and unlock stealth | Reward sustained use of directly consumed invisibility potions with the stealth ability. | done |
US-001: Accumulate invisibility time and unlock stealth
As a player, I want my qualifying invisibility time to accumulate so that sustained potion use eventually unlocks stealth.
Acceptance criteria
- Only time spent online under an invisibility effect produced by a potion the player directly drank contributes to progression.
- Invisibility received from splash potions, lingering potions, tipped arrows, commands, plugins, or other sources does not contribute.
- Qualifying time stops when the effect ends, is removed, is replaced by a non-qualifying source, the player disconnects, or the plugin disables.
- Refreshed or overlapping qualifying effects never count elapsed time more than once.
- Qualifying time accumulates across effects, sessions, and server restarts.
- The ability unlocks when accumulated qualifying time reaches eight hours by default.
- Reaching the threshold grants the unlock exactly once without discarding excess elapsed time.
- When an online player unlocks stealth, they receive both a full-screen title and a chat message explaining the ability.
- Progress and unlock ownership are associated with the player's UUID rather than their current name.
Validation
Automated tests verify monotonic accumulation across intervals, refresh without duplicate time, exact-once threshold crossing with excess-time preservation, direct potion-drink cause filtering, non-qualifying replacement, UUID state, and online title and chat presentation. The complete ./gradlew clean check jar lifecycle passes.