diff --git a/immediate_stats/src/stat.rs b/immediate_stats/src/stat.rs index f064a24..117fcba 100644 --- a/immediate_stats/src/stat.rs +++ b/immediate_stats/src/stat.rs @@ -1,9 +1,9 @@ +pub mod modifier; + use crate::StatContainer; use crate::stat::modifier::Modifier; use std::ops::{AddAssign, DivAssign, MulAssign, SubAssign}; -mod modifier; - /// A stat that [resets] to a base value every iteration. /// /// Temporary bonuses can be applied using [`+=`](add), [`-=`](sub), [`*=`](mul), and [`/=`](div). diff --git a/immediate_stats/src/stat/modifier.rs b/immediate_stats/src/stat/modifier.rs index e7a15bc..413949d 100644 --- a/immediate_stats/src/stat/modifier.rs +++ b/immediate_stats/src/stat/modifier.rs @@ -14,6 +14,20 @@ impl Modifier { pub fn new(bonus: i32, multiplier: f32) -> Self { Self { bonus, multiplier } } + + pub fn from_bonus(bonus: i32) -> Self { + Self { + bonus, + ..Self::default() + } + } + + pub fn from_multiplier(multiplier: f32) -> Self { + Self { + multiplier, + ..Self::default() + } + } } impl Default for Modifier {