From 9e10c8b700f7f81738d4c3e3a9dbd4be1db54a3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Korg=C3=B3l?= Date: Fri, 4 Oct 2019 18:07:26 +0200 Subject: [PATCH] Make enemies spawn with different levels --- common/src/comp/stats.rs | 13 +++++++++---- server/src/lib.rs | 6 ++++++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/common/src/comp/stats.rs b/common/src/comp/stats.rs index 37adfed283..ee73c880bb 100644 --- a/common/src/comp/stats.rs +++ b/common/src/comp/stats.rs @@ -12,6 +12,7 @@ pub enum HealthSource { Command, LevelUp, Item, + Creation, Unknown, } #[derive(Clone, Copy, Debug, Serialize, Deserialize)] @@ -133,10 +134,9 @@ impl Exp { } impl Level { - // TODO: Uncomment when needed - // pub fn set_level(&mut self, level: u32) { - // self.amount = level; - // } + pub fn set_level(&mut self, level: u32) { + self.amount = level; + } pub fn level(&self) -> u32 { self.amount @@ -167,6 +167,11 @@ impl Stats { .set_to(self.health.maximum(), HealthSource::Revive); self.is_dead = false; } + + // TODO: Delet this once stat points will be a thing + pub fn level_hp_bonus(&mut self, level: u32) { + self.health.set_maximum((10 * level) / 2); + } } impl Stats { diff --git a/server/src/lib.rs b/server/src/lib.rs index cc1b60f42a..d662bb786e 100644 --- a/server/src/lib.rs +++ b/server/src/lib.rs @@ -560,6 +560,12 @@ impl Server { }; let mut scale = 1.0; + // TODO: Remove this and implement scaling or level depending on stuff like species instead + stats.level.set_level(rand::thread_rng().gen_range(1, 20)); + if stats.level.level() > 1 { + stats.level_hp_bonus(stats.level.level()); + } + if npc.boss { if rand::random::() < 0.8 { stats = comp::Stats::new(