Struct EffectEntry
- Namespace
- SurvivorsMaker.Data
- Assembly
- SurvivorsMaker.Data.dll
An effect as authored on an item, character or upgrade asset.
public struct EffectEntry
- Inherited Members
Fields
Amount
Signed stat points or method operand; percentage stats use percentage points.
[Tooltip("Signed stat points or method operand; percentage stats use percentage points.")]
public int Amount
Field Value
Buffer
Input offset added to Input Min before evaluating linear progress.
[Tooltip("Input offset added to Input Min before evaluating linear progress.")]
public float Buffer
Field Value
ConversionFraction
Fraction of available input converted, from 0 to 1; legacy omitted 0 uses the runtime default.
[Tooltip("Fraction of available input converted, from 0 to 1; legacy omitted 0 uses the runtime default.")]
public float ConversionFraction
Field Value
ExternalSource
Read Source through IStatSource instead of the stat catalog.
[Tooltip("Read Source through IStatSource instead of the stat catalog.")]
public bool ExternalSource
Field Value
Handler
Registered custom effect handler id; empty uses the built-in method.
[Tooltip("Registered custom effect handler id; empty uses the built-in method.")]
public string Handler
Field Value
HasOutputMax
Apply Output Max after transformation; off leaves the upper output unbounded.
[Tooltip("Apply Output Max after transformation; off leaves the upper output unbounded.")]
public bool HasOutputMax
Field Value
HasOutputMin
Apply Output Min after transformation; off leaves the lower output unbounded.
[Tooltip("Apply Output Min after transformation; off leaves the lower output unbounded.")]
public bool HasOutputMin
Field Value
InputMax
Upper input reference in source units; must exceed Input Min plus Buffer for linear mapping.
[Tooltip("Upper input reference in source units; must exceed Input Min plus Buffer for linear mapping.")]
public float InputMax
Field Value
InputMin
Lower input reference in source units; Buffer shifts the effective start.
[Tooltip("Lower input reference in source units; Buffer shifts the effective start.")]
public float InputMin
Field Value
Invert
Reverse the normalized linear progress before mapping to output.
[Tooltip("Reverse the normalized linear progress before mapping to output.")]
public bool Invert
Field Value
IsMinimum
Set a lower bound rather than an upper bound for Limit effects.
[Tooltip("Set a lower bound rather than an upper bound for Limit effects.")]
public bool IsMinimum
Field Value
Lifetime
Effect lifetime boundary: owned, wave, or run; Owned is the default.
[Tooltip("Effect lifetime boundary: owned, wave, or run; Owned is the default.")]
public EffectLifetime Lifetime
Field Value
LifetimeTicks
Combat ticks until expiry; 0 = no tick expiry. Paused time does not count.
[Tooltip("Combat ticks until expiry; 0 = no tick expiry. Paused time does not count.")]
public int LifetimeTicks
Field Value
LifetimeWaves
Active wave count including acquisition wave; 0 = no wave expiry.
[Tooltip("Active wave count including acquisition wave; 0 = no wave expiry.")]
public int LifetimeWaves
Field Value
LimitMode
Limit source policy: fixed, captured once, or following the current input.
[Tooltip("Limit source policy: fixed, captured once, or following the current input.")]
public StatLimitMode LimitMode
Field Value
Linear
Map the input interval to the output interval instead of using bundle scaling.
[Tooltip("Map the input interval to the output interval instead of using bundle scaling.")]
public bool Linear
Field Value
List
Named entry/id list used by list operations. Empty is unused for ordinary stat effects.
[Tooltip("Named entry/id list used by list operations. Empty is unused for ordinary stat effects.")]
public string List
Field Value
Method
Operation applied to the target; Add is the default operation.
[Tooltip("Operation applied to the target; Add is the default operation.")]
public EffectMethod Method
Field Value
OutputMax
Upper output bound in target stat units, used when enabled or by linear mapping.
[Tooltip("Upper output bound in target stat units, used when enabled or by linear mapping.")]
public float OutputMax
Field Value
OutputMin
Lower output bound in target stat units, used when enabled or by linear mapping.
[Tooltip("Lower output bound in target stat units, used when enabled or by linear mapping.")]
public float OutputMin
Field Value
ReadLayer
Input evaluation layer: permanent, with temporary effects, or final.
[Tooltip("Input evaluation layer: permanent, with temporary effects, or final.")]
public StatReadLayer ReadLayer
Field Value
Rounding
How linked or converted input is reduced to output bundles.
[Tooltip("How linked or converted input is reduced to output bundles.")]
public EffectRounding Rounding
Field Value
Source
Input stat id, or external source key when External Source is on.
[Tooltip("Input stat id, or external source key when External Source is on.")]
public string Source
Field Value
Target
Target stat id; required for stat-changing methods.
[Tooltip("Target stat id; required for stat-changing methods.")]
public string Target
Field Value
Temporary
Evaluate this effect in the temporary layer; off uses the permanent layer.
[Tooltip("Evaluate this effect in the temporary layer; off uses the permanent layer.")]
public bool Temporary
Field Value
Unit
Positive input units per output bundle; legacy methods treat omitted 0 as the runtime default.
[Tooltip("Positive input units per output bundle; legacy methods treat omitted 0 as the runtime default.")]
public float Unit
Field Value
Methods
ToEffect()
public Effect ToEffect()
Returns
ToEffects(IEnumerable<EffectEntry>)
public static List<Effect> ToEffects(IEnumerable<EffectEntry> entries)
Parameters
entriesIEnumerable<EffectEntry>
Returns
Validate()
Returns authoring problems without repairing or changing serialized fields; an empty list means valid.
public List<string> Validate()