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

int

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

float

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

float

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

bool

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

string

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

bool

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

bool

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

float

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

float

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

bool

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

bool

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

EffectLifetime

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

int

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

int

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

StatLimitMode

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

bool

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

string

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

EffectMethod

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

float

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

float

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

StatReadLayer

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

EffectRounding

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

string

Target

Target stat id; required for stat-changing methods.

[Tooltip("Target stat id; required for stat-changing methods.")]
public string Target

Field Value

string

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

bool

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

float

Methods

ToEffect()

public Effect ToEffect()

Returns

Effect

ToEffects(IEnumerable<EffectEntry>)

public static List<Effect> ToEffects(IEnumerable<EffectEntry> entries)

Parameters

entries IEnumerable<EffectEntry>

Returns

List<Effect>

Validate()

Returns authoring problems without repairing or changing serialized fields; an empty list means valid.

public List<string> Validate()

Returns

List<string>