use crate::rules::ability_scores::AbilityScoreCollection; use crate::rules::classes::Class; // use std::fmt; pub struct Npc { pub alignment: Option, pub race: Option, pub class: Option<&'static Class>, pub ability_scores: Option, } impl Npc { pub fn new( alignment: Option, race: Option, class: Option<&'static Class>, ability_scores: Option, ) -> Self { Npc { alignment, race, class, ability_scores, } } } // impl fmt::Display for Npc { // fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { // let values: Vec<&str> = vec![ // self.alignment.as_deref().unwrap_or(""), // self.race.as_deref().unwrap_or(""), // self.class.as_ref().map_or("", |class| &class.name), // ] // .into_iter() // .filter(|&s| !s.is_empty()) // .collect(); // // let formatted_string = values.join(" "); // write!(f, "{}", formatted_string) // } // }