feat: add daily login bonus system with streak tracking

Awards escalating gold rewards each consecutive day (Day 7 grants bonus
crystals). Streak resets on missed days; a week multiplier boosts all
rewards for longer streaks. Shows a modal on first daily load and
displays the current streak on the character sheet.
This commit is contained in:
2026-03-07 15:18:59 -08:00
committed by Naomi Carrigan
parent 3515de62ee
commit bec972aed1
11 changed files with 367 additions and 6 deletions
+19
View File
@@ -0,0 +1,19 @@
export interface DayReward {
day: number;
goldBase: number;
crystals?: number;
}
/**
* Rewards for days 17 of a login streak. The cycle repeats every 7 days
* with a multiplier equal to the week number (week 1 = ×1, week 2 = ×2, etc.).
*/
export const DAILY_REWARDS: DayReward[] = [
{ day: 1, goldBase: 500 },
{ day: 2, goldBase: 1_000 },
{ day: 3, goldBase: 2_500 },
{ day: 4, goldBase: 5_000 },
{ day: 5, goldBase: 10_000 },
{ day: 6, goldBase: 25_000 },
{ day: 7, goldBase: 50_000, crystals: 5 },
];