diff --git a/common/src/comp/energy.rs b/common/src/comp/energy.rs index 20810dca8b..f1545675e1 100644 --- a/common/src/comp/energy.rs +++ b/common/src/comp/energy.rs @@ -99,7 +99,12 @@ impl Energy { pub fn update_max_energy(&mut self, body: Option, level: u16) { if let Some(body) = body { + self.set_base_max(body.base_energy() + 50 * level as u32); self.set_maximum(body.base_energy() + 50 * level as u32); + self.change_by(EnergyChange { + amount: 50, + source: EnergySource::LevelUp, + }); } } @@ -110,6 +115,12 @@ impl Energy { self.last_max = self.base_max; } } + + // This is private because max energy is based on the level + fn set_base_max(&mut self, amount: u32) { + self.base_max = amount; + self.current = self.current.min(self.maximum); + } } pub struct EnergyChange {