From f5ff673c690b1015b8a3aa56393a13601bd55298 Mon Sep 17 00:00:00 2001 From: David Gay Date: Fri, 6 Oct 2023 01:34:08 -0400 Subject: Add class determination to henchman generation --- src/data/random_tables/henchmen.yaml | 63 ++++++++++++++++++++++++++++++++++++ src/main.rs | 3 +- 2 files changed, 65 insertions(+), 1 deletion(-) diff --git a/src/data/random_tables/henchmen.yaml b/src/data/random_tables/henchmen.yaml index fee5931..fd6c37f 100644 --- a/src/data/random_tables/henchmen.yaml +++ b/src/data/random_tables/henchmen.yaml @@ -29,3 +29,66 @@ henchman_nonhuman_race: - roll: 96-100 steps: - text: "Half-orc" + +henchman_class: + formula: d100 + rows: + - roll: 1-20 + steps: + - table: henchman_cleric_class + - roll: 21-64 + steps: + - table: henchman_fighter_class + - roll: 65-84 + steps: + - table: henchman_magic_user_class + - roll: 85-99 + steps: + - table: henchman_thief_class + - roll: 100 + steps: + - text: "Monk" + + +henchman_cleric_class: + formula: d6 + rows: + - roll: 1 + steps: + - text: "Druid" + - roll: 2-6 + steps: + - text: "Cleric" + +henchman_fighter_class: + formula: d10 + rows: + - roll: 1 + steps: + - text: "Ranger" + - roll: 2 + steps: + - text: "Paladin" + - roll: 3-10 + steps: + - text: "Fighter" + +henchman_magic_user_class: + formula: d6 + rows: + - roll: 1 + steps: + - text: "Illusionist" + - roll: 2-6 + steps: + - text: "Magic-user" + +henchman_thief_class: + formula: d6 + rows: + - roll: 1 + steps: + - text: "Assassin" + - roll: 2-6 + steps: + - text: "Thief" diff --git a/src/main.rs b/src/main.rs index f9fb6bd..cd17803 100644 --- a/src/main.rs +++ b/src/main.rs @@ -16,7 +16,8 @@ fn main() { ("henchman", _) => { let race = random_tables.roll_table("henchman_race"); let alignment = random_tables.roll_table("npc_alignment"); - println!("{} {}", alignment, race); + let class = random_tables.roll_table("henchman_class"); + println!("{} {} {}", alignment, race, class); } ("magic", _) => { let magic = random_tables.roll_table("ua_magic"); -- cgit v1.2.3