Skip to content

feat(quests): add productivity quests, streaks, duplicate & group legendary achievements with passive items - #317

Open
KillianHzr wants to merge 15 commits into
chattymin:mainfrom
KillianHzr:feat/productivity-quests-and-streaks
Open

KillianHzr wants to merge 15 commits into
chattymin:mainfrom
KillianHzr:feat/productivity-quests-and-streaks

Conversation

@KillianHzr

@KillianHzr KillianHzr commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR introduces an engaging productivity quest and achievement system tailored for developers:

  1. Productivity Quests & Streaks:
    • Daily quests scaling from 10M up to 500M tokens (with guaranteed Rare Candy milestones starting at 150M tokens).
    • Weekly quests scaling up to 3.5B tokens.
    • Daily coding streak tracking with grace periods, symbolized by the Pokémon Red Chain icon (red-chain).
    • Clean separation of active quests vs claimed quests (completed quests waiting to be claimed remain highlighted at the top; only already-claimed quests move to the bottom list).
    • Dedicated "Claim All" batch action buttons for quests and achievements.
  2. Legendary Achievements & Artifacts:
    • Duplicate Legendary achievement ("Legendary Twin") unlocking the Azure Flute.
    • 12 canonical legendary group achievements (Birds, Kanto Duo, Beasts, Tower Duo, Titans, Eon Duo, Weather Trio, Lake Guardians, Creation Trio, Swords of Justice, Forces of Nature, Tao Duo).
    • 13 unique passive legendary items with specialized gameplay mechanics and evocative qualitative descriptions in-game.
    • Achievements awarding legendary items exclusively grant the artifact without candy/token dilutive rewards.
  3. Pokedex UI & Documentation:
    • Framed rarity borders matching Pokémon rarity tier in the Pokédex.
    • README table documenting all items and legendary artifacts with direct PokéAPI pixel sprites (<img ...>).

Type of change

  • Bug fix
  • New feature
  • Refactor / cleanup
  • Documentation
  • Other:

UI changes

Before After
Quests tab did not exist; only Token Shop and Bag were available. Pokédex cards used neutral gray borders. Added dedicated Quests tab featuring active daily/weekly quests, streak counter with Red Chain sprite, one-click "Claim All", separate lower section for claimed quests, and rarity-colored card borders in the Pokédex.

Checklist

  • swift build and swift test pass locally
  • PR title and description are written in English
  • UI changes are described above (before/after — images optional)
  • No copyrighted assets, secrets, or private tooling references are committed (see CONTRIBUTING)
  • Tests were added or updated for this change

@KillianHzr
KillianHzr force-pushed the feat/productivity-quests-and-streaks branch from 6970b78 to 9542983 Compare September 16, 2026 08:05
…endary achievements with passive items

- Add productivity streaks tracking daily coding activity with grace periods and Red Chain sprite
- Add 8 daily quests scaling up to 500M tokens and 7 weekly quests scaling up to 3.5B tokens with automatic resets
- Add 31 lifetime achievements including:
  - Duplicate Legendary achievement unlocking Azure Flute
  - Canonical legendary group achievements (Birds, Kanto Duo, Beasts, Tower Duo, Titans, Eon Duo, Weather Trio, Lake Guardians, Creation Trio, Swords of Justice, Forces of Nature, Tao Duo)
- Add 13 passive legendary items with unique mechanics, official PokéAPI sprites, and atmospheric in-game descriptions:
  - Azure Flute, Silver Wing, Old Sea Map, Clear Bell, Rainbow Wing, Magma Stone, Soul Dew, Jade Orb, Gracidea, Griseous Orb, Liberty Pass, Reveal Glass, DNA Splicers
- Document all shop items, consumable mechanics, and legendary artifacts in README
- Separate completed and validated quests and achievements into a dedicated lower list
- Add rarity-colored border frames to captured Pokémon rows and Pokédex grid cells
- Add batch claim buttons for quests and achievements tabs
- Support full localization across 7 languages
@KillianHzr
KillianHzr force-pushed the feat/productivity-quests-and-streaks branch from 9542983 to 5385440 Compare September 16, 2026 08:35
…s catch boosts

- Add type metadata and full species mapping for all 18 types across Gen 1-5 species (chattymin#1..649)
- Add 18 Type Gym Badge achievements rewarded upon catching all species of that type
- Add 18 Gym Badge passive items with official PokéAPI badge sprites (Kanto/Johto badges, Valerie's Fairy Badge, Piers' Dark Badge)
- Implement cumulative +20% speed bonus (appearance rate and growth threshold) for species weak to owned badges
- Support badge- prefix dynamic sprite downloading and caching in SpriteStore
- Add full localization across all 7 supported languages
- Add unit tests covering badge achievements, dual-type weakness calculations, and cumulative speed stacking
- Document Type Gym Badges in README
…ed eggs

- Add 10 canonical evolution stones to ItemKind with mapped PokemonType
- Award stones from starter trio achievements and milestone quests
- Allow active use from Bag to replace companion with a type-guaranteed egg
- Add multi-stage confirmation flow in BagView with shiny companion safeguard
- Display type-colored guarantee badge during egg incubation in CompanionView
- Support type-filtered egg rolling and hatching with strict verification
…tarter rewards

- Add Rarity.starter case and handle it across model, views, and localization
- Expose CompanionStore.eggHatchThreshold and add setEggUsageForTesting helper
- Update QuestsTests to use setEggUsageForTesting instead of private property mutations
- Set stone achievements to grant only the stone without tokens or candies
- Set Starter Master achievement to award 500M tokens and 5 Rare Candies
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