Class DamageDef

Namespace
TDMaker.Core.Defs
Assembly
TDMaker.Core.dll

Immutable damage roll and optional impact area.

public sealed class DamageDef
Inheritance
DamageDef
Inherited Members

Constructors

DamageDef(DamageKind, float, float, float, float, DamageFalloff, float, float)

Creates damage data.

public DamageDef(DamageKind kind, float minimum, float maximum, float radius = 0, float edgeMultiplier = 1, DamageFalloff falloff = DamageFalloff.DistanceEndpoints, float physicalPierce = 0, float magicalPierce = 0)

Parameters

kind DamageKind
minimum float
maximum float
radius float
edgeMultiplier float
falloff DamageFalloff
physicalPierce float
magicalPierce float

Properties

EdgeMultiplier

Damage multiplier at the edge, interpolated linearly from one.

public float EdgeMultiplier { get; }

Property Value

float

Falloff

Area damage evaluation mode.

public DamageFalloff Falloff { get; }

Property Value

DamageFalloff

Impact

Optional payload executed after an eligible resolved impact.

public ImpactPayloadDef Impact { get; }

Property Value

ImpactPayloadDef

Kind

The defense channel.

public DamageKind Kind { get; }

Property Value

DamageKind

LifeSteal

Optional restoration from actual health loss by this payload.

public LifeStealDef LifeSteal { get; }

Property Value

LifeStealDef

MagicalPierce

Magical reduction subtracted for this hit.

public float MagicalPierce { get; }

Property Value

float

Maximum

Maximum rolled damage.

public float Maximum { get; }

Property Value

float

Minimum

Minimum rolled damage.

public float Minimum { get; }

Property Value

float

Options

Extended damage behaviors.

public DamageOptions Options { get; }

Property Value

DamageOptions

PhysicalPierce

Physical reduction subtracted for this hit.

public float PhysicalPierce { get; }

Property Value

float

Radius

Impact radius; zero means a single target.

public float Radius { get; }

Property Value

float

Methods

WithImpact(ImpactPayloadDef)

Copies damage while preserving mitigation options and adding impact behavior.

public DamageDef WithImpact(ImpactPayloadDef impact)

Parameters

impact ImpactPayloadDef

Returns

DamageDef

WithLifeSteal(LifeStealDef)

Copies damage/options/impact data and adds life steal.

public DamageDef WithLifeSteal(LifeStealDef lifeSteal)

Parameters

lifeSteal LifeStealDef

Returns

DamageDef

WithOptions(DamageOptions)

Copies damage data with extended behavior.

public DamageDef WithOptions(DamageOptions options)

Parameters

options DamageOptions

Returns

DamageDef