Add traps

This commit is contained in:
2022-01-29 16:07:01 +01:00
parent 835a416013
commit 7c67291031
13 changed files with 213 additions and 42 deletions

View File

@@ -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) {