diff options
Diffstat (limited to 'src/rules/npcs.rs')
-rw-r--r-- | src/rules/npcs.rs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/rules/npcs.rs b/src/rules/npcs.rs index 696ba0a..7c84d11 100644 --- a/src/rules/npcs.rs +++ b/src/rules/npcs.rs @@ -12,7 +12,7 @@ pub struct Npc { pub race: Option<&'static Race>, pub class: Option<&'static Class>, pub ability_scores: Option<AbilityScoreCollection>, - pub personality: Option<String>, + pub persona: Option<String>, } impl Npc { @@ -21,14 +21,14 @@ impl Npc { race: Option<&'static Race>, class: Option<&'static Class>, ability_scores: Option<AbilityScoreCollection>, - personality: Option<String>, + persona: Option<String>, ) -> Self { Npc { alignment, race, class, ability_scores, - personality, + persona, } } @@ -100,15 +100,17 @@ impl Npc { // TODO: Verify legality of class based on ability scores. } - pub fn randomize_personality(&mut self) { + pub fn randomize_persona(&mut self) { let appearance = RANDOM_TABLES .roll_table("npc_general_appearance") .to_string(); let tendencies = RANDOM_TABLES .roll_table("npc_general_tendencies") .to_string(); - let components = vec![appearance, tendencies]; - self.personality = Some(components.join(", ")); + let personality = RANDOM_TABLES.roll_table("npc_personality").to_string(); + let disposition = RANDOM_TABLES.roll_table("npc_disposition").to_string(); + let components = vec![appearance, tendencies, personality, disposition]; + self.persona = Some(components.join(", ")); } // TODO: Probably break this out later like this. |