Add hunger: Reformat
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
use specs::prelude::*;
|
||||
|
||||
use crate::{GameLog, Heals, HungerClock, HungerState, ProvidesHealing, RunState, SufferDamage};
|
||||
use crate::spawner::player;
|
||||
use crate::{GameLog, Heals, HungerClock, HungerState, ProvidesHealing, RunState, SufferDamage};
|
||||
|
||||
pub struct HungerSystem {}
|
||||
|
||||
@@ -13,19 +13,36 @@ impl<'a> System<'a> for HungerSystem {
|
||||
ReadExpect<'a, RunState>,
|
||||
WriteStorage<'a, SufferDamage>,
|
||||
WriteExpect<'a, GameLog>,
|
||||
WriteStorage<'a, Heals>
|
||||
WriteStorage<'a, Heals>,
|
||||
);
|
||||
|
||||
fn run(&mut self, data: Self::SystemData) {
|
||||
let (entities, mut hunger_clock, player_entity, run_state, mut suffer_damage, mut game_log, mut heals) = data;
|
||||
let (
|
||||
entities,
|
||||
mut hunger_clock,
|
||||
player_entity,
|
||||
run_state,
|
||||
mut suffer_damage,
|
||||
mut game_log,
|
||||
mut heals,
|
||||
) = data;
|
||||
for (entity, mut clock) in (&entities, &mut hunger_clock).join() {
|
||||
let mut proceed = false;
|
||||
|
||||
match *run_state {
|
||||
RunState::PlayerTurn => {
|
||||
if entity == *player_entity { proceed = true; } }
|
||||
RunState::MonsterTurn => { if entity != *player_entity { proceed = true; } }
|
||||
_ => { proceed = false; }
|
||||
if entity == *player_entity {
|
||||
proceed = true;
|
||||
}
|
||||
}
|
||||
RunState::MonsterTurn => {
|
||||
if entity != *player_entity {
|
||||
proceed = true;
|
||||
}
|
||||
}
|
||||
_ => {
|
||||
proceed = false;
|
||||
}
|
||||
}
|
||||
|
||||
if !proceed {
|
||||
@@ -42,7 +59,9 @@ impl<'a> System<'a> for HungerSystem {
|
||||
clock.state = HungerState::Normal;
|
||||
clock.duration = 200;
|
||||
if entity == *player_entity {
|
||||
game_log.entries.push("You are no longer well-feed".to_string())
|
||||
game_log
|
||||
.entries
|
||||
.push("You are no longer well-feed".to_string())
|
||||
}
|
||||
}
|
||||
HungerState::Normal => {
|
||||
@@ -61,11 +80,13 @@ impl<'a> System<'a> for HungerSystem {
|
||||
}
|
||||
HungerState::Starving => {
|
||||
if entity == *player_entity {
|
||||
game_log.entries.push("Your hunger pangs are getting painful".to_string())
|
||||
game_log
|
||||
.entries
|
||||
.push("Your hunger pangs are getting painful".to_string())
|
||||
}
|
||||
SufferDamage::new_damage(&mut suffer_damage, entity, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user