2022-01-05 11:05:15 -05:00
|
|
|
use ::serde::{Deserialize, Serialize};
|
|
|
|
|
|
|
|
// -----------------------------------------------------------------------
|
|
|
|
// Enums for Components
|
|
|
|
// -----------------------------------------------------------------------
|
|
|
|
#[derive(PartialEq, Copy, Clone, Serialize, Deserialize)]
|
|
|
|
pub enum EquipmentSlot {
|
|
|
|
Melee,
|
|
|
|
Shield,
|
|
|
|
Head,
|
|
|
|
Torso,
|
|
|
|
Legs,
|
|
|
|
Feet,
|
|
|
|
Hands,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize, Copy, Clone, PartialEq)]
|
|
|
|
pub enum HungerState {
|
|
|
|
WellFed,
|
|
|
|
Normal,
|
|
|
|
Hungry,
|
|
|
|
Starving,
|
|
|
|
}
|
|
|
|
|
2022-01-11 14:16:23 -05:00
|
|
|
#[derive(Debug, Serialize, Deserialize, Clone, Eq, PartialEq, Hash)]
|
|
|
|
pub enum Movement {
|
|
|
|
Static,
|
|
|
|
Random,
|
2022-01-11 15:35:59 -05:00
|
|
|
RandomWaypoint { path: Option<Vec<usize>> },
|
2022-01-11 14:16:23 -05:00
|
|
|
}
|
|
|
|
|
2022-01-05 11:05:15 -05:00
|
|
|
#[derive(Debug, Serialize, Deserialize, Clone, Eq, PartialEq, Hash)]
|
|
|
|
pub enum Skill {
|
|
|
|
Melee,
|
|
|
|
Defense,
|
|
|
|
Magic,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(PartialEq, Copy, Clone, Serialize, Deserialize)]
|
|
|
|
pub enum WeaponAttribute {
|
|
|
|
Might,
|
|
|
|
Quickness,
|
|
|
|
}
|
2022-01-19 09:38:41 -05:00
|
|
|
|
|
|
|
#[derive(Debug, Serialize, Deserialize, Clone, Eq, PartialEq, Hash)]
|
|
|
|
pub enum MagicItemClass {
|
|
|
|
Common,
|
|
|
|
Rare,
|
|
|
|
Legendary,
|
|
|
|
}
|