From 72ec24c6b66ca22c0375deaee576c5d12a9483ca Mon Sep 17 00:00:00 2001 From: Llywelwyn Date: Sun, 27 Aug 2023 23:53:54 +0100 Subject: [PATCH] combat log to config --- src/config/mod.rs | 16 +++++++++------- src/melee_combat_system.rs | 10 +++++----- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/config/mod.rs b/src/config/mod.rs index 1143362..3b66e81 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -12,6 +12,14 @@ pub struct Config { pub visuals: VisualConfig, } +#[derive(Debug, Serialize, Deserialize)] +pub struct LogConfig { + pub show_mapgen: bool, + pub log_combat: bool, + pub log_spawning: bool, + pub log_ticks: bool, +} + #[derive(Debug, Serialize, Deserialize)] pub struct VisualConfig { pub with_scanlines: bool, @@ -19,18 +27,12 @@ pub struct VisualConfig { pub with_darken_by_distance: bool, } -#[derive(Debug, Serialize, Deserialize)] -pub struct LogConfig { - pub show_mapgen: bool, - pub log_spawning: bool, - pub log_ticks: bool, -} - impl Default for Config { fn default() -> Self { Config { logging: LogConfig { show_mapgen: false, + log_combat: false, log_spawning: false, log_ticks: false, }, diff --git a/src/melee_combat_system.rs b/src/melee_combat_system.rs index 9c320d3..55171e3 100644 --- a/src/melee_combat_system.rs +++ b/src/melee_combat_system.rs @@ -23,6 +23,7 @@ use super::{ ToHitBonus, WantsToMelee, WeaponAttribute, + config::CONFIG, }; use rltk::prelude::*; use specs::prelude::*; @@ -88,7 +89,6 @@ impl<'a> System<'a> for MeleeCombatSystem { // e.g. An attacker with +0 to-hit hitting a target with 0 AC: // 1d20 must be less than 10, 45% chance of a hit - const COMBAT_LOGGING: bool = true; let mut logger = gamelog::Logger::new(); let mut something_to_log = false; @@ -210,7 +210,7 @@ impl<'a> System<'a> for MeleeCombatSystem { let target_number = monster_v_player_bonus + armour_class_roll + attacker_bonuses; let target_name = names.get(wants_melee.target).unwrap(); - if COMBAT_LOGGING { + if CONFIG.logging.log_combat { rltk::console::log( format!( "ATTACKLOG: {} *{}* {}: rolled ({}) 1d20 vs. {} ({} + {}AC + {}to-hit)", @@ -248,7 +248,7 @@ impl<'a> System<'a> for MeleeCombatSystem { } let mut damage = i32::max(0, base_damage + skill_damage_bonus + attribute_damage_bonus); - if COMBAT_LOGGING { + if CONFIG.logging.log_combat { rltk::console::log( format!( "ATTACKLOG: {} HIT for {} ({}[{}d{}]+{}[skill]+{}[attr])", @@ -266,7 +266,7 @@ impl<'a> System<'a> for MeleeCombatSystem { if actual_armour_class < 0 { let ac_damage_reduction = rng.roll_dice(1, -actual_armour_class); damage = i32::min(1, damage - ac_damage_reduction); - if COMBAT_LOGGING { + if CONFIG.logging.log_combat { rltk::console::log( format!( "ATTACKLOG: {} reduced their damage taken by {} (1dAC), and took {} hp damage.", @@ -320,7 +320,7 @@ impl<'a> System<'a> for MeleeCombatSystem { .log(); } } else { - if COMBAT_LOGGING { + if CONFIG.logging.log_combat { rltk::console::log(format!("ATTACKLOG: {} *MISSED*", &name.name)); }