Chapter 20
This commit is contained in:
@@ -1,12 +1,8 @@
|
||||
use specs::prelude::*;
|
||||
|
||||
use crate::{AreaOfEffect, CombatStats, Confusion, Consumable, Equippable, Equipped, HungerClock, HungerState, InBackpack, InflictsDamage, MagicMapper, Map, Name, Position, ProvidesFood, ProvidesHealing, Ranged, RunState, SufferDamage, WantsToDropItem, WantsToPickupItem, WantsToRemoveItem, WantsToUseItem};
|
||||
use crate::gamelog::GameLog;
|
||||
use crate::particle_system::ParticleBuilder;
|
||||
use crate::{
|
||||
AreaOfEffect, CombatStats, Confusion, Consumable, Equippable, Equipped, HungerClock,
|
||||
HungerState, InBackpack, InflictsDamage, Map, Name, Position, ProvidesFood, ProvidesHealing,
|
||||
Ranged, SufferDamage, WantsToDropItem, WantsToPickupItem, WantsToRemoveItem, WantsToUseItem,
|
||||
};
|
||||
|
||||
pub struct ItemCollectionSystem {}
|
||||
|
||||
@@ -63,7 +59,7 @@ impl<'a> System<'a> for ItemUseSystem {
|
||||
ReadStorage<'a, ProvidesHealing>,
|
||||
ReadStorage<'a, InflictsDamage>,
|
||||
ReadStorage<'a, Ranged>,
|
||||
ReadExpect<'a, Map>,
|
||||
WriteExpect<'a, Map>,
|
||||
WriteStorage<'a, SufferDamage>,
|
||||
ReadStorage<'a, AreaOfEffect>,
|
||||
WriteStorage<'a, Confusion>,
|
||||
@@ -74,6 +70,8 @@ impl<'a> System<'a> for ItemUseSystem {
|
||||
ReadStorage<'a, Position>,
|
||||
ReadStorage<'a, ProvidesFood>,
|
||||
WriteStorage<'a, HungerClock>,
|
||||
ReadStorage<'a, MagicMapper>,
|
||||
WriteExpect<'a, RunState>
|
||||
);
|
||||
|
||||
fn run(&mut self, data: Self::SystemData) {
|
||||
@@ -87,8 +85,8 @@ impl<'a> System<'a> for ItemUseSystem {
|
||||
mut combat_stats,
|
||||
healing,
|
||||
inflicts_damage,
|
||||
ranged,
|
||||
map,
|
||||
_ranged,
|
||||
mut map,
|
||||
mut suffer_damage,
|
||||
aoe,
|
||||
mut confused,
|
||||
@@ -99,6 +97,8 @@ impl<'a> System<'a> for ItemUseSystem {
|
||||
positions,
|
||||
provides_food,
|
||||
mut hunger_clocks,
|
||||
magic_mapper,
|
||||
mut run_state
|
||||
) = data;
|
||||
|
||||
for (entity, use_item) in (&entities, &wants_use).join() {
|
||||
@@ -142,7 +142,13 @@ impl<'a> System<'a> for ItemUseSystem {
|
||||
}
|
||||
}
|
||||
|
||||
if let Some(item_edible) = provides_food.get(use_item.item) {
|
||||
if let Some(_mapper) = magic_mapper.get(use_item.item) {
|
||||
used_item = true;
|
||||
game_log.entries.push("The map is revealed to you!".to_string());
|
||||
*run_state = RunState::MagicMapReveal {row: 0};
|
||||
}
|
||||
|
||||
if let Some(_item_edible) = provides_food.get(use_item.item) {
|
||||
used_item = true;
|
||||
let target = targets[0];
|
||||
if let Some(hc) = hunger_clocks.get_mut(target) {
|
||||
|
Reference in New Issue
Block a user