From 113d26cf413becb3d85f38b3fcfbb8ce1284cb83 Mon Sep 17 00:00:00 2001 From: Llywelwyn Date: Tue, 22 Aug 2023 11:06:48 +0100 Subject: [PATCH] effects messages to consts --- src/effects/messages.rs | 21 +++++++++++++++++++++ src/effects/mod.rs | 1 + src/effects/triggers.rs | 37 ++++++++++++++----------------------- 3 files changed, 36 insertions(+), 23 deletions(-) create mode 100644 src/effects/messages.rs diff --git a/src/effects/messages.rs b/src/effects/messages.rs new file mode 100644 index 0000000..2116ad0 --- /dev/null +++ b/src/effects/messages.rs @@ -0,0 +1,21 @@ +pub const NOCHARGES_WREST: &str = "You wrest one last charge from the worn-out wand."; +pub const NOCHARGES_DIDNOTHING: &str = "The wand does nothing."; + +pub const REMOVECURSE: &str = "You feel a weight lifted!"; +pub const REMOVECURSE_BLESSED: &str = "You feel righteous"; +pub const REMOVECURSE_BLESSED_FAILED: &str = "You feel righteous! But nothing happened."; + +pub const DAMAGE_PLAYER_HIT: &str = "are hit!"; +pub const DAMAGE_ITEM_HIT: &str = "is ruined!"; +pub const DAMAGE_OTHER_HIT: &str = "is hit!"; + +pub const HEAL_PLAYER_HIT: &str = "recover some vigour."; +pub const HEAL_PLAYER_HIT_BLESSED: &str = "You feel great"; +pub const HEAL_OTHER_HIT: &str = "is rejuvenated!"; + +pub const MAGICMAP: &str = "You recall your surroundings!"; +pub const MAGICMAP_CURSED: &str = "... but forget where you last were"; + +pub const NUTRITION: &str = "You eat the"; +pub const NUTRITION_CURSED: &str = "Blech! Rotten"; +pub const NUTRITION_BLESSED: &str = "Delicious"; diff --git a/src/effects/mod.rs b/src/effects/mod.rs index a1b5bc9..fd88b11 100644 --- a/src/effects/mod.rs +++ b/src/effects/mod.rs @@ -7,6 +7,7 @@ use std::sync::Mutex; mod damage; mod hunger; +mod messages; mod particles; mod targeting; mod triggers; diff --git a/src/effects/triggers.rs b/src/effects/triggers.rs index c134fb3..35ab17a 100644 --- a/src/effects/triggers.rs +++ b/src/effects/triggers.rs @@ -1,4 +1,4 @@ -use super::{add_effect, get_noncursed, particles, spatial, EffectType, Entity, Targets, World}; +use super::{add_effect, get_noncursed, messages::*, particles, spatial, EffectType, Entity, Targets, World}; use crate::{ gamelog, gui::item_colour_ecs, gui::obfuscate_name_ecs, gui::renderable_colour, Beatitude, Charges, Confusion, Consumable, Destructible, Equipped, Hidden, InBackpack, InflictsDamage, Item, MagicMapper, Player, Prop, @@ -13,10 +13,10 @@ pub fn item_trigger(source: Option, item: Entity, target: &Targets, ecs: if has_charges.uses <= 0 { let mut rng = ecs.write_resource::(); if rng.roll_dice(1, 121) != 1 { - gamelog::Logger::new().append("The wand does nothing.").log(); + gamelog::Logger::new().append(NOCHARGES_DIDNOTHING).log(); return; } - gamelog::Logger::new().colour(rltk::YELLOW).append("You wrest one last charge from the worn-out wand."); + gamelog::Logger::new().colour(rltk::YELLOW).append(NOCHARGES_WREST); ecs.write_storage::().insert(item, Consumable {}).expect("Could not insert consumable"); } has_charges.uses -= 1; @@ -94,12 +94,12 @@ fn handle_restore_nutrition( }; add_effect(event.source, EffectType::ModifyNutrition { amount }, event.target.clone()); logger = logger - .append("You eat the") + .append(NUTRITION) .colour(item_colour_ecs(ecs, event.entity)) .append_n(obfuscate_name_ecs(ecs, event.entity).0) .colour(WHITE) .period() - .buc(event.buc.clone(), Some("Blech! Rotten"), Some("Delicious")); + .buc(event.buc.clone(), Some(NUTRITION_CURSED), Some(NUTRITION_BLESSED)); event.log = true; return (logger, true); } @@ -111,11 +111,7 @@ fn handle_magic_mapper(ecs: &mut World, event: &mut EventInfo, mut logger: gamel let mut runstate = ecs.fetch_mut::(); let cursed = if event.buc == BUC::Cursed { true } else { false }; *runstate = RunState::MagicMapReveal { row: 0, cursed: cursed }; - logger = logger.append("You recall your surroundings!").buc( - event.buc.clone(), - Some("... but forget where you last were."), - None, - ); + logger = logger.append(MAGICMAP).buc(event.buc.clone(), Some(MAGICMAP_CURSED), None); event.log = true; return (logger, true); } @@ -146,15 +142,15 @@ fn handle_healing(ecs: &mut World, event: &mut EventInfo, mut logger: gamelog::L .colour(renderable_colour(&renderables, target)) .append("You") .colour(WHITE) - .append("recover some vigour.") - .buc(event.buc.clone(), None, Some("You feel great!")); + .append(HEAL_PLAYER_HIT) + .buc(event.buc.clone(), None, Some(HEAL_PLAYER_HIT_BLESSED)); } else { logger = logger .append("The") .colour(renderable_colour(&renderables, target)) .append(obfuscate_name_ecs(ecs, target).0) .colour(WHITE) - .append("is rejuvenated!"); + .append(HEAL_OTHER_HIT); } event.log = true; } @@ -178,7 +174,7 @@ fn handle_damage(ecs: &mut World, event: &mut EventInfo, mut logger: gamelog::Lo .colour(renderable_colour(&renderables, target)) .append("You") .colour(WHITE) - .append("are hit!"); + .append(DAMAGE_PLAYER_HIT); } else if ecs.read_storage::().get(target).is_some() { if ecs.read_storage::().get(target).is_some() { logger = logger @@ -186,7 +182,7 @@ fn handle_damage(ecs: &mut World, event: &mut EventInfo, mut logger: gamelog::Lo .colour(renderable_colour(&renderables, target)) .append(obfuscate_name_ecs(ecs, target).0) .colour(WHITE) - .append("is ruined!"); + .append(DAMAGE_ITEM_HIT); } } else { logger = logger @@ -194,7 +190,7 @@ fn handle_damage(ecs: &mut World, event: &mut EventInfo, mut logger: gamelog::Lo .colour(renderable_colour(&renderables, target)) .append(obfuscate_name_ecs(ecs, target).0) .colour(WHITE) - .append("is hit!"); + .append(DAMAGE_OTHER_HIT); } event.log = true; } @@ -220,8 +216,6 @@ fn select_single_remove_curse(ecs: &World) { fn handle_remove_curse(ecs: &mut World, event: &mut EventInfo, mut logger: gamelog::Logger) -> (gamelog::Logger, bool) { if let Some(_r) = ecs.read_storage::().get(event.entity) { let mut to_decurse: Vec = Vec::new(); - let mut cursed_in_backpack = false; - let mut cursed_in_inventory = false; match event.buc { // If cursed, show the prompt to select one item. BUC::Cursed => { @@ -239,7 +233,6 @@ fn handle_remove_curse(ecs: &mut World, event: &mut EventInfo, mut logger: gamel .join() .filter(|(_e, _i, bp, b)| bp.owner == event.source.unwrap() && b.buc == BUC::Cursed) { - cursed_in_backpack = true; to_decurse.push(entity); } } @@ -255,13 +248,12 @@ fn handle_remove_curse(ecs: &mut World, event: &mut EventInfo, mut logger: gamel .join() .filter(|(_e, _i, e, b)| e.owner == event.source.unwrap() && b.buc == BUC::Cursed) { - cursed_in_inventory = true; to_decurse.push(entity); } if to_decurse.len() == 0 { match event.buc { BUC::Uncursed => select_single_remove_curse(ecs), - BUC::Blessed => logger = logger.append("You feel righteous! ... but nothing happens."), + BUC::Blessed => logger = logger.append(REMOVECURSE_BLESSED_FAILED), _ => {} } return (logger, true); @@ -270,8 +262,7 @@ fn handle_remove_curse(ecs: &mut World, event: &mut EventInfo, mut logger: gamel for e in to_decurse { beatitudes.insert(e, Beatitude { buc: BUC::Uncursed, known: true }).expect("Unable to insert beatitude"); } - logger = - logger.append("You feel a reassuring presence.").buc(event.buc.clone(), None, Some("You feel righteous!")); + logger = logger.append(REMOVECURSE).buc(event.buc.clone(), None, Some(REMOVECURSE_BLESSED)); event.log = true; return (logger, true); }