# Unstructured notes and ideas
All numbers are subject to tweaking and balancing

**Main currency:** notes 🎶 (soft)  
**Secondary currency:** gems 💎 (hard)  
**Tertiary currency:** _tbd_   (if $ value disassociation becomes relevant)

## Rating
character independant
card based quality
-> upgrade/improvement mechanics

Quality: 
- 1: bad
- 2: ok
- 3: good
- 4: great
- 5: epic
- 6: shiny

2 bad cards = 1 ok card
3 ok cards = 1 good card
4 good cards = 1 great card
5 great cards = 1 epic card

Shiny cards can only be dropped with 0.5% chance or upgraded using a store purchased item

## Entity relations and stuff
Single card of any character  
belongs to a band/group  
which could be part of their topmost genre (?)  

Completed bands reward cosmetics and XP (scaled to band size)

Band levels by collecting duplicates (?) as a long term hook

### Guild - Single guild the bot has joined
- int guildID 
- int active | 0 inactive, 1 active, 2 banned/blocked
- int adminRoleId | role can configure server specific bot options
- date created
- date updated

### Core - Global bot settings
- bool maintenance
- int[] adminIDs

### User
- int userID
- int active | 0 inactive, 1 active, 2 banned/blocked
- int privacy | 0 public, 1 private

## Profile
Steal profile layout from Amaan
with more customization

## Other
Bug bounty: offer rewards for reporting. Maybe % of a users wealth to 

Required
- detailed card history
- Drop simulator (mass simulate drops to evaluate rates)

Leaderboards
 - All time
 - Monthly (resets every 1st of the month to encourage conversion of non-whales)
Top positions get awarded additianal XP + Gems

Each collect += 10 XP (Shiny += 100)  
Each upgrade += 25 XP


Daily reward -> notes
Weekly reward -> gems  
Monthly reward -> Pack with 1 shiny card guaranteed (included)  
Each reward tier also grants XP

## Optional  
### Friends list  
could be used for a "social feed" outlining friends shiny drops and purchases (availability and social proof)

# Stage 2 features

## Marketplace
put up card/trade offers 
each offer has a 🎶 fee, setting the anchor for subsequent promotion fees (💎)
each offer should timeout, making the marketplace part of the habit loop

## Custom cards
Introduce custom cards as a high tier reward.  
Mark as custom, dont't allow trading. 
Don't allow replicating existing cards?   
How do we handle new packs colliding with existinc custom cards?
 - Convert custom card into official shiny card
 - Make custom cards very distinct

## archievements as profile badges  

- [50, 100, 500, 1000, 10k] Cards collected  
- [100k, 500k, 1m] Notes spent total  
   - do not encourage saving
   - players with low funds (notes) could be targeted by high item discounts for a higher chance of conversion   

- [100, 500, 1k] Private Trades completed (Limit trades per hour? Pay for trade limit reset, higher fees than Marketplace)
- [100, 500, 1k] Public Trades (Marketplace) completed

- [7d,1m,6m,1y] Daily streak
   - ties in to the social feed to apply pressure to keep up

- [10,50,100] Shinies present in collection
- [5k, 10k, 100k] Bad/ok/good cards in collection (each q level separately)
   - Discourage converting cards to currency, purchase instead

# Stage 3 features

## referral system 
after a referred friend collects 100 cards, both get gems  
this moved to stage 3 or later to counter stagnation of user aquisition

## Spotify and/or LastFM linking
Depending on the discord presence availability we could use presence updates  
or use the Spotify API directly.  
Considering the instability of both the Spotify and LastFM APIs, we might need an alternative  

### On rendering animation
short clips easily take up to 10 sec top render
webp not supported by discord, gif is huge af
To hide the rendering dely we could
- prerender fixed "claim animations"
- not reveal the claimed cards immediately 
- 