diff --git a/azalea-world/src/entity/attributes.rs b/azalea-world/src/entity/attributes.rs index 4b2c9eba..baa27a2b 100644 --- a/azalea-world/src/entity/attributes.rs +++ b/azalea-world/src/entity/attributes.rs @@ -11,17 +11,18 @@ pub struct AttributeModifiers { } #[derive(Clone, Debug, Default)] -pub struct AttributeInstance { +pub struct AttributeInstance { + pub base: f64, pub modifiers: Vec, } -impl AttributeInstance { +impl AttributeInstance { pub fn calculate(&self) -> f64 { - let mut total = BASE; + let mut total = self.base; for modifier in self.modifiers { match modifier.operation { AttributeModifierOperation::Addition => total += modifier.amount, - AttributeModifierOperation::MultiplyBase => total += BASE * modifier.amount, + AttributeModifierOperation::MultiplyBase => total += self.base * modifier.amount, _ => {} } match modifier.operation {