pub enum ModifierEffect {
FlatFps(f64),
AddPercent(f64),
MulFactor(Mag),
}Expand description
One contribution from a modifier. A single Modifier may carry
multiple effects — e.g. a future debuff could combine
[FlatFps(-10.0), MulFactor(0.5)].
MulFactor carries a Mag (log-magnitude) so the catch-time
product 7.0 × tree.powerup_reward_mul[Buff] can grow truly
unboundedly across late-game stacks without overflowing f64. The
Mag (de)serializer accepts both raw JSON numbers (legacy V4 saves
stored "MulFactor": 7.0) and the explicit {"log10": …} form (new
huge values), so the change is wire-compatible — no save version
bump.
Variants§
FlatFps(f64)
Flat additive contribution to the fingerer’s per-tier output.
Pre-multiplier: added to base * count before percent or mul.
AddPercent(f64)
Additive percent. 0.10 = +10%. Sums across all modifiers on the
fingerer (two +10% Green Coins = +20%).
MulFactor(Mag)
Multiplicative factor. Multiplies across all modifiers on the
fingerer (two x2 = x4). Applied after Self::AddPercent.
Trait Implementations§
Source§impl Clone for ModifierEffect
impl Clone for ModifierEffect
Source§fn clone(&self) -> ModifierEffect
fn clone(&self) -> ModifierEffect
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ModifierEffect
impl Debug for ModifierEffect
Source§impl<'de> Deserialize<'de> for ModifierEffect
impl<'de> Deserialize<'de> for ModifierEffect
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl From<ModifierEffectV2> for ModifierEffect
impl From<ModifierEffectV2> for ModifierEffect
Source§fn from(e: ModifierEffectV2) -> Self
fn from(e: ModifierEffectV2) -> Self
Source§impl PartialEq for ModifierEffect
impl PartialEq for ModifierEffect
Source§fn eq(&self, other: &ModifierEffect) -> bool
fn eq(&self, other: &ModifierEffect) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ModifierEffect
impl Serialize for ModifierEffect
impl Copy for ModifierEffect
impl StructuralPartialEq for ModifierEffect
Auto Trait Implementations§
impl Freeze for ModifierEffect
impl RefUnwindSafe for ModifierEffect
impl Send for ModifierEffect
impl Sync for ModifierEffect
impl Unpin for ModifierEffect
impl UnsafeUnpin for ModifierEffect
impl UnwindSafe for ModifierEffect
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more