Replace tiers with achievements

This commit is contained in:
2026-05-21 19:17:58 +03:00
parent 4765917be4
commit a6741da14c
4 changed files with 139 additions and 192 deletions

View File

@@ -4,13 +4,16 @@ use anyhow::Result;
use serde::{Deserialize, Serialize};
use std::path::PathBuf;
use crate::levels::Difficulty;
use crate::levels::Nugget;
#[derive(Default, Serialize, Deserialize)]
#[serde(default)]
pub struct Progress {
pub tier: Option<Difficulty>,
pub completed: Vec<u8>,
pub current_level: u8,
/// Nuggets awarded per level: `(level_id, nugget)` in order of
/// completion. A level appears at most once (re-runs after reset
/// rebuild the list from scratch).
pub nuggets: Vec<(u8, Nugget)>,
pub current_level: u8, // 1-indexed; 0 means a new game
pub current_seed: u64,
pub attempts: u32,
}