effects messages to consts
This commit is contained in:
parent
e76a03633b
commit
113d26cf41
3 changed files with 36 additions and 23 deletions
21
src/effects/messages.rs
Normal file
21
src/effects/messages.rs
Normal file
|
|
@ -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";
|
||||||
|
|
@ -7,6 +7,7 @@ use std::sync::Mutex;
|
||||||
|
|
||||||
mod damage;
|
mod damage;
|
||||||
mod hunger;
|
mod hunger;
|
||||||
|
mod messages;
|
||||||
mod particles;
|
mod particles;
|
||||||
mod targeting;
|
mod targeting;
|
||||||
mod triggers;
|
mod triggers;
|
||||||
|
|
|
||||||
|
|
@ -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::{
|
use crate::{
|
||||||
gamelog, gui::item_colour_ecs, gui::obfuscate_name_ecs, gui::renderable_colour, Beatitude, Charges, Confusion,
|
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,
|
Consumable, Destructible, Equipped, Hidden, InBackpack, InflictsDamage, Item, MagicMapper, Player, Prop,
|
||||||
|
|
@ -13,10 +13,10 @@ pub fn item_trigger(source: Option<Entity>, item: Entity, target: &Targets, ecs:
|
||||||
if has_charges.uses <= 0 {
|
if has_charges.uses <= 0 {
|
||||||
let mut rng = ecs.write_resource::<RandomNumberGenerator>();
|
let mut rng = ecs.write_resource::<RandomNumberGenerator>();
|
||||||
if rng.roll_dice(1, 121) != 1 {
|
if rng.roll_dice(1, 121) != 1 {
|
||||||
gamelog::Logger::new().append("The wand does nothing.").log();
|
gamelog::Logger::new().append(NOCHARGES_DIDNOTHING).log();
|
||||||
return;
|
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::<Consumable>().insert(item, Consumable {}).expect("Could not insert consumable");
|
ecs.write_storage::<Consumable>().insert(item, Consumable {}).expect("Could not insert consumable");
|
||||||
}
|
}
|
||||||
has_charges.uses -= 1;
|
has_charges.uses -= 1;
|
||||||
|
|
@ -94,12 +94,12 @@ fn handle_restore_nutrition(
|
||||||
};
|
};
|
||||||
add_effect(event.source, EffectType::ModifyNutrition { amount }, event.target.clone());
|
add_effect(event.source, EffectType::ModifyNutrition { amount }, event.target.clone());
|
||||||
logger = logger
|
logger = logger
|
||||||
.append("You eat the")
|
.append(NUTRITION)
|
||||||
.colour(item_colour_ecs(ecs, event.entity))
|
.colour(item_colour_ecs(ecs, event.entity))
|
||||||
.append_n(obfuscate_name_ecs(ecs, event.entity).0)
|
.append_n(obfuscate_name_ecs(ecs, event.entity).0)
|
||||||
.colour(WHITE)
|
.colour(WHITE)
|
||||||
.period()
|
.period()
|
||||||
.buc(event.buc.clone(), Some("Blech! Rotten"), Some("Delicious"));
|
.buc(event.buc.clone(), Some(NUTRITION_CURSED), Some(NUTRITION_BLESSED));
|
||||||
event.log = true;
|
event.log = true;
|
||||||
return (logger, 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::<RunState>();
|
let mut runstate = ecs.fetch_mut::<RunState>();
|
||||||
let cursed = if event.buc == BUC::Cursed { true } else { false };
|
let cursed = if event.buc == BUC::Cursed { true } else { false };
|
||||||
*runstate = RunState::MagicMapReveal { row: 0, cursed: cursed };
|
*runstate = RunState::MagicMapReveal { row: 0, cursed: cursed };
|
||||||
logger = logger.append("You recall your surroundings!").buc(
|
logger = logger.append(MAGICMAP).buc(event.buc.clone(), Some(MAGICMAP_CURSED), None);
|
||||||
event.buc.clone(),
|
|
||||||
Some("... but forget where you last were."),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
event.log = true;
|
event.log = true;
|
||||||
return (logger, 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))
|
.colour(renderable_colour(&renderables, target))
|
||||||
.append("You")
|
.append("You")
|
||||||
.colour(WHITE)
|
.colour(WHITE)
|
||||||
.append("recover some vigour.")
|
.append(HEAL_PLAYER_HIT)
|
||||||
.buc(event.buc.clone(), None, Some("You feel great!"));
|
.buc(event.buc.clone(), None, Some(HEAL_PLAYER_HIT_BLESSED));
|
||||||
} else {
|
} else {
|
||||||
logger = logger
|
logger = logger
|
||||||
.append("The")
|
.append("The")
|
||||||
.colour(renderable_colour(&renderables, target))
|
.colour(renderable_colour(&renderables, target))
|
||||||
.append(obfuscate_name_ecs(ecs, target).0)
|
.append(obfuscate_name_ecs(ecs, target).0)
|
||||||
.colour(WHITE)
|
.colour(WHITE)
|
||||||
.append("is rejuvenated!");
|
.append(HEAL_OTHER_HIT);
|
||||||
}
|
}
|
||||||
event.log = true;
|
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))
|
.colour(renderable_colour(&renderables, target))
|
||||||
.append("You")
|
.append("You")
|
||||||
.colour(WHITE)
|
.colour(WHITE)
|
||||||
.append("are hit!");
|
.append(DAMAGE_PLAYER_HIT);
|
||||||
} else if ecs.read_storage::<Item>().get(target).is_some() {
|
} else if ecs.read_storage::<Item>().get(target).is_some() {
|
||||||
if ecs.read_storage::<Destructible>().get(target).is_some() {
|
if ecs.read_storage::<Destructible>().get(target).is_some() {
|
||||||
logger = logger
|
logger = logger
|
||||||
|
|
@ -186,7 +182,7 @@ fn handle_damage(ecs: &mut World, event: &mut EventInfo, mut logger: gamelog::Lo
|
||||||
.colour(renderable_colour(&renderables, target))
|
.colour(renderable_colour(&renderables, target))
|
||||||
.append(obfuscate_name_ecs(ecs, target).0)
|
.append(obfuscate_name_ecs(ecs, target).0)
|
||||||
.colour(WHITE)
|
.colour(WHITE)
|
||||||
.append("is ruined!");
|
.append(DAMAGE_ITEM_HIT);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logger = logger
|
logger = logger
|
||||||
|
|
@ -194,7 +190,7 @@ fn handle_damage(ecs: &mut World, event: &mut EventInfo, mut logger: gamelog::Lo
|
||||||
.colour(renderable_colour(&renderables, target))
|
.colour(renderable_colour(&renderables, target))
|
||||||
.append(obfuscate_name_ecs(ecs, target).0)
|
.append(obfuscate_name_ecs(ecs, target).0)
|
||||||
.colour(WHITE)
|
.colour(WHITE)
|
||||||
.append("is hit!");
|
.append(DAMAGE_OTHER_HIT);
|
||||||
}
|
}
|
||||||
event.log = true;
|
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) {
|
fn handle_remove_curse(ecs: &mut World, event: &mut EventInfo, mut logger: gamelog::Logger) -> (gamelog::Logger, bool) {
|
||||||
if let Some(_r) = ecs.read_storage::<RemovesCurse>().get(event.entity) {
|
if let Some(_r) = ecs.read_storage::<RemovesCurse>().get(event.entity) {
|
||||||
let mut to_decurse: Vec<Entity> = Vec::new();
|
let mut to_decurse: Vec<Entity> = Vec::new();
|
||||||
let mut cursed_in_backpack = false;
|
|
||||||
let mut cursed_in_inventory = false;
|
|
||||||
match event.buc {
|
match event.buc {
|
||||||
// If cursed, show the prompt to select one item.
|
// If cursed, show the prompt to select one item.
|
||||||
BUC::Cursed => {
|
BUC::Cursed => {
|
||||||
|
|
@ -239,7 +233,6 @@ fn handle_remove_curse(ecs: &mut World, event: &mut EventInfo, mut logger: gamel
|
||||||
.join()
|
.join()
|
||||||
.filter(|(_e, _i, bp, b)| bp.owner == event.source.unwrap() && b.buc == BUC::Cursed)
|
.filter(|(_e, _i, bp, b)| bp.owner == event.source.unwrap() && b.buc == BUC::Cursed)
|
||||||
{
|
{
|
||||||
cursed_in_backpack = true;
|
|
||||||
to_decurse.push(entity);
|
to_decurse.push(entity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -255,13 +248,12 @@ fn handle_remove_curse(ecs: &mut World, event: &mut EventInfo, mut logger: gamel
|
||||||
.join()
|
.join()
|
||||||
.filter(|(_e, _i, e, b)| e.owner == event.source.unwrap() && b.buc == BUC::Cursed)
|
.filter(|(_e, _i, e, b)| e.owner == event.source.unwrap() && b.buc == BUC::Cursed)
|
||||||
{
|
{
|
||||||
cursed_in_inventory = true;
|
|
||||||
to_decurse.push(entity);
|
to_decurse.push(entity);
|
||||||
}
|
}
|
||||||
if to_decurse.len() == 0 {
|
if to_decurse.len() == 0 {
|
||||||
match event.buc {
|
match event.buc {
|
||||||
BUC::Uncursed => select_single_remove_curse(ecs),
|
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);
|
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 {
|
for e in to_decurse {
|
||||||
beatitudes.insert(e, Beatitude { buc: BUC::Uncursed, known: true }).expect("Unable to insert beatitude");
|
beatitudes.insert(e, Beatitude { buc: BUC::Uncursed, known: true }).expect("Unable to insert beatitude");
|
||||||
}
|
}
|
||||||
logger =
|
logger = logger.append(REMOVECURSE).buc(event.buc.clone(), None, Some(REMOVECURSE_BLESSED));
|
||||||
logger.append("You feel a reassuring presence.").buc(event.buc.clone(), None, Some("You feel righteous!"));
|
|
||||||
event.log = true;
|
event.log = true;
|
||||||
return (logger, true);
|
return (logger, true);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue