Add traps
This commit is contained in:
@@ -1,8 +1,13 @@
|
||||
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, MagicMapper, Map, Name, Position, ProvidesFood,
|
||||
ProvidesHealing, Ranged, RunState, SufferDamage, WantsToDropItem, WantsToPickupItem,
|
||||
WantsToRemoveItem, WantsToUseItem,
|
||||
};
|
||||
|
||||
pub struct ItemCollectionSystem {}
|
||||
|
||||
@@ -71,7 +76,7 @@ impl<'a> System<'a> for ItemUseSystem {
|
||||
ReadStorage<'a, ProvidesFood>,
|
||||
WriteStorage<'a, HungerClock>,
|
||||
ReadStorage<'a, MagicMapper>,
|
||||
WriteExpect<'a, RunState>
|
||||
WriteExpect<'a, RunState>,
|
||||
);
|
||||
|
||||
fn run(&mut self, data: Self::SystemData) {
|
||||
@@ -98,7 +103,7 @@ impl<'a> System<'a> for ItemUseSystem {
|
||||
provides_food,
|
||||
mut hunger_clocks,
|
||||
magic_mapper,
|
||||
mut run_state
|
||||
mut run_state,
|
||||
) = data;
|
||||
|
||||
for (entity, use_item) in (&entities, &wants_use).join() {
|
||||
@@ -144,8 +149,10 @@ impl<'a> System<'a> for ItemUseSystem {
|
||||
|
||||
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};
|
||||
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) {
|
||||
|
Reference in New Issue
Block a user