rust-rl/src/raws/item_structs.rs
Llywelwyn c5106a63b5 static inventory keys - items remember their slots
this is the biggest refactor of my entire life
2024-06-15 20:14:38 +01:00

43 lines
893 B
Rust

use serde::Deserialize;
use std::collections::HashMap;
#[derive(Deserialize, Debug)]
pub struct Item {
pub id: String,
pub name: Name,
pub renderable: Option<Renderable>,
pub class: String,
pub weight: Option<f32>,
pub value: Option<f32>,
pub equip: Option<Equippable>,
pub flags: Option<Vec<String>>,
pub effects: Option<HashMap<String, String>>,
pub magic: Option<MagicItem>,
}
#[derive(Deserialize, Debug)]
pub struct Name {
pub name: String,
pub plural: String,
}
#[derive(Deserialize, Debug)]
pub struct Equippable {
pub flag: String,
pub damage: String,
pub to_hit: Option<i32>,
}
#[derive(Deserialize, Debug)]
pub struct Renderable {
pub glyph: String,
pub fg: String,
pub bg: String,
pub order: i32,
}
#[derive(Deserialize, Debug)]
pub struct MagicItem {
pub class: String,
pub naming: String,
}