libsts 0.3.1

A library for working with Slay the Spire save and run files
Documentation
use serde::{Deserialize, Serialize};

#[derive(Clone, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Card {
    pub id: String,
    pub misc: u32,
    pub upgrades: u32,
}

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DamageTaken {
    pub damage: f64,
    pub enemies: String,
    pub floor: f64,
    pub turns: f64,
}

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct CardChoice {
    pub floor: f64,
    pub not_picked: Vec<String>,
    pub picked: String,
}

#[derive(Clone, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct BossRelicChoice {
    pub picked: Option<String>,
    pub not_picked: Vec<String>,
}

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct EventChoice {
    pub cards_upgraded: Option<Vec<String>>,
    pub cards_obtained: Option<Vec<String>>,
    pub relics_obtained: Option<Vec<String>>,
    pub damage_healed: f64,
    pub damage_taken: f64,
    pub event_name: String,
    pub floor: f64,
    pub gold_gain: f64,
    pub gold_loss: f64,
    pub max_hp_gain: f64,
    pub max_hp_loss: f64,
    pub player_choice: String,
}

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct FloorKey {
    pub floor: f64,
    pub key: String,
    pub data: Option<String>,
}