summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/data/rules/classes.yaml42
-rw-r--r--src/rules/classes.rs8
2 files changed, 15 insertions, 35 deletions
diff --git a/src/data/rules/classes.yaml b/src/data/rules/classes.yaml
index 88bf6ef..58eb86c 100644
--- a/src/data/rules/classes.yaml
+++ b/src/data/rules/classes.yaml
@@ -3,8 +3,7 @@ cleric:
prime_requisites:
- Wisdom
npc_ability_score_modifiers:
- - ability_score: Wisdom
- modifier: +2
+ Wisdom: +2
druid:
name: "Druid"
@@ -17,10 +16,8 @@ fighter:
prime_requisites:
- Strength
npc_ability_score_modifiers:
- - ability_score: Strength
- modifier: +2
- - ability_score: Constitution
- modifier: +1
+ Strength: +2
+ Constitution: +1
paladin:
name: "Paladin"
@@ -28,10 +25,8 @@ paladin:
- Strength
- Wisdom
npc_ability_score_modifiers:
- - ability_score: Strength
- modifier: +2
- - ability_score: Constitution
- modifier: +1
+ Strength: +2
+ Constitution: +1
ranger:
name: "Ranger"
@@ -40,20 +35,16 @@ ranger:
- Intelligence
- Wisdom
npc_ability_score_modifiers:
- - ability_score: Strength
- modifier: +2
- - ability_score: Constitution
- modifier: +1
+ Strength: +2
+ Constitution: +1
magic_user:
name: "Magic-user"
prime_requisites:
- Intelligence
npc_ability_score_modifiers:
- - ability_score: Intelligence
- modifier: +2
- - ability_score: Dexterity
- modifier: +1
+ Intelligence: +2
+ Dexterity: +1
illusionist:
name: "Illusionist"
@@ -66,10 +57,8 @@ thief:
prime_requisites:
- Dexterity
npc_ability_score_modifiers:
- - ability_score: Dexterity
- modifier: +2
- - ability_score: Intelligence
- modifier: +1
+ Dexterity: +2
+ Intelligence: +1
assassin:
name: "Assassin"
@@ -77,12 +66,9 @@ assassin:
- Strength
- Dexterity
npc_ability_score_modifiers:
- - ability_score: Strength
- modifier: +1
- - ability_score: Dexterity
- modifier: +2
- - ability_score: Intelligence
- modifier: +1
+ Strength: +1
+ Dexterity: +2
+ Intelligence: +1
monk:
name: "Monk"
diff --git a/src/rules/classes.rs b/src/rules/classes.rs
index 9c3a8d1..a034922 100644
--- a/src/rules/classes.rs
+++ b/src/rules/classes.rs
@@ -11,13 +11,7 @@ pub struct Class {
pub name: String,
pub prime_requisites: Vec<AbilityScore>,
#[serde(default)]
- pub npc_ability_score_modifiers: Vec<NpcAbilityScoreModifier>,
-}
-
-#[derive(Deserialize)]
-pub struct NpcAbilityScoreModifier {
- pub ability_score: AbilityScore,
- pub modifier: i32,
+ pub npc_ability_score_modifiers: HashMap<AbilityScore, i32>,
}
lazy_static! {