summaryrefslogtreecommitdiff
path: root/src/rules/npcs.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/rules/npcs.rs')
-rw-r--r--src/rules/npcs.rs14
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.