summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Gay <eapoems@riseup.net>2023-10-06 01:34:08 -0400
committerDavid Gay <eapoems@riseup.net>2023-10-06 01:34:08 -0400
commitf5ff673c690b1015b8a3aa56393a13601bd55298 (patch)
treed40dc5c0f23424b67e794a2e65d0e5040c9ac456
parentdd4f6493b7961580a6056766db3d75da085638ea (diff)
Add class determination to henchman generation
-rw-r--r--src/data/random_tables/henchmen.yaml63
-rw-r--r--src/main.rs3
2 files changed, 65 insertions, 1 deletions
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");