minor fixes, altars can heal
This commit is contained in:
parent
fe19a449e3
commit
397aa07d60
7 changed files with 18 additions and 9 deletions
|
|
@ -2,8 +2,8 @@ use super::{EffectSpawner, EffectType};
|
|||
use crate::{HungerClock, BUC};
|
||||
use specs::prelude::*;
|
||||
|
||||
pub fn restore_food(ecs: &mut World, effect: &EffectSpawner, target: Entity) {
|
||||
if let EffectType::RestoreNutrition { amount } = &effect.effect_type {
|
||||
pub fn modify_nutrition(ecs: &mut World, effect: &EffectSpawner, target: Entity) {
|
||||
if let EffectType::ModifyNutrition { amount } = &effect.effect_type {
|
||||
if let Some(hc) = ecs.write_storage::<HungerClock>().get_mut(target) {
|
||||
hc.duration += amount;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ pub enum EffectType {
|
|||
Particle { glyph: FontCharType, fg: RGB, bg: RGB, lifespan: f32, delay: f32 },
|
||||
EntityDeath,
|
||||
ItemUse { item: Entity },
|
||||
RestoreNutrition { amount: i32 },
|
||||
ModifyNutrition { amount: i32 },
|
||||
TriggerFire { trigger: Entity },
|
||||
}
|
||||
|
||||
|
|
@ -116,7 +116,7 @@ fn tile_effect_hits_entities(effect: &EffectType) -> bool {
|
|||
match effect {
|
||||
EffectType::Damage { .. } => true,
|
||||
EffectType::Healing { .. } => true,
|
||||
EffectType::RestoreNutrition { .. } => true,
|
||||
EffectType::ModifyNutrition { .. } => true,
|
||||
EffectType::Confusion { .. } => true,
|
||||
_ => false,
|
||||
}
|
||||
|
|
@ -139,7 +139,7 @@ fn affect_entity(ecs: &mut World, effect: &EffectSpawner, target: Entity) {
|
|||
}
|
||||
}
|
||||
EffectType::EntityDeath => damage::entity_death(ecs, effect, target),
|
||||
EffectType::RestoreNutrition { .. } => hunger::restore_food(ecs, effect, target),
|
||||
EffectType::ModifyNutrition { .. } => hunger::modify_nutrition(ecs, effect, target),
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ fn handle_restore_nutrition(
|
|||
BUC::Uncursed => 400,
|
||||
BUC::Cursed => 200,
|
||||
};
|
||||
add_effect(event.source, EffectType::RestoreNutrition { amount }, event.target.clone());
|
||||
add_effect(event.source, EffectType::ModifyNutrition { amount }, event.target.clone());
|
||||
logger = logger
|
||||
.append("You eat the")
|
||||
.colour(item_colour_ecs(ecs, event.entity))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue