Skip to content

feat(casino): add Celadon Casino with slot machine, exclusive Porygon, themes, and Star Prism - #319

Open
KillianHzr wants to merge 2 commits into
chattymin:mainfrom
KillianHzr:feat/celadon-casino
Open

KillianHzr wants to merge 2 commits into
chattymin:mainfrom
KillianHzr:feat/celadon-casino

Conversation

@KillianHzr

Copy link
Copy Markdown
Contributor

Summary

This PR adds the Celadon Casino (Game Corner) feature, complete with an industry-calibrated slot machine, exclusive Pokémon prizes, collectible app visual themes, and the ultra-rare Star Prism item:

  1. Casino & Mini-Games Integration:

    • Integrated inside the Shop view using a top segmented picker: [ Shop | Casino ], keeping the popover navigation bar clean and compact.
    • Dedicated coin economy: exchange spendable tokens for casino coins across 6 tiered packages (50, 100, 500, 1,000, 5,000, 10,000 coins).
  2. Calibrated Slot Machine:

    • 3-reel slot machine calibrated to real-world online casino math standards (95.8% RTP, 23.5% hit frequency):
      • Jackpot 777 (300x)
      • BAR (100x)
      • Jigglypuff (30x + Theme roll trigger)
      • Cherry (25x for 3, 7x for 2 on reels 1 & 2)
      • Pikachu (20x)
      • Poké Ball (10x)
      • Voltorb blanks (0x, authentic house edge)
    • Bet sizes: 1 coin (1 center line), 2 coins (3 horizontal lines), or 3 coins (3 horizontal + 2 diagonal lines). Multiplier selector (1x to 10x).
    • Lining up 3 Jigglypuffs triggers a weighted random lottery for unowned app themes based on rarity (Common, Uncommon, Rare, Epic, Legendary), or grants a 250-coin bonus when all themes are unlocked.
  3. Prize Corner:

  4. App Visual Themes & Settings:

    • 6 full app visual themes (Classic, Game Boy 1989, Celadon Neon, Team Rocket Dark, Indigo Plateau, Master Ball) tinting the popover window background and accent colors.
    • Theme switcher added under Settings with active preview and unlock counter.
  5. State Persistence & Save Transfer:

    • casinoCoins and unlockedThemes classified under progress (preserved across machines).
    • activeTheme classified under devicePreference (kept local to each device).
    • Fully sanitized in SaveTransfer.rebasedForThisDevice and verified in unit tests.

Type of change

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

UI changes

Before After
Shop View: Single vertical list of items and egg re-rolls with token balance header. Shop View: Top segmented picker switching between `[ Shop
Casino: Non-existent. Casino View: Integrated subview with coin balance, expandable coin exchange drawer, 3-reel slot machine with animated reels, payout table, and Prize Corner.
Settings View: General, Difficulty, Menu Bar, Floating Pet, Notifications, Updates, Transfer, Advanced sections. Settings View: New "App Themes" section with active theme picker, accent color indicator, and unlocked count.
Bag View: Rare Candy, Mint, and Shiny Charm cards. Bag View: Star Prism card with one-click transmutation action on active companion.
Popover View: System standard window background and accent tint. Popover View: Dynamically tinted by active app visual theme.

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/celadon-casino branch 2 times, most recently from 793aeb6 to 99b94d1 Compare September 16, 2026 13:22

This branch has not been deployed

No deployments
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