summaryrefslogtreecommitdiff
path: root/src/rules/ability_scores.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/rules/ability_scores.rs')
-rw-r--r--src/rules/ability_scores.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/rules/ability_scores.rs b/src/rules/ability_scores.rs
new file mode 100644
index 0000000..a0da9d9
--- /dev/null
+++ b/src/rules/ability_scores.rs
@@ -0,0 +1,24 @@
+use serde::Deserialize;
+
+#[derive(Debug, Deserialize, PartialEq, Clone, Copy)]
+pub enum AbilityScore {
+ Strength,
+ Intelligence,
+ Wisdom,
+ Dexterity,
+ Constitution,
+ Charisma,
+}
+
+impl AbilityScore {
+ pub fn abbr(&self) -> &'static str {
+ match *self {
+ AbilityScore::Strength => "STR",
+ AbilityScore::Intelligence => "INT",
+ AbilityScore::Wisdom => "WIS",
+ AbilityScore::Dexterity => "DEX",
+ AbilityScore::Constitution => "CON",
+ AbilityScore::Charisma => "CHA",
+ }
+ }
+}