atomising item use: damage and healing, and refactors

This commit is contained in:
Llywelwyn 2023-08-17 03:12:42 +01:00
parent 6677181a4e
commit 911873127d
12 changed files with 176 additions and 48 deletions

View file

@ -2,7 +2,7 @@ use super::{
gamelog, EquipmentChanged, InBackpack, MagicItem, MasterDungeonMap, Name, ObfuscatedName, Position, Wand,
WantsToPickupItem,
};
use crate::gui::obfuscate_name_ecs;
use crate::gui::obfuscate_name;
use specs::prelude::*;
pub struct ItemCollectionSystem {}
@ -48,7 +48,7 @@ impl<'a> System<'a> for ItemCollectionSystem {
.append("You pick up the")
.item_name_n(format!(
"{}",
obfuscate_name_ecs(pickup.item, &names, &magic_items, &obfuscated_names, &dm, Some(&wands)).0
obfuscate_name(pickup.item, &names, &magic_items, &obfuscated_names, &dm, Some(&wands)).0
))
.period()
.log();

View file

@ -2,7 +2,7 @@ use super::{
gamelog, EquipmentChanged, InBackpack, MagicItem, MasterDungeonMap, Name, ObfuscatedName, Position, Wand,
WantsToDropItem,
};
use crate::gui::obfuscate_name_ecs;
use crate::gui::obfuscate_name;
use specs::prelude::*;
pub struct ItemDropSystem {}
@ -56,7 +56,7 @@ impl<'a> System<'a> for ItemDropSystem {
.append("You drop the")
.item_name_n(format!(
"{}",
obfuscate_name_ecs(to_drop.item, &names, &magic_items, &obfuscated_names, &dm, Some(&wands)).0
obfuscate_name(to_drop.item, &names, &magic_items, &obfuscated_names, &dm, Some(&wands)).0
))
.period()
.log();

View file

@ -2,7 +2,7 @@ use super::{
gamelog, EquipmentChanged, Equippable, Equipped, InBackpack, MagicItem, MasterDungeonMap, Name, ObfuscatedName,
WantsToUseItem,
};
use crate::gui::{item_colour, obfuscate_name_ecs};
use crate::gui::{item_colour, obfuscate_name};
use specs::prelude::*;
pub struct ItemEquipSystem {}
@ -58,7 +58,7 @@ impl<'a> System<'a> for ItemEquipSystem {
if target == *player_entity {
logger = logger
.append("You remove your")
.append_n(obfuscate_name_ecs(*item, &names, &magic_items, &obfuscated_names, &dm, None).0)
.append_n(obfuscate_name(*item, &names, &magic_items, &obfuscated_names, &dm, None).0)
.colour(item_colour(*item, &names, &magic_items, &dm))
.period();
}
@ -73,15 +73,8 @@ impl<'a> System<'a> for ItemEquipSystem {
logger = logger
.append("You equip the")
.append_n(
obfuscate_name_ecs(
wants_to_use_item.item,
&names,
&magic_items,
&obfuscated_names,
&dm,
None,
)
.0,
obfuscate_name(wants_to_use_item.item, &names, &magic_items, &obfuscated_names, &dm, None)
.0,
)
.colour(item_colour(wants_to_use_item.item, &names, &magic_items, &dm))
.period();

View file

@ -1,5 +1,5 @@
use super::{gamelog, Equipped, InBackpack, MagicItem, MasterDungeonMap, Name, ObfuscatedName, WantsToRemoveItem};
use crate::gui::{item_colour, obfuscate_name_ecs};
use crate::gui::{item_colour, obfuscate_name};
use specs::prelude::*;
pub struct ItemRemoveSystem {}
@ -37,9 +37,7 @@ impl<'a> System<'a> for ItemRemoveSystem {
if entity == *player_entity {
gamelog::Logger::new()
.append("You unequip the")
.append_n(
obfuscate_name_ecs(to_remove.item, &names, &magic_items, &obfuscated_names, &dm, None).0,
)
.append_n(obfuscate_name(to_remove.item, &names, &magic_items, &obfuscated_names, &dm, None).0)
.colour(item_colour(to_remove.item, &names, &magic_items, &dm))
.period()
.log();