ancestries

This commit is contained in:
Llywelwyn 2023-08-21 09:57:47 +01:00
parent c8b28a9abd
commit 3050219494
11 changed files with 274 additions and 110 deletions

View file

@ -1,5 +1,5 @@
use super::{Skill, Skills};
use crate::gui::Classes;
use crate::gui::Class;
use rltk::prelude::*;
use std::cmp::max;
@ -77,19 +77,19 @@ pub fn roll_4d6(rng: &mut rltk::RandomNumberGenerator) -> i32 {
}
/// Handles stat distribution for a player character.
pub fn get_attribute_rolls(rng: &mut RandomNumberGenerator, class: Classes) -> (i32, i32, i32, i32, i32, i32) {
pub fn get_attribute_rolls(rng: &mut RandomNumberGenerator, class: Class) -> (i32, i32, i32, i32, i32, i32) {
let (mut str, mut dex, mut con, mut int, mut wis, mut cha) = match class {
Classes::Fighter => (10, 8, 10, 6, 6, 8),
Classes::Rogue => (8, 10, 8, 6, 8, 10),
Classes::Wizard => (6, 8, 6, 10, 10, 8),
Classes::Villager => (6, 6, 6, 6, 6, 6),
Class::Fighter => (10, 8, 10, 6, 6, 8),
Class::Rogue => (8, 10, 8, 6, 8, 10),
Class::Wizard => (6, 8, 6, 10, 10, 8),
Class::Villager => (6, 6, 6, 6, 6, 6),
};
let remaining_points = 75 - (str + dex + con + int + wis + cha);
let improve_chance: [i32; 6] = match class {
Classes::Fighter => [30, 20, 30, 6, 7, 7],
Classes::Rogue => [18, 30, 20, 9, 8, 15],
Classes::Wizard => [10, 15, 20, 30, 15, 10],
Classes::Villager => [15, 15, 25, 15, 15, 15],
Class::Fighter => [30, 20, 30, 6, 7, 7],
Class::Rogue => [18, 30, 20, 9, 8, 15],
Class::Wizard => [10, 15, 20, 30, 15, 10],
Class::Villager => [15, 15, 25, 15, 15, 15],
};
let improve_table = crate::random_table::RandomTable::new()
.add("Strength", improve_chance[0])