Class BonusEffectCappedMultiplicative
Level-aware multiplicative effect with a cap. Applies a fixed multiplier (Value) per SourceLevel,
but clamps the cumulative multiplier at Cap. For cost reductions (LowerIsBetter=true), Cap is a floor (e.g. 0.5 = never below 50%).
For yield boosts (LowerIsBetter=false), Cap is a ceiling (e.g. 1.5 = never above 150%).
Once the cap is reached, further levels have no additional effect — pair with BonusEffectDiminishing on a separate bonus for post-cap scaling.
Inheritance
System.Object
BonusEffectCappedMultiplicative
Assembly: Eco.Gameplay.dll
Syntax
public class BonusEffectCappedMultiplicative : BonusEffect, IDescribable
Constructors
BonusEffectCappedMultiplicative()
Declaration
public BonusEffectCappedMultiplicative()
Properties
Cap
Cumulative multiplier limit. For costs (Value < 1): floor; for yields (Value > 1): ceiling. Defaults to 1 (no cap).
Declaration
public float Cap { get; set; }
Property Value
| Type |
Description |
| System.Single |
|
OrderOfOperations
Declaration
public override float OrderOfOperations { get; }
Property Value
| Type |
Description |
| System.Single |
|
Overrides
ScalesWithTalentLevel
Declaration
public override bool ScalesWithTalentLevel { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
Overrides
Value
Per-level multiplier. Examples: 0.9f = 10% reduction per level, 1.1f = 10% increase per level.
Declaration
public float Value { get; set; }
Property Value
| Type |
Description |
| System.Single |
|
Methods
Description(BonusContext)
Declaration
public override LocString Description(BonusContext context = null)
Parameters
Returns
Overrides
TransformValue(BonusContext, Single)
Declaration
public override float TransformValue(BonusContext context, float val)
Parameters
| Type |
Name |
Description |
| BonusContext |
context |
|
| System.Single |
val |
|
Returns
| Type |
Description |
| System.Single |
|
Overrides
Implements
Extension Methods