From fac6191c2edb7093aa4b12600902665b38c16ea9 Mon Sep 17 00:00:00 2001 From: ntr Date: Fri, 15 Mar 2019 21:18:45 +1100 Subject: [PATCH] standardise stats --- server/src/cryp.rs | 47 ++++------------------------------------------ 1 file changed, 4 insertions(+), 43 deletions(-) diff --git a/server/src/cryp.rs b/server/src/cryp.rs index 70c130ff..062dc80c 100644 --- a/server/src/cryp.rs +++ b/server/src/cryp.rs @@ -195,45 +195,6 @@ impl Cryp { } } - // pub fn add_xp(mut self) -> Cryp { - // self.xp = self.xp.saturating_add(1); - // if self.xp.is_power_of_two() { - // return self.level_up(); - // } - // self - // } - - // pub fn level_up(mut self) -> Cryp { - // self.lvl = self.lvl.saturating_add(1); - // self.create() - // } - - pub fn roll_stat(&mut self, stat: Stat) -> &mut Cryp { - let mut rng = thread_rng(); - - let stam_min = 512u64.saturating_mul(self.lvl.into()); - let stam_max = 1024u64.saturating_mul(self.lvl.into()); - - let stat_min = 128u64.saturating_mul(self.lvl.into()); - let stat_max = 256u64.saturating_mul(self.lvl.into()); - - let evasion_min = 1u64; - let evasion_max = 5; - - match stat { - Stat::RedDamage => self.red_damage.set(rng.gen_range(stat_min, stat_max), &self.specs), - Stat::BlueDamage => self.blue_damage.set(rng.gen_range(stat_min, stat_max), &self.specs), - Stat::Speed => self.speed.set(rng.gen_range(stat_min, stat_max), &self.specs), - Stat::Hp => self.hp.set(rng.gen_range(stam_min, stam_max), &self.specs), - Stat::BlueShield => self.blue_shield.set(rng.gen_range(stat_min, stat_max), &self.specs), - Stat::RedShield => self.red_shield.set(rng.gen_range(stat_min, stat_max), &self.specs), - Stat::Evasion => self.evasion.set(rng.gen_range(evasion_min, evasion_max), &self.specs), - _ => panic!("{:?} not a rollable stat", stat), - }; - - self - } - pub fn create(mut self) -> Cryp { let xp = match self.lvl == 64 { true => u64::max_value(), @@ -242,10 +203,10 @@ impl Cryp { self.xp = xp; - self.roll_stat(Stat::RedDamage); - self.roll_stat(Stat::BlueDamage); - self.roll_stat(Stat::Speed); - self.roll_stat(Stat::Hp); + self.red_damage.set(256, &self.specs); + self.blue_damage.set(256, &self.specs); + self.speed.set(128, &self.specs); + self.hp.set(1024, &self.specs); self }